From 2044ad999eb288ef9c70b52bd15d54464a0a6a3c Mon Sep 17 00:00:00 2001 From: Ben Udall Date: Fri, 4 Jan 2019 16:06:30 -0700 Subject: [PATCH] Added GCM functions --- README.md | 5 + app/ip_protection/README.md | 15 + app/ip_protection/symmetric_authentication.c | 136 + app/ip_protection/symmetric_authentication.h | 47 + docs/html/a00011.html | 63 +- docs/html/a00011.js | 2 +- docs/html/a00014.html | 153 +- docs/html/a00014.js | 8 +- docs/html/a00014_source.html | 15 +- docs/html/a00017.html | 57 +- docs/html/a00017.js | 3 +- docs/html/a00017_source.html | 109 - docs/html/a00020.html | 136 +- docs/html/a00020.js | 9 +- docs/html/a00020_source.html | 111 + docs/html/a00023.html | 214 +- docs/html/a00023.js | 15 +- docs/html/a00023_source.html | 36 +- docs/html/a00026.html | 152 +- docs/html/a00026.js | 9 +- docs/html/a00029.html | 335 ++ docs/html/a00029.js | 16 + docs/html/a00029_source.html | 131 + docs/html/a00032.html | 268 ++ docs/html/a00032.js | 10 + ...{a00026_source.html => a00032_source.html} | 32 +- docs/html/a00089_source.html | 105 - docs/html/a00092.html | 145 - docs/html/a00092.js | 11 - docs/html/a00095.html | 42 +- docs/html/a00095.js | 11 - docs/html/a00095_source.html | 18 +- docs/html/a00098.html | 148 +- docs/html/a00098.js | 41 +- docs/html/a00101.html | 2458 +-------------- docs/html/a00101.js | 482 +-- docs/html/a00101_source.html | 66 +- docs/html/a00104.html | 122 +- docs/html/a00104.js | 36 + docs/html/a00104_source.html | 105 - docs/html/a00107.html | 2451 ++++++++++++++- docs/html/a00107.js | 480 ++- docs/html/a00107_source.html | 155 + docs/html/a00110.html | 51 +- docs/html/a00110.js | 10 - docs/html/a00110_source.html | 25 +- docs/html/a00113.html | 51 +- docs/html/a00113.js | 13 +- docs/html/a00113_source.html | 111 - docs/html/a00116.html | 150 +- docs/html/a00116.js | 11 +- docs/html/a00116_source.html | 122 + docs/html/a00119.html | 99 +- docs/html/a00119.js | 9 +- docs/html/a00119_source.html | 20 +- docs/html/a00122.html | 152 +- docs/html/a00122.js | 18 +- docs/html/a00125.html | 148 +- docs/html/a00125.js | 25 +- docs/html/a00125_source.html | 68 +- docs/html/a00128.html | 206 +- docs/html/a00128.js | 52 +- docs/html/a00131.html | 131 +- docs/html/a00131.js | 38 +- docs/html/a00131_source.html | 62 +- docs/html/a00134.html | 179 +- docs/html/a00134.js | 43 +- ...{a00128_source.html => a00134_source.html} | 80 +- docs/html/a00137.html | 75 +- docs/html/a00137.js | 20 +- docs/html/a00137_source.html | 15 +- docs/html/a00140.html | 75 +- docs/html/a00140.js | 21 +- docs/html/a00143.html | 117 +- docs/html/a00143.js | 37 +- docs/html/a00143_source.html | 51 +- docs/html/a00146.html | 226 +- docs/html/a00146.js | 51 +- docs/html/a00149.html | 252 +- docs/html/a00149.js | 105 +- docs/html/a00149_source.html | 157 +- docs/html/a00152.html | 201 +- docs/html/a00152.js | 42 +- docs/html/a00155.html | 214 +- docs/html/a00155.js | 82 +- docs/html/a00155_source.html | 127 +- docs/html/a00158.html | 44 +- docs/html/a00158.js | 10 +- docs/html/a00161.html | 41 +- docs/html/a00161.js | 10 +- docs/html/a00161_source.html | 19 +- docs/html/a00164.html | 35 +- docs/html/a00164.js | 6 +- docs/html/a00167.html | 30 +- docs/html/a00167.js | 6 +- docs/html/a00167_source.html | 16 +- docs/html/a00170.html | 389 +-- docs/html/a00170.js | 9 +- docs/html/a00173.html | 453 +-- docs/html/a00173.js | 13 +- docs/html/a00173_source.html | 17 +- docs/html/a00176.html | 414 ++- docs/html/a00176.js | 21 +- docs/html/a00179.html | 795 ++--- docs/html/a00179.js | 128 +- docs/html/a00179_source.html | 152 +- docs/html/a00182.html | 145 +- docs/html/a00182.js | 30 +- docs/html/a00185.html | 414 ++- docs/html/a00185.js | 121 +- docs/html/a00185_source.html | 246 ++ docs/html/a00188.html | 39 +- docs/html/a00188.js | 7 +- docs/html/a00191.html | 29 +- docs/html/a00191.js | 4 +- docs/html/a00194.html | 45 +- docs/html/a00194.js | 9 +- docs/html/a00197.html | 38 +- docs/html/a00197.js | 7 +- docs/html/a00200.html | 453 ++- docs/html/a00200.js | 11 +- docs/html/a00203.html | 476 ++- docs/html/a00203.js | 11 +- docs/html/a00203_source.html | 130 + docs/html/a00206.html | 35 +- docs/html/a00206.js | 5 +- docs/html/a00209.html | 30 +- docs/html/a00209.js | 4 +- docs/html/a00212.html | 39 +- docs/html/a00212.js | 7 +- docs/html/a00215.html | 40 +- docs/html/a00215.js | 7 +- docs/html/a00218.html | 37 +- docs/html/a00218.js | 7 +- docs/html/a00221.html | 31 +- docs/html/a00221.js | 4 +- docs/html/a00224.html | 24 +- docs/html/a00224.js | 2 +- docs/html/a00227.html | 63 +- docs/html/a00227.js | 14 +- docs/html/a00230.html | 26 +- docs/html/a00230.js | 3 +- docs/html/a00233.html | 39 +- docs/html/a00233.js | 7 +- docs/html/a00236.html | 70 +- docs/html/a00236.js | 17 +- docs/html/a00239.html | 45 +- docs/html/a00239.js | 9 +- docs/html/a00242.html | 25 +- docs/html/a00242.js | 2 +- docs/html/a00245.html | 43 +- docs/html/a00245.js | 8 +- docs/html/a00248.html | 71 +- docs/html/a00248.js | 17 +- docs/html/a00251.html | 130 +- docs/html/a00251.js | 25 +- docs/html/a00254.html | 94 +- docs/html/a00254.js | 25 +- docs/html/a00257.html | 172 + docs/html/a00257.js | 19 + docs/html/a00260.html | 32 +- docs/html/a00260.js | 6 + docs/html/a00263.html | 21 +- docs/html/a00263.js | 2 +- docs/html/a00266.html | 60 +- docs/html/a00266.js | 12 +- docs/html/a00269.html | 40 +- docs/html/a00269.js | 8 +- docs/html/a00272.html | 131 +- docs/html/a00272.js | 24 +- docs/html/a00275.html | 101 +- docs/html/a00275.js | 28 +- ...{a00254_source.html => a00275_source.html} | 56 +- docs/html/a00278.js | 8 - docs/html/a00278_source.html | 112 - docs/html/a00281.html | 33 +- docs/html/a00281.js | 7 - ...{a00260_source.html => a00281_source.html} | 6 +- docs/html/a00284.html | 45 +- docs/html/a00284.js | 6 +- docs/html/a00287.html | 232 +- docs/html/a00287.js | 10 +- ...{a00266_source.html => a00287_source.html} | 14 +- docs/html/a00290.html | 377 +-- docs/html/a00290.js | 15 +- docs/html/a00290_source.html | 115 - docs/html/a00293.html | 225 +- docs/html/a00293.js | 6 +- ...{a00272_source.html => a00293_source.html} | 8 +- docs/html/a00296.html | 238 +- docs/html/a00296.js | 11 +- docs/html/a00299.html | 151 +- docs/html/a00299.js | 9 +- docs/html/a00299_source.html | 20 +- docs/html/{a00278.html => a00302.html} | 57 +- docs/html/a00302.js | 7 + docs/html/a00305.html | 52 +- docs/html/a00305.js | 8 +- ...{a00284_source.html => a00305_source.html} | 18 +- docs/html/a00308.html | 250 +- docs/html/a00308.js | 15 +- docs/html/a00311.html | 375 ++- docs/html/a00311.js | 17 + docs/html/a00311_source.html | 18 +- docs/html/a00314.html | 219 +- docs/html/a00314.js | 8 + docs/html/a00317.html | 278 +- docs/html/a00317.js | 21 +- ...{a00296_source.html => a00317_source.html} | 22 +- docs/html/a00320.html | 141 +- docs/html/a00320.js | 7 +- docs/html/a00320_source.html | 19 +- docs/html/a00323.html | 158 - docs/html/a00323.js | 14 - docs/html/a00326.html | 51 +- docs/html/a00326.js | 6 +- docs/html/a00329.html | 58 +- docs/html/a00329.js | 13 +- ...{a00308_source.html => a00329_source.html} | 124 +- docs/html/a00332.html | 551 +--- docs/html/a00332.js | 27 - docs/html/{a00089.html => a00332_source.html} | 19 +- docs/html/a00335.html | 56 +- docs/html/a00335.js | 5 - ...{a00314_source.html => a00335_source.html} | 6 +- docs/html/a00338.html | 100 +- docs/html/a00338.js | 19 +- docs/html/a00341.html | 74 +- docs/html/a00341.js | 13 +- docs/html/a00341_source.html | 111 + docs/html/a00344.html | 81 +- docs/html/a00344.js | 16 +- docs/html/a00347.html | 85 +- docs/html/a00347.js | 14 +- ...{a00326_source.html => a00347_source.html} | 20 +- docs/html/a00350.html | 52 +- docs/html/a00350.js | 6 +- docs/html/a00353.html | 597 +++- docs/html/a00353.js | 37 +- docs/html/a00356.html | 81 +- docs/html/a00356.js | 4 +- docs/html/a00356_source.html | 110 - docs/html/a00359.html | 114 +- docs/html/a00359.js | 25 +- docs/html/a00362.html | 81 +- docs/html/a00362.js | 16 +- docs/html/a00365.html | 90 +- docs/html/a00365.js | 19 +- ...{a00344_source.html => a00365_source.html} | 24 +- docs/html/a00368.html | 87 +- docs/html/a00368.js | 15 +- docs/html/a00371.html | 52 +- docs/html/a00371.js | 6 +- ...{a00350_source.html => a00371_source.html} | 22 +- docs/html/a00374.html | 86 +- docs/html/a00374.js | 26 +- docs/html/a00377.html | 40 +- docs/html/a00377.js | 10 +- docs/html/a00377_source.html | 22 +- docs/html/a00380.html | 99 +- docs/html/a00380.js | 26 +- docs/html/a00383.html | 531 +--- docs/html/a00383.js | 22 +- ...{a00362_source.html => a00383_source.html} | 24 +- docs/html/a00386.html | 90 +- docs/html/a00386.js | 17 +- docs/html/a00389.html | 52 +- docs/html/a00389.js | 10 +- ...{a00368_source.html => a00389_source.html} | 22 +- docs/html/a00392.html | 64 +- docs/html/a00392.js | 14 +- docs/html/a00395.html | 81 +- docs/html/a00395.js | 16 +- docs/html/a00398.html | 62 +- docs/html/a00398.js | 11 +- docs/html/a00398_source.html | 116 + docs/html/a00401.html | 70 +- docs/html/a00401.js | 16 +- docs/html/a00404.html | 525 +++- docs/html/a00404.js | 18 +- docs/html/a00407.html | 52 +- docs/html/a00407.js | 6 +- ...{a00386_source.html => a00407_source.html} | 22 +- docs/html/a00410.html | 73 +- docs/html/a00410.js | 17 +- docs/html/a00413.html | 77 +- docs/html/a00413.js | 14 +- docs/html/a00416.html | 49 +- docs/html/a00416.js | 6 +- ...{a00395_source.html => a00416_source.html} | 22 +- docs/html/a00419.html | 63 +- docs/html/a00419.js | 14 +- docs/html/a00422.html | 76 +- docs/html/a00422.js | 13 +- docs/html/a00425.html | 48 +- docs/html/a00425.js | 5 +- ...{a00404_source.html => a00425_source.html} | 16 +- docs/html/a00428.html | 62 +- docs/html/a00428.js | 14 +- docs/html/a00431.html | 76 +- docs/html/a00431.js | 14 +- docs/html/a00434.html | 49 +- docs/html/a00434.js | 6 +- ...{a00413_source.html => a00434_source.html} | 22 +- docs/html/a00437.html | 56 +- docs/html/a00437.js | 13 +- docs/html/a00440.html | 84 +- docs/html/a00440.js | 18 +- docs/html/a00440_source.html | 116 - docs/html/a00443.html | 78 +- docs/html/a00443.js | 14 +- ...{a00422_source.html => a00443_source.html} | 24 +- docs/html/a00446.html | 48 +- docs/html/a00446.js | 9 +- docs/html/a00449.html | 62 +- docs/html/a00449.js | 14 +- docs/html/a00452.html | 664 +--- docs/html/a00452.js | 19 +- ...{a00431_source.html => a00452_source.html} | 24 +- docs/html/a00455.html | 113 +- docs/html/a00455.js | 7 +- docs/html/a00458.html | 105 +- docs/html/a00458.js | 25 +- docs/html/a00461.html | 45 +- docs/html/a00461.js | 11 +- docs/html/a00461_source.html | 27 +- docs/html/a00464.html | 61 +- docs/html/a00464.js | 14 +- docs/html/a00467.html | 77 +- docs/html/a00467.js | 17 +- ...{a00446_source.html => a00467_source.html} | 18 +- docs/html/a00470.html | 52 +- docs/html/a00470.js | 6 +- docs/html/a00473.html | 647 +++- docs/html/a00473.js | 19 +- docs/html/a00476.html | 492 +-- docs/html/a00476.js | 21 +- ...{a00455_source.html => a00476_source.html} | 24 +- docs/html/a00479.html | 948 +----- docs/html/a00479.js | 53 +- docs/html/a00479_source.html | 125 - docs/html/a00482.html | 48 +- docs/html/a00482.js | 7 +- docs/html/a00482_source.html | 22 +- docs/html/a00485.html | 63 +- docs/html/a00485.js | 15 +- docs/html/a00488.html | 92 +- docs/html/a00488.js | 22 +- docs/html/a00491.html | 323 +- docs/html/a00491.js | 12 +- ...{a00470_source.html => a00491_source.html} | 20 +- docs/html/a00494.html | 461 +-- docs/html/a00494.js | 21 +- docs/html/a00497.html | 532 +++- docs/html/a00497.js | 24 +- docs/html/a00500.html | 938 +++++- docs/html/a00500.js | 51 +- docs/html/a00500_source.html | 40 +- docs/html/a00503.html | 59 +- docs/html/a00503.js | 11 +- docs/html/a00503_source.html | 111 + docs/html/a00506.html | 103 +- docs/html/a00506.js | 27 +- docs/html/a00509.html | 100 +- docs/html/a00509.js | 19 +- ...{a00488_source.html => a00509_source.html} | 26 +- docs/html/a00512.html | 353 ++- docs/html/a00512.js | 22 +- docs/html/a00515.html | 452 ++- docs/html/a00515.js | 28 +- ...{a00494_source.html => a00515_source.html} | 32 +- docs/html/a00518.html | 78 +- docs/html/a00518.js | 20 +- docs/html/a00521.html | 132 +- docs/html/a00521.js | 34 +- docs/html/a00521_source.html | 119 + docs/html/a00524.html | 259 +- docs/html/a00524.js | 62 +- docs/html/a00527.html | 93 +- docs/html/a00527.js | 21 +- ...{a00506_source.html => a00527_source.html} | 32 +- docs/html/a00530.html | 103 +- docs/html/a00530.js | 14 +- docs/html/a00530_source.html | 117 - docs/html/a00533.html | 725 +---- docs/html/a00533.js | 16 + ...{a00512_source.html => a00533_source.html} | 34 +- docs/html/a00536.html | 196 ++ docs/html/a00536.js | 13 + docs/html/a00539.html | 172 + docs/html/a00539.js | 16 + ...{a00518_source.html => a00539_source.html} | 32 +- docs/html/a00542.html | 182 ++ docs/html/a00542.js | 24 + docs/html/a00545.html | 330 ++ docs/html/a00545.js | 57 + ...{a00524_source.html => a00545_source.html} | 326 +- docs/html/a00548.html | 140 + docs/html/a00548.js | 9 + docs/html/a00551.html | 145 + docs/html/a00551.js | 9 + docs/html/a00551_source.html | 117 + docs/html/a00554.html | 770 +++++ docs/html/{a03530.html => a00905.html} | 66 +- docs/html/a00905.js | 11 + docs/html/{a03531.html => a00906.html} | 1188 +++---- docs/html/a00906.js | 431 +++ docs/html/{a03532.html => a00907.html} | 62 +- docs/html/a00907.js | 21 + docs/html/{a03533.html => a00908.html} | 132 +- docs/html/a00908.js | 72 + docs/html/{a03534.html => a00909.html} | 452 +-- docs/html/a00909.js | 195 ++ docs/html/{a03535.html => a00910.html} | 660 ++-- docs/html/a00910.js | 167 + docs/html/{a03536.html => a00911.html} | 56 +- docs/html/a00911.js | 25 + docs/html/{a03537.html => a00912.html} | 722 ++--- docs/html/a00912.js | 257 ++ docs/html/{a03538.html => a00913.html} | 366 +-- docs/html/a00913.js | 240 ++ docs/html/{a03539.html => a00914.html} | 38 +- docs/html/a00914.js | 14 + docs/html/{a03543.html => a00918.html} | 22 +- docs/html/a00918.js | 6 + docs/html/{a03547.html => a00922.html} | 24 +- docs/html/a00922.js | 10 + docs/html/{a03551.html => a00926.html} | 22 +- docs/html/a00926.js | 5 + docs/html/{a03555.html => a00930.html} | 94 +- docs/html/a00930.js | 33 + docs/html/{a03583.html => a00958.html} | 52 +- docs/html/a00958.js | 13 + docs/html/{a03587.html => a00962.html} | 20 +- docs/html/a00962.js | 9 + docs/html/{a03591.html => a00966.html} | 20 +- docs/html/a00966.js | 8 + docs/html/{a03595.html => a00970.html} | 12 +- docs/html/a00970.js | 5 + docs/html/{a03599.html => a00974.html} | 18 +- docs/html/a00974.js | 6 + docs/html/{a03603.html => a00978.html} | 66 +- docs/html/a00978.js | 21 + docs/html/{a03607.html => a00982.html} | 22 +- docs/html/a00982.js | 9 + docs/html/{a03611.html => a00986.html} | 16 +- docs/html/a00986.js | 6 + docs/html/{a03615.html => a00990.html} | 18 +- docs/html/a00990.js | 6 + docs/html/{a03619.html => a00994.html} | 36 +- docs/html/a00994.js | 7 + docs/html/{a03623.html => a00998.html} | 16 +- docs/html/a00998.js | 6 + docs/html/a01002.html | 344 ++ docs/html/a01002.js | 15 + docs/html/{a03627.html => a01006.html} | 12 +- docs/html/a01006.js | 6 + docs/html/{a03631.html => a01010.html} | 10 +- docs/html/a01010.js | 4 + docs/html/{a03635.html => a01014.html} | 10 +- docs/html/a01014.js | 4 + docs/html/{a03639.html => a01018.html} | 22 +- docs/html/a01018.js | 7 + docs/html/{a03643.html => a01022.html} | 16 +- docs/html/a01022.js | 7 + docs/html/{a03647.html => a01026.html} | 44 +- docs/html/a01026.js | 12 + docs/html/{a03651.html => a01030.html} | 18 +- docs/html/a01030.js | 6 + docs/html/{a03655.html => a01034.html} | 50 +- docs/html/a01034.js | 23 + docs/html/{a03659.html => a01038.html} | 16 +- docs/html/a01038.js | 5 + docs/html/{a03663.html => a01042.html} | 14 +- docs/html/a01042.js | 5 + docs/html/{a03667.html => a01046.html} | 20 +- docs/html/a01046.js | 7 + docs/html/{a03671.html => a01050.html} | 14 +- docs/html/a01050.js | 6 + docs/html/{a03675.html => a01054.html} | 24 +- docs/html/a01054.js | 10 + docs/html/{a03679.html => a01058.html} | 14 +- docs/html/a01058.js | 5 + docs/html/{a03683.html => a01062.html} | 10 +- docs/html/a01062.js | 4 + docs/html/{a03687.html => a01066.html} | 28 +- docs/html/a01066.js | 11 + docs/html/{a03691.html => a01070.html} | 24 +- docs/html/a01070.js | 7 + docs/html/{a03695.html => a01074.html} | 30 +- docs/html/a01074.js | 8 + docs/html/{a03699.html => a01078.html} | 16 +- docs/html/a01078.js | 7 + docs/html/{a03703.html => a01082.html} | 28 +- docs/html/a01082.js | 12 + docs/html/{a03707.html => a01086.html} | 20 +- docs/html/a01086.js | 8 + docs/html/{a03711.html => a01090.html} | 22 +- docs/html/a01090.js | 10 + docs/html/{a03715.html => a01094.html} | 42 +- docs/html/a01094.js | 11 + docs/html/{a03719.html => a01098.html} | 38 +- docs/html/a01098.js | 10 + docs/html/{a03723.html => a01102.html} | 30 +- docs/html/a01102.js | 10 + docs/html/{a03727.html => a01106.html} | 30 +- docs/html/a01106.js | 10 + docs/html/{a03731.html => a01110.html} | 28 +- docs/html/a01110.js | 9 + docs/html/{a03735.html => a01114.html} | 24 +- docs/html/a01114.js | 8 + docs/html/{a03739.html => a01118.html} | 18 +- docs/html/a01118.js | 5 + docs/html/{a03743.html => a01122.html} | 36 +- docs/html/a01122.js | 13 + docs/html/{a03747.html => a01126.html} | 26 +- docs/html/a01126.js | 7 + docs/html/{a03751.html => a01130.html} | 30 +- docs/html/a01130.js | 10 + docs/html/{a03755.html => a01134.html} | 42 +- docs/html/a01134.js | 16 + docs/html/{a03759.html => a01138.html} | 16 +- docs/html/a01138.js | 6 + docs/html/{a03763.html => a01142.html} | 20 +- docs/html/a01142.js | 10 + docs/html/{a03767.html => a01146.html} | 18 +- docs/html/a01146.js | 6 + docs/html/{a03771.html => a01150.html} | 18 +- docs/html/a01150.js | 8 + docs/html/{a03772.html => a01151.html} | 2 +- docs/html/{a03773.html => a01152.html} | 2 +- docs/html/{a03774.html => a01153.html} | 2 +- docs/html/{a03775.html => a01154.html} | 76 +- docs/html/a01155.html | 115 + docs/html/{a03776.html => a01156.html} | 2 +- docs/html/{a03787.html => a01158.html} | 4 +- docs/html/{a03784.html => a01161.html} | 4 +- docs/html/{a03781.html => a01164.html} | 4 +- docs/html/{a03778.html => a01167.html} | 4 +- docs/html/a01170.html | 105 + docs/html/a03530.js | 11 - docs/html/a03531.js | 431 --- docs/html/a03532.js | 21 - docs/html/a03533.js | 72 - docs/html/a03534.js | 195 -- docs/html/a03535.js | 165 - docs/html/a03536.js | 25 - docs/html/a03537.js | 257 -- docs/html/a03538.js | 240 -- docs/html/a03539.js | 14 - docs/html/a03543.js | 6 - docs/html/a03547.js | 10 - docs/html/a03551.js | 5 - docs/html/a03555.js | 33 - docs/html/a03583.js | 13 - docs/html/a03587.js | 9 - docs/html/a03591.js | 8 - docs/html/a03595.js | 5 - docs/html/a03599.js | 6 - docs/html/a03603.js | 21 - docs/html/a03607.js | 9 - docs/html/a03611.js | 6 - docs/html/a03615.js | 6 - docs/html/a03619.js | 7 - docs/html/a03623.js | 6 - docs/html/a03627.js | 6 - docs/html/a03631.js | 4 - docs/html/a03635.js | 4 - docs/html/a03639.js | 7 - docs/html/a03643.js | 7 - docs/html/a03647.js | 12 - docs/html/a03651.js | 6 - docs/html/a03655.js | 23 - docs/html/a03659.js | 5 - docs/html/a03663.js | 5 - docs/html/a03667.js | 7 - docs/html/a03671.js | 6 - docs/html/a03675.js | 10 - docs/html/a03679.js | 5 - docs/html/a03683.js | 4 - docs/html/a03687.js | 11 - docs/html/a03691.js | 7 - docs/html/a03695.js | 8 - docs/html/a03699.js | 7 - docs/html/a03703.js | 12 - docs/html/a03707.js | 8 - docs/html/a03711.js | 10 - docs/html/a03715.js | 11 - docs/html/a03719.js | 10 - docs/html/a03723.js | 10 - docs/html/a03727.js | 10 - docs/html/a03731.js | 9 - docs/html/a03735.js | 8 - docs/html/a03739.js | 5 - docs/html/a03743.js | 13 - docs/html/a03747.js | 7 - docs/html/a03751.js | 10 - docs/html/a03755.js | 16 - docs/html/a03759.js | 6 - docs/html/a03763.js | 10 - docs/html/a03767.js | 6 - docs/html/a03771.js | 8 - docs/html/annotated.html | 105 +- docs/html/annotated_dup.js | 105 +- docs/html/classes.html | 37 +- .../dir_0680cb466dcc0d680630f5d267d4b7d1.html | 24 +- .../dir_0f8c318486f9c8f97febe2dc0542d496.html | 8 +- .../dir_26647cdac0a1f8c717d44b4eb3b4ec89.html | 58 +- .../dir_39966be8f8e069f6fa92c98611834f6b.html | 16 +- .../dir_695be77052103537ae3c41f50bd7e0cc.html | 32 +- .../dir_87abda79916a436a3f9fdf465608c5f5.html | 115 + .../dir_97aefd0d527b934f1d99a682da8fe6a9.html | 60 +- .../dir_b2187fb9aff39e17c00391b7def58804.html | 8 +- .../dir_d422163b96683743ed3963d4aac17747.html | 2 + .../dir_e870e4dac26de7990352b1cb7547818f.html | 274 +- .../dir_f987fb6e7cf85d8e48d70ffe78b3ebc1.html | 123 +- docs/html/files.html | 311 +- docs/html/files_dup.js | 311 +- docs/html/functions.html | 2 +- docs/html/functions_a.html | 31 +- docs/html/functions_b.html | 34 +- docs/html/functions_c.html | 57 +- docs/html/functions_d.html | 23 +- docs/html/functions_dup.js | 2 + docs/html/functions_e.html | 13 +- docs/html/functions_f.html | 2 +- docs/html/functions_g.html | 6 +- docs/html/functions_h.html | 45 +- docs/html/functions_i.html | 43 +- docs/html/functions_j.html | 107 + docs/html/functions_k.html | 38 +- docs/html/functions_m.html | 46 +- docs/html/functions_n.html | 8 +- docs/html/functions_o.html | 24 +- docs/html/functions_p.html | 52 +- docs/html/functions_r.html | 18 +- docs/html/functions_s.html | 72 +- docs/html/functions_t.html | 70 +- docs/html/functions_u.html | 8 +- docs/html/functions_v.html | 10 +- docs/html/functions_vars.html | 2 +- docs/html/functions_vars.js | 2 + docs/html/functions_vars_a.html | 31 +- docs/html/functions_vars_b.html | 34 +- docs/html/functions_vars_c.html | 57 +- docs/html/functions_vars_d.html | 23 +- docs/html/functions_vars_e.html | 13 +- docs/html/functions_vars_f.html | 2 +- docs/html/functions_vars_g.html | 6 +- docs/html/functions_vars_h.html | 45 +- docs/html/functions_vars_i.html | 43 +- docs/html/functions_vars_j.html | 107 + docs/html/functions_vars_k.html | 38 +- docs/html/functions_vars_m.html | 46 +- docs/html/functions_vars_n.html | 8 +- docs/html/functions_vars_o.html | 24 +- docs/html/functions_vars_p.html | 52 +- docs/html/functions_vars_r.html | 18 +- docs/html/functions_vars_s.html | 72 +- docs/html/functions_vars_t.html | 70 +- docs/html/functions_vars_u.html | 8 +- docs/html/functions_vars_v.html | 10 +- docs/html/functions_vars_w.html | 8 +- docs/html/functions_vars_y.html | 107 + docs/html/functions_vars_z.html | 8 +- docs/html/functions_w.html | 8 +- docs/html/functions_y.html | 107 + docs/html/functions_z.html | 8 +- docs/html/globals.html | 24 +- docs/html/globals_a.html | 1634 +++++----- docs/html/globals_b.html | 26 +- docs/html/globals_c.html | 154 +- docs/html/globals_d.html | 90 +- docs/html/globals_defs.html | 4 +- docs/html/globals_defs_a.html | 301 +- docs/html/globals_defs_b.html | 16 +- docs/html/globals_defs_c.html | 80 +- docs/html/globals_defs_d.html | 46 +- docs/html/globals_defs_e.html | 34 +- docs/html/globals_defs_f.html | 2 +- docs/html/globals_defs_g.html | 58 +- docs/html/globals_defs_h.html | 40 +- docs/html/globals_defs_i.html | 74 +- docs/html/globals_defs_k.html | 88 +- docs/html/globals_defs_l.html | 22 +- docs/html/globals_defs_m.html | 82 +- docs/html/globals_defs_n.html | 52 +- docs/html/globals_defs_o.html | 2 +- docs/html/globals_defs_p.html | 34 +- docs/html/globals_defs_r.html | 50 +- docs/html/globals_defs_s.html | 166 +- docs/html/globals_defs_t.html | 20 +- docs/html/globals_defs_u.html | 28 +- docs/html/globals_defs_v.html | 58 +- docs/html/globals_defs_w.html | 24 +- docs/html/globals_defs_z.html | 2 +- docs/html/globals_e.html | 40 +- docs/html/globals_enum.html | 20 +- docs/html/globals_eval.html | 168 +- docs/html/globals_f.html | 8 +- docs/html/globals_func.html | 6 +- docs/html/globals_func_a.html | 1084 +++---- docs/html/globals_func_b.html | 8 +- docs/html/globals_func_c.html | 28 +- docs/html/globals_func_d.html | 14 +- docs/html/globals_func_e.html | 2 +- docs/html/globals_func_h.html | 178 +- docs/html/globals_func_i.html | 104 +- docs/html/globals_func_k.html | 32 +- docs/html/globals_func_n.html | 8 +- docs/html/globals_func_o.html | 2 +- docs/html/globals_func_p.html | 4 +- docs/html/globals_func_r.html | 4 +- docs/html/globals_func_s.html | 90 +- docs/html/globals_func_t.html | 2 +- docs/html/globals_g.html | 58 +- docs/html/globals_h.html | 224 +- docs/html/globals_i.html | 212 +- docs/html/globals_k.html | 120 +- docs/html/globals_l.html | 32 +- docs/html/globals_m.html | 88 +- docs/html/globals_n.html | 64 +- docs/html/globals_o.html | 6 +- docs/html/globals_p.html | 50 +- docs/html/globals_r.html | 56 +- docs/html/globals_s.html | 320 +- docs/html/globals_t.html | 28 +- docs/html/globals_type.html | 125 +- docs/html/globals_u.html | 28 +- docs/html/globals_v.html | 58 +- docs/html/globals_vars.html | 182 +- docs/html/globals_w.html | 30 +- docs/html/globals_z.html | 2 +- docs/html/index.html | 53 +- docs/html/menudata.js | 4 + docs/html/modules.html | 20 +- docs/html/modules.js | 20 +- docs/html/navtreedata.js | 39 +- docs/html/navtreeindex0.js | 500 +-- docs/html/navtreeindex1.js | 500 +-- docs/html/navtreeindex10.js | 500 +-- docs/html/navtreeindex11.js | 500 +-- docs/html/navtreeindex12.js | 500 +-- docs/html/navtreeindex13.js | 500 +-- docs/html/navtreeindex14.js | 285 +- docs/html/navtreeindex2.js | 500 +-- docs/html/navtreeindex3.js | 500 +-- docs/html/navtreeindex4.js | 500 +-- docs/html/navtreeindex5.js | 500 +-- docs/html/navtreeindex6.js | 500 +-- docs/html/navtreeindex7.js | 500 +-- docs/html/navtreeindex8.js | 500 +-- docs/html/navtreeindex9.js | 500 +-- docs/html/pages.html | 11 +- docs/html/search/all_0.js | 16 +- docs/html/search/all_1.js | 1304 ++++---- docs/html/search/all_10.js | 72 +- docs/html/search/all_11.js | 56 +- docs/html/search/all_12.js | 367 +-- docs/html/search/all_13.js | 54 +- docs/html/search/all_14.js | 32 +- docs/html/search/all_15.js | 68 +- docs/html/search/all_16.js | 36 +- docs/html/search/all_17.js | 4 +- docs/html/search/all_18.html | 30 + docs/html/search/all_18.js | 6 + docs/html/search/all_2.js | 44 +- docs/html/search/all_3.js | 186 +- docs/html/search/all_4.js | 100 +- docs/html/search/all_5.js | 51 +- docs/html/search/all_6.js | 10 +- docs/html/search/all_7.js | 62 +- docs/html/search/all_8.js | 282 +- docs/html/search/all_9.js | 188 +- docs/html/search/all_a.js | 3 +- docs/html/search/all_b.js | 128 +- docs/html/search/all_c.js | 34 +- docs/html/search/all_d.js | 80 +- docs/html/search/all_e.js | 68 +- docs/html/search/all_f.js | 16 +- docs/html/search/classes_0.js | 83 +- docs/html/search/classes_1.js | 4 +- docs/html/search/classes_2.js | 2 +- docs/html/search/classes_3.js | 4 +- docs/html/search/classes_4.js | 2 +- docs/html/search/classes_5.js | 2 +- docs/html/search/classes_6.js | 8 +- docs/html/search/defines_0.js | 4 +- docs/html/search/defines_1.js | 20 +- docs/html/search/defines_10.js | 22 +- docs/html/search/defines_11.js | 2 +- docs/html/search/defines_2.js | 14 +- docs/html/search/defines_3.js | 8 +- docs/html/search/defines_4.js | 12 +- docs/html/search/defines_5.js | 2 +- docs/html/search/defines_6.js | 38 +- docs/html/search/defines_7.js | 4 +- docs/html/search/defines_8.js | 8 +- docs/html/search/defines_9.js | 2 +- docs/html/search/defines_a.js | 10 +- docs/html/search/defines_b.js | 6 +- docs/html/search/defines_c.js | 54 +- docs/html/search/defines_d.js | 2 +- docs/html/search/defines_e.js | 24 +- docs/html/search/defines_f.js | 58 +- docs/html/search/enums_0.js | 16 +- docs/html/search/enums_1.js | 2 +- docs/html/search/enums_2.js | 2 +- docs/html/search/enumvalues_0.js | 96 +- docs/html/search/enumvalues_1.js | 4 +- docs/html/search/enumvalues_2.js | 18 +- docs/html/search/enumvalues_3.js | 4 +- docs/html/search/enumvalues_4.js | 46 +- docs/html/search/files_0.js | 153 +- docs/html/search/files_1.js | 6 +- docs/html/search/files_2.js | 106 +- docs/html/search/files_3.js | 6 +- docs/html/search/files_4.js | 6 +- docs/html/search/files_5.js | 4 +- docs/html/search/files_7.js | 36 +- docs/html/search/functions_0.js | 4 +- docs/html/search/functions_1.js | 550 ++-- docs/html/search/functions_2.js | 4 +- docs/html/search/functions_3.js | 16 +- docs/html/search/functions_4.js | 10 +- docs/html/search/functions_5.js | 2 +- docs/html/search/functions_6.js | 106 +- docs/html/search/functions_7.js | 58 +- docs/html/search/functions_8.js | 24 +- docs/html/search/functions_9.js | 6 +- docs/html/search/functions_a.js | 2 +- docs/html/search/functions_b.js | 2 +- docs/html/search/functions_c.js | 4 +- docs/html/search/functions_d.js | 59 +- docs/html/search/functions_e.js | 2 +- docs/html/search/groups_0.js | 6 +- docs/html/search/groups_1.js | 2 +- docs/html/search/groups_2.js | 4 +- docs/html/search/groups_3.js | 4 +- docs/html/search/groups_4.js | 2 +- docs/html/search/groups_5.js | 2 +- docs/html/search/pages_0.js | 2 +- docs/html/search/pages_1.js | 2 +- docs/html/search/pages_2.js | 2 +- docs/html/search/pages_3.js | 2 +- docs/html/search/pages_4.html | 30 + docs/html/search/pages_4.js | 4 + docs/html/search/searchdata.js | 6 +- docs/html/search/typedefs_0.js | 73 +- docs/html/search/typedefs_1.js | 2 +- docs/html/search/typedefs_2.js | 4 +- docs/html/search/typedefs_3.js | 2 +- docs/html/search/variables_0.js | 8 +- docs/html/search/variables_1.js | 42 +- docs/html/search/variables_10.js | 26 +- docs/html/search/variables_11.js | 35 +- docs/html/search/variables_12.js | 50 +- docs/html/search/variables_13.js | 26 +- docs/html/search/variables_14.js | 9 +- docs/html/search/variables_15.js | 11 +- docs/html/search/variables_16.js | 8 +- docs/html/search/variables_17.html | 30 + docs/html/search/variables_17.js | 4 + docs/html/search/variables_18.html | 30 + docs/html/search/variables_18.js | 5 + docs/html/search/variables_2.js | 20 +- docs/html/search/variables_3.js | 72 +- docs/html/search/variables_4.js | 28 +- docs/html/search/variables_5.js | 15 +- docs/html/search/variables_6.js | 8 +- docs/html/search/variables_7.js | 6 +- docs/html/search/variables_8.js | 24 +- docs/html/search/variables_9.js | 49 +- docs/html/search/variables_a.js | 6 +- docs/html/search/variables_b.js | 9 +- docs/html/search/variables_c.js | 18 +- docs/html/search/variables_d.js | 19 +- docs/html/search/variables_e.js | 11 +- docs/html/search/variables_f.js | 23 +- lib/atca_compiler.h | 30 +- lib/atcacert/atcacert_pem.h | 8 + lib/basic/atca_basic.c | 2 +- lib/basic/atca_basic.h | 10 +- lib/basic/atca_basic_aes.c | 459 +-- lib/basic/atca_basic_aes_cbc.c | 144 + lib/basic/atca_basic_aes_cmac.c | 218 ++ lib/basic/atca_basic_aes_ctr.c | 229 ++ lib/basic/atca_basic_aes_gcm.c | 577 ++++ lib/basic/atca_basic_aes_gcm.h | 61 + lib/crypto/hashes/sha1_routines.h | 8 + lib/hal/swi_uart_start.c | 8 +- lib/jwt/atca_jwt.h | 7 + python/README.md | 2 +- python/cryptoauthlib/atcab.py | 180 +- python/tests/cryptoauthlib_mock.py | 142 + python/tests/test_atcab.py | 57 + test/aes_gcm_cavp_vectors/gcmDecrypt128.req | 2781 +++++++++++++++++ .../gcmEncryptExtIV128.req | 2406 ++++++++++++++ test/atca_test.c | 28 + test/atca_test.h | 7 + test/atca_tests_aes.c | 306 +- test/atca_tests_aes_cbc.c | 117 + test/atca_tests_aes_cmac.c | 111 + test/atca_tests_aes_ctr.c | 180 ++ test/atca_tests_aes_gcm.c | 922 ++++++ test/atca_tests_counter.c | 10 +- test/atca_tests_sha.c | 2 +- 907 files changed, 47026 insertions(+), 35656 deletions(-) create mode 100644 app/ip_protection/README.md create mode 100644 app/ip_protection/symmetric_authentication.c create mode 100644 app/ip_protection/symmetric_authentication.h delete mode 100644 docs/html/a00017_source.html create mode 100644 docs/html/a00020_source.html create mode 100644 docs/html/a00029.html create mode 100644 docs/html/a00029.js create mode 100644 docs/html/a00029_source.html create mode 100644 docs/html/a00032.html create mode 100644 docs/html/a00032.js rename docs/html/{a00026_source.html => a00032_source.html} (71%) delete mode 100644 docs/html/a00089_source.html delete mode 100644 docs/html/a00092.html delete mode 100644 docs/html/a00092.js delete mode 100644 docs/html/a00095.js create mode 100644 docs/html/a00104.js delete mode 100644 docs/html/a00104_source.html create mode 100644 docs/html/a00107_source.html delete mode 100644 docs/html/a00110.js delete mode 100644 docs/html/a00113_source.html create mode 100644 docs/html/a00116_source.html rename docs/html/{a00128_source.html => a00134_source.html} (69%) create mode 100644 docs/html/a00185_source.html create mode 100644 docs/html/a00203_source.html create mode 100644 docs/html/a00257.html create mode 100644 docs/html/a00257.js create mode 100644 docs/html/a00260.js rename docs/html/{a00254_source.html => a00275_source.html} (76%) delete mode 100644 docs/html/a00278.js delete mode 100644 docs/html/a00278_source.html delete mode 100644 docs/html/a00281.js rename docs/html/{a00260_source.html => a00281_source.html} (94%) rename docs/html/{a00266_source.html => a00287_source.html} (86%) delete mode 100644 docs/html/a00290_source.html rename docs/html/{a00272_source.html => a00293_source.html} (92%) rename docs/html/{a00278.html => a00302.html} (54%) create mode 100644 docs/html/a00302.js rename docs/html/{a00284_source.html => a00305_source.html} (76%) create mode 100644 docs/html/a00311.js create mode 100644 docs/html/a00314.js rename docs/html/{a00296_source.html => a00317_source.html} (77%) delete mode 100644 docs/html/a00323.html delete mode 100644 docs/html/a00323.js rename docs/html/{a00308_source.html => a00329_source.html} (65%) delete mode 100644 docs/html/a00332.js rename docs/html/{a00089.html => a00332_source.html} (74%) delete mode 100644 docs/html/a00335.js rename docs/html/{a00314_source.html => a00335_source.html} (96%) create mode 100644 docs/html/a00341_source.html rename docs/html/{a00326_source.html => a00347_source.html} (75%) delete mode 100644 docs/html/a00356_source.html rename docs/html/{a00344_source.html => a00365_source.html} (75%) rename docs/html/{a00350_source.html => a00371_source.html} (75%) rename docs/html/{a00362_source.html => a00383_source.html} (71%) rename docs/html/{a00368_source.html => a00389_source.html} (75%) create mode 100644 docs/html/a00398_source.html rename docs/html/{a00386_source.html => a00407_source.html} (75%) rename docs/html/{a00395_source.html => a00416_source.html} (75%) rename docs/html/{a00404_source.html => a00425_source.html} (78%) rename docs/html/{a00413_source.html => a00434_source.html} (76%) delete mode 100644 docs/html/a00440_source.html rename docs/html/{a00422_source.html => a00443_source.html} (75%) rename docs/html/{a00431_source.html => a00452_source.html} (74%) rename docs/html/{a00446_source.html => a00467_source.html} (81%) rename docs/html/{a00455_source.html => a00476_source.html} (75%) delete mode 100644 docs/html/a00479_source.html rename docs/html/{a00470_source.html => a00491_source.html} (76%) create mode 100644 docs/html/a00503_source.html rename docs/html/{a00488_source.html => a00509_source.html} (74%) rename docs/html/{a00494_source.html => a00515_source.html} (77%) create mode 100644 docs/html/a00521_source.html rename docs/html/{a00506_source.html => a00527_source.html} (73%) delete mode 100644 docs/html/a00530_source.html create mode 100644 docs/html/a00533.js rename docs/html/{a00512_source.html => a00533_source.html} (73%) create mode 100644 docs/html/a00536.html create mode 100644 docs/html/a00536.js create mode 100644 docs/html/a00539.html create mode 100644 docs/html/a00539.js rename docs/html/{a00518_source.html => a00539_source.html} (72%) create mode 100644 docs/html/a00542.html create mode 100644 docs/html/a00542.js create mode 100644 docs/html/a00545.html create mode 100644 docs/html/a00545.js rename docs/html/{a00524_source.html => a00545_source.html} (62%) create mode 100644 docs/html/a00548.html create mode 100644 docs/html/a00548.js create mode 100644 docs/html/a00551.html create mode 100644 docs/html/a00551.js create mode 100644 docs/html/a00551_source.html create mode 100644 docs/html/a00554.html rename docs/html/{a03530.html => a00905.html} (74%) create mode 100644 docs/html/a00905.js rename docs/html/{a03531.html => a00906.html} (90%) create mode 100644 docs/html/a00906.js rename docs/html/{a03532.html => a00907.html} (85%) create mode 100644 docs/html/a00907.js rename docs/html/{a03533.html => a00908.html} (84%) create mode 100644 docs/html/a00908.js rename docs/html/{a03534.html => a00909.html} (91%) create mode 100644 docs/html/a00909.js rename docs/html/{a03535.html => a00910.html} (90%) create mode 100644 docs/html/a00910.js rename docs/html/{a03536.html => a00911.html} (91%) create mode 100644 docs/html/a00911.js rename docs/html/{a03537.html => a00912.html} (89%) create mode 100644 docs/html/a00912.js rename docs/html/{a03538.html => a00913.html} (86%) create mode 100644 docs/html/a00913.js rename docs/html/{a03539.html => a00914.html} (90%) create mode 100644 docs/html/a00914.js rename docs/html/{a03543.html => a00918.html} (89%) create mode 100644 docs/html/a00918.js rename docs/html/{a03547.html => a00922.html} (92%) create mode 100644 docs/html/a00922.js rename docs/html/{a03551.html => a00926.html} (86%) create mode 100644 docs/html/a00926.js rename docs/html/{a03555.html => a00930.html} (87%) create mode 100644 docs/html/a00930.js rename docs/html/{a03583.html => a00958.html} (78%) create mode 100644 docs/html/a00958.js rename docs/html/{a03587.html => a00962.html} (93%) create mode 100644 docs/html/a00962.js rename docs/html/{a03591.html => a00966.html} (92%) create mode 100644 docs/html/a00966.js rename docs/html/{a03595.html => a00970.html} (94%) create mode 100644 docs/html/a00970.js rename docs/html/{a03599.html => a00974.html} (89%) create mode 100644 docs/html/a00974.js rename docs/html/{a03603.html => a00978.html} (86%) create mode 100644 docs/html/a00978.js rename docs/html/{a03607.html => a00982.html} (93%) create mode 100644 docs/html/a00982.js rename docs/html/{a03611.html => a00986.html} (92%) create mode 100644 docs/html/a00986.js rename docs/html/{a03615.html => a00990.html} (90%) create mode 100644 docs/html/a00990.js rename docs/html/{a03619.html => a00994.html} (84%) create mode 100644 docs/html/a00994.js rename docs/html/{a03623.html => a00998.html} (92%) create mode 100644 docs/html/a00998.js create mode 100644 docs/html/a01002.html create mode 100644 docs/html/a01002.js rename docs/html/{a03627.html => a01006.html} (94%) create mode 100644 docs/html/a01006.js rename docs/html/{a03631.html => a01010.html} (94%) create mode 100644 docs/html/a01010.js rename docs/html/{a03635.html => a01014.html} (94%) create mode 100644 docs/html/a01014.js rename docs/html/{a03639.html => a01018.html} (84%) create mode 100644 docs/html/a01018.js rename docs/html/{a03643.html => a01022.html} (93%) create mode 100644 docs/html/a01022.js rename docs/html/{a03647.html => a01026.html} (80%) create mode 100644 docs/html/a01026.js rename docs/html/{a03651.html => a01030.html} (86%) create mode 100644 docs/html/a01030.js rename docs/html/{a03655.html => a01034.html} (91%) create mode 100644 docs/html/a01034.js rename docs/html/{a03659.html => a01038.html} (88%) create mode 100644 docs/html/a01038.js rename docs/html/{a03663.html => a01042.html} (89%) create mode 100644 docs/html/a01042.js rename docs/html/{a03667.html => a01046.html} (89%) create mode 100644 docs/html/a01046.js rename docs/html/{a03671.html => a01050.html} (93%) create mode 100644 docs/html/a01050.js rename docs/html/{a03675.html => a01054.html} (92%) create mode 100644 docs/html/a01054.js rename docs/html/{a03679.html => a01058.html} (90%) create mode 100644 docs/html/a01058.js rename docs/html/{a03683.html => a01062.html} (92%) create mode 100644 docs/html/a01062.js rename docs/html/{a03687.html => a01066.html} (93%) create mode 100644 docs/html/a01066.js rename docs/html/{a03691.html => a01070.html} (89%) create mode 100644 docs/html/a01070.js rename docs/html/{a03695.html => a01074.html} (87%) create mode 100644 docs/html/a01074.js rename docs/html/{a03699.html => a01078.html} (94%) create mode 100644 docs/html/a01078.js rename docs/html/{a03703.html => a01082.html} (93%) create mode 100644 docs/html/a01082.js rename docs/html/{a03707.html => a01086.html} (93%) create mode 100644 docs/html/a01086.js rename docs/html/{a03711.html => a01090.html} (93%) create mode 100644 docs/html/a01090.js rename docs/html/{a03715.html => a01094.html} (85%) create mode 100644 docs/html/a01094.js rename docs/html/{a03719.html => a01098.html} (85%) create mode 100644 docs/html/a01098.js rename docs/html/{a03723.html => a01102.html} (91%) create mode 100644 docs/html/a01102.js rename docs/html/{a03727.html => a01106.html} (90%) create mode 100644 docs/html/a01106.js rename docs/html/{a03731.html => a01110.html} (91%) create mode 100644 docs/html/a01110.js rename docs/html/{a03735.html => a01114.html} (92%) create mode 100644 docs/html/a01114.js rename docs/html/{a03739.html => a01118.html} (88%) create mode 100644 docs/html/a01118.js rename docs/html/{a03743.html => a01122.html} (91%) create mode 100644 docs/html/a01122.js rename docs/html/{a03747.html => a01126.html} (87%) create mode 100644 docs/html/a01126.js rename docs/html/{a03751.html => a01130.html} (92%) create mode 100644 docs/html/a01130.js rename docs/html/{a03755.html => a01134.html} (92%) create mode 100644 docs/html/a01134.js rename docs/html/{a03759.html => a01138.html} (93%) create mode 100644 docs/html/a01138.js rename docs/html/{a03763.html => a01142.html} (93%) create mode 100644 docs/html/a01142.js rename docs/html/{a03767.html => a01146.html} (87%) create mode 100644 docs/html/a01146.js rename docs/html/{a03771.html => a01150.html} (92%) create mode 100644 docs/html/a01150.js rename docs/html/{a03772.html => a01151.html} (98%) rename docs/html/{a03773.html => a01152.html} (98%) rename docs/html/{a03774.html => a01153.html} (98%) rename docs/html/{a03775.html => a01154.html} (89%) create mode 100644 docs/html/a01155.html rename docs/html/{a03776.html => a01156.html} (98%) rename docs/html/{a03787.html => a01158.html} (96%) rename docs/html/{a03784.html => a01161.html} (96%) rename docs/html/{a03781.html => a01164.html} (96%) rename docs/html/{a03778.html => a01167.html} (96%) create mode 100644 docs/html/a01170.html delete mode 100644 docs/html/a03530.js delete mode 100644 docs/html/a03531.js delete mode 100644 docs/html/a03532.js delete mode 100644 docs/html/a03533.js delete mode 100644 docs/html/a03534.js delete mode 100644 docs/html/a03535.js delete mode 100644 docs/html/a03536.js delete mode 100644 docs/html/a03537.js delete mode 100644 docs/html/a03538.js delete mode 100644 docs/html/a03539.js delete mode 100644 docs/html/a03543.js delete mode 100644 docs/html/a03547.js delete mode 100644 docs/html/a03551.js delete mode 100644 docs/html/a03555.js delete mode 100644 docs/html/a03583.js delete mode 100644 docs/html/a03587.js delete mode 100644 docs/html/a03591.js delete mode 100644 docs/html/a03595.js delete mode 100644 docs/html/a03599.js delete mode 100644 docs/html/a03603.js delete mode 100644 docs/html/a03607.js delete mode 100644 docs/html/a03611.js delete mode 100644 docs/html/a03615.js delete mode 100644 docs/html/a03619.js delete mode 100644 docs/html/a03623.js delete mode 100644 docs/html/a03627.js delete mode 100644 docs/html/a03631.js delete mode 100644 docs/html/a03635.js delete mode 100644 docs/html/a03639.js delete mode 100644 docs/html/a03643.js delete mode 100644 docs/html/a03647.js delete mode 100644 docs/html/a03651.js delete mode 100644 docs/html/a03655.js delete mode 100644 docs/html/a03659.js delete mode 100644 docs/html/a03663.js delete mode 100644 docs/html/a03667.js delete mode 100644 docs/html/a03671.js delete mode 100644 docs/html/a03675.js delete mode 100644 docs/html/a03679.js delete mode 100644 docs/html/a03683.js delete mode 100644 docs/html/a03687.js delete mode 100644 docs/html/a03691.js delete mode 100644 docs/html/a03695.js delete mode 100644 docs/html/a03699.js delete mode 100644 docs/html/a03703.js delete mode 100644 docs/html/a03707.js delete mode 100644 docs/html/a03711.js delete mode 100644 docs/html/a03715.js delete mode 100644 docs/html/a03719.js delete mode 100644 docs/html/a03723.js delete mode 100644 docs/html/a03727.js delete mode 100644 docs/html/a03731.js delete mode 100644 docs/html/a03735.js delete mode 100644 docs/html/a03739.js delete mode 100644 docs/html/a03743.js delete mode 100644 docs/html/a03747.js delete mode 100644 docs/html/a03751.js delete mode 100644 docs/html/a03755.js delete mode 100644 docs/html/a03759.js delete mode 100644 docs/html/a03763.js delete mode 100644 docs/html/a03767.js delete mode 100644 docs/html/a03771.js create mode 100644 docs/html/dir_87abda79916a436a3f9fdf465608c5f5.html create mode 100644 docs/html/functions_j.html create mode 100644 docs/html/functions_vars_j.html create mode 100644 docs/html/functions_vars_y.html create mode 100644 docs/html/functions_y.html create mode 100644 docs/html/search/all_18.html create mode 100644 docs/html/search/all_18.js create mode 100644 docs/html/search/pages_4.html create mode 100644 docs/html/search/pages_4.js create mode 100644 docs/html/search/variables_17.html create mode 100644 docs/html/search/variables_17.js create mode 100644 docs/html/search/variables_18.html create mode 100644 docs/html/search/variables_18.js create mode 100644 lib/basic/atca_basic_aes_cbc.c create mode 100644 lib/basic/atca_basic_aes_cmac.c create mode 100644 lib/basic/atca_basic_aes_ctr.c create mode 100644 lib/basic/atca_basic_aes_gcm.c create mode 100644 lib/basic/atca_basic_aes_gcm.h create mode 100644 test/aes_gcm_cavp_vectors/gcmDecrypt128.req create mode 100644 test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.req create mode 100644 test/atca_tests_aes_cbc.c create mode 100644 test/atca_tests_aes_cmac.c create mode 100644 test/atca_tests_aes_ctr.c create mode 100644 test/atca_tests_aes_gcm.c diff --git a/README.md b/README.md index 380fc25fd..46b518483 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,11 @@ Examples Release notes ----------- +01/04/2019 + - Added GCM functions + - Split AES modes into separate files + - Bug fix in SWI START driver + 10/25/2018 - Added basic certificate functions to the python wrapper. - Added Espressif ESP32 I2C driver. diff --git a/app/ip_protection/README.md b/app/ip_protection/README.md new file mode 100644 index 000000000..7579a8474 --- /dev/null +++ b/app/ip_protection/README.md @@ -0,0 +1,15 @@ +IP Protection with Symmetric Authentication +------------------------ +The IP protection can be easily integrated to the existing projects.The user project should include symmetric_authentication.c & symmetric_authentication.h files which contains the api +- **symmetric_authenticate()** - For Performing the authentication between host & device. + +User Considerations +----------- +- The user should take care on how the master key should be stored on the MCU side. +- The api's in the file doesn't do the provisioning of the chip and user should take care of the provisioning. + +With the provisioned cryptoauthentication device and after doing the cryptoauthlib initialisation,user should only be calling the function symmetric_authenticate() with its necessary parameters for the authentication. The returned authentication status should be used in the application. + +Examples +----------- +For more information about IP protection and its example project refer [Microchip github](https://github.com/MicrochipTech) diff --git a/app/ip_protection/symmetric_authentication.c b/app/ip_protection/symmetric_authentication.c new file mode 100644 index 000000000..608c86c55 --- /dev/null +++ b/app/ip_protection/symmetric_authentication.c @@ -0,0 +1,136 @@ +/** + * \file + * \brief Contains API for performing the symmetric Authentication between the Host and the device + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ + + +#include "cryptoauthlib.h" +#include "host/atca_host.h" +#include "symmetric_authentication.h" + + + + +/** \brief Function which does the authentication between the host and device. + * \param[in] slot The slot number used for the symmetric authentication. + * \param[in] master_key The master key used for the calculating the symmetric key. + * \param[in] rand_number The 20 byte rand_number from the host. + * \return ATCA_SUCCESS on successful authentication, otherwise an error code. + */ + +ATCA_STATUS symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number) +{ + ATCA_STATUS status; + uint8_t sn[ATCA_SERIAL_NUM_SIZE]; + uint8_t symmetric_key[ATCA_KEY_SIZE]; + atca_temp_key_t temp_key, temp_key_derive; + uint8_t rand_out[RANDOM_NUM_SIZE]; + atca_nonce_in_out_t nonce_params; + atca_mac_in_out_t mac_params; + uint8_t host_mac[MAC_SIZE]; + uint8_t device_mac[MAC_SIZE]; + struct atca_derive_key_in_out derivekey_params; + + do + { + // Read serial number for host-side MAC calculations + if ((status = atcab_read_serial_number(sn)) != ATCA_SUCCESS) + { + break; + } + + // Setup nonce command + memset(&temp_key, 0, sizeof(temp_key)); + memset(&nonce_params, 0, sizeof(nonce_params)); + nonce_params.mode = NONCE_MODE_SEED_UPDATE; + nonce_params.zero = 0; + nonce_params.num_in = rand_number; + nonce_params.rand_out = rand_out; + nonce_params.temp_key = &temp_key; + + // Create random nonce + if ((status = atcab_nonce_rand(nonce_params.num_in, rand_out)) != ATCA_SUCCESS) + { + break; + } + + // Calculate nonce in host + if ((status = atcah_nonce(&nonce_params)) != ATCA_SUCCESS) + { + break; + } + + memset(&temp_key_derive, 0, sizeof(temp_key_derive)); + temp_key_derive.valid = 1; + memcpy(temp_key_derive.value, sn, sizeof(sn)); // 32 bytes TempKey ( SN[0:8] with padded 23 zeros used in symmetric key calculation) + + // Parameters used deriving the symmetric key + derivekey_params.mode = 0; + derivekey_params.target_key_id = slot; + derivekey_params.parent_key = master_key; + derivekey_params.sn = sn; + derivekey_params.target_key = symmetric_key; + derivekey_params.temp_key = &temp_key_derive; + + // calculate the symmetric_diversified_key + if ((status = atcah_derive_key(&derivekey_params)) != ATCA_SUCCESS) + { + break; + } + + // Setup MAC command + memset(&mac_params, 0, sizeof(mac_params)); + mac_params.mode = MAC_MODE_BLOCK2_TEMPKEY | MAC_MODE_INCLUDE_SN; // Block 1 is a key, block 2 is TempKey + mac_params.key_id = slot; + mac_params.challenge = NULL; + mac_params.key = symmetric_key; + mac_params.otp = NULL; + mac_params.sn = sn; + mac_params.response = host_mac; + mac_params.temp_key = &temp_key; + + // Generate the MAC command from the device + if ((status = atcab_mac(mac_params.mode, mac_params.key_id, mac_params.challenge, device_mac)) != ATCA_SUCCESS) + { + break; + } + + // Calculate the MAC on the host side + if (( status = atcah_mac(&mac_params)) != ATCA_SUCCESS) + { + break; + } + + //Check whether the MAC calculated on host is same as that generated from the device + if (memcmp(device_mac, host_mac, 32) != 0) + { + status = ATCA_CHECKMAC_VERIFY_FAILED; + } + + } + while (0); + + return status; +} \ No newline at end of file diff --git a/app/ip_protection/symmetric_authentication.h b/app/ip_protection/symmetric_authentication.h new file mode 100644 index 000000000..ba20de9d4 --- /dev/null +++ b/app/ip_protection/symmetric_authentication.h @@ -0,0 +1,47 @@ +/** + * \file + * \brief Contains API for performing the symmetric Authentication between the Host and the device + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ + + +#ifndef SYMMETRIC_AUTHENTICATION_H_ +#define SYMMETRIC_AUTHENTICATION_H_ + +#include "cryptoauthlib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +ATCA_STATUS symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number); + + + +#ifdef __cplusplus +} +#endif + + +#endif /* SYMMETRIC_AUTHENTICATION_H_ */ \ No newline at end of file diff --git a/docs/html/a00011.html b/docs/html/a00011.html index 3da7bb167..d79a1af39 100644 --- a/docs/html/a00011.html +++ b/docs/html/a00011.html @@ -5,7 +5,7 @@ -CryptoAuthLib: crypto_device_app.c File Reference +CryptoAuthLib: symmetric_authentication.c File Reference @@ -89,47 +89,68 @@
Functions
-
crypto_device_app.c File Reference
+
symmetric_authentication.c File Reference
-

Provides required interface between boot loader and secure boot. +

Contains API for performing the symmetric Authentication between the Host and the device. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "cryptoauthlib.h"
-#include "secure_boot.h"
-#include "io_protection_key.h"
-#include "crypto_device_app.h"
+
#include "cryptoauthlib.h"
+#include "host/atca_host.h"
+#include "symmetric_authentication.h"
- - - + + +

Functions

ATCA_STATUS crypto_device_verify_app (void)
 Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled. More...
 
ATCA_STATUS symmetric_authenticate (uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number)
 Function which does the authentication between the host and device. More...
 

Detailed Description

-

Provides required interface between boot loader and secure boot.

+

Contains API for performing the symmetric Authentication between the Host and the device.

Function Documentation

- -

◆ crypto_device_verify_app()

+ +

◆ symmetric_authenticate()

- + - - + + + + + + + + + + + + + + + + + +
ATCA_STATUS crypto_device_verify_app ATCA_STATUS symmetric_authenticate (void )uint8_t slot,
const uint8_t * master_key,
const uint8_t * rand_number 
)
-

Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled.

-
Returns
ATCA_SUCCESS on success, otherwise an error code.
+

Function which does the authentication between the host and device.

+
Parameters
+ + + + +
[in]slotThe slot number used for the symmetric authentication.
[in]master_keyThe master key used for the calculating the symmetric key.
[in]rand_numberThe 20 byte rand_number from the host.
+
+
+
Returns
ATCA_SUCCESS on successful authentication, otherwise an error code.
@@ -138,7 +159,7 @@

    - + diff --git a/docs/html/a00011.js b/docs/html/a00011.js index 650a80d41..164b4c269 100644 --- a/docs/html/a00011.js +++ b/docs/html/a00011.js @@ -1,4 +1,4 @@ var a00011 = [ - [ "crypto_device_verify_app", "a00011.html#a19617ea9c26833614201b9695ec7a1ca", null ] + [ "symmetric_authenticate", "a00011.html#a9a41d1600ffd22de067ded50447d359b", null ] ]; \ No newline at end of file diff --git a/docs/html/a00014.html b/docs/html/a00014.html index d8cffb40c..81efadaf8 100644 --- a/docs/html/a00014.html +++ b/docs/html/a00014.html @@ -5,7 +5,7 @@ -CryptoAuthLib: crypto_device_app.h File Reference +CryptoAuthLib: symmetric_authentication.h File Reference @@ -87,153 +87,70 @@
    -
    crypto_device_app.h File Reference
    +
    symmetric_authentication.h File Reference

-

Provides required interface between boot loader and secure boot. +

Contains API for performing the symmetric Authentication between the Host and the device. More...

-
#include "atca_status.h"
-#include "atca_command.h"
-#include "host/atca_host.h"
+
#include "cryptoauthlib.h"

Go to the source code of this file.

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

-Macros

#define CRYPTO_DEVICE_ENABLE_SECURE_BOOT   true
 
#define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED   false
 
#define IO_PROTECTION_KEY_SLOT   4
 
#define SECURE_BOOT_PUBLIC_KEY_SLOT   11
 
#define SECURE_BOOT_SIGN_DIGEST_SLOT   12
 
- - - - - + + +

Functions

ATCA_STATUS crypto_device_verify_app (void)
 Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled. More...
 
ATCA_STATUS crypto_device_load_configuration (void)
 
ATCA_STATUS symmetric_authenticate (uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number)
 Function which does the authentication between the host and device. More...
 

Detailed Description

-

Provides required interface between boot loader and secure boot.

+

Contains API for performing the symmetric Authentication between the Host and the device.

-

Macro Definition Documentation

- -

◆ CRYPTO_DEVICE_ENABLE_SECURE_BOOT

+

Function Documentation

+ +

◆ symmetric_authenticate()

- - -
#define CRYPTO_DEVICE_ENABLE_SECURE_BOOT   true
-
- -
-
- -

◆ CRYPTO_DEVICE_LOAD_CONFIG_ENABLED

- -
-
- - - - -
#define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED   false
-
- -
-
- -

◆ IO_PROTECTION_KEY_SLOT

- -
-
- - - - -
#define IO_PROTECTION_KEY_SLOT   4
-
- -
-
- -

◆ SECURE_BOOT_PUBLIC_KEY_SLOT

- -
-
- - - + + + + -
#define SECURE_BOOT_PUBLIC_KEY_SLOT   11ATCA_STATUS symmetric_authenticate (uint8_t slot,
-
- -
-
- -

◆ SECURE_BOOT_SIGN_DIGEST_SLOT

- -
-
- - + + + + -
#define SECURE_BOOT_SIGN_DIGEST_SLOT   12const uint8_t * master_key,
-
- -
-
-

Function Documentation

- -

◆ crypto_device_load_configuration()

- -
-
- - - - - + + + -
ATCA_STATUS crypto_device_load_configuration (void ) const uint8_t * rand_number 
-
- -
-
- -

◆ crypto_device_verify_app()

- -
-
- - - - - + +
ATCA_STATUS crypto_device_verify_app (void ) )
-

Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled.

-
Returns
ATCA_SUCCESS on success, otherwise an error code.
+

Function which does the authentication between the host and device.

+
Parameters
+ + + + +
[in]slotThe slot number used for the symmetric authentication.
[in]master_keyThe master key used for the calculating the symmetric key.
[in]rand_numberThe 20 byte rand_number from the host.
+
+
+
Returns
ATCA_SUCCESS on successful authentication, otherwise an error code.
@@ -242,7 +159,7 @@

    - + diff --git a/docs/html/a00014.js b/docs/html/a00014.js index 888519c04..155b98c14 100644 --- a/docs/html/a00014.js +++ b/docs/html/a00014.js @@ -1,10 +1,4 @@ var a00014 = [ - [ "CRYPTO_DEVICE_ENABLE_SECURE_BOOT", "a00014.html#a78d2d5f4d0c6ce2228e32d0ed1baddee", null ], - [ "CRYPTO_DEVICE_LOAD_CONFIG_ENABLED", "a00014.html#aa6f08e0b0783a9989ae5c4584668fdcc", null ], - [ "IO_PROTECTION_KEY_SLOT", "a00014.html#a60c58ea0ec675162d62034323c906b9b", null ], - [ "SECURE_BOOT_PUBLIC_KEY_SLOT", "a00014.html#a0bb2754dfd3576e2db410a717cfefc98", null ], - [ "SECURE_BOOT_SIGN_DIGEST_SLOT", "a00014.html#ad3e25c542063abb044288e338e0df87a", null ], - [ "crypto_device_load_configuration", "a00014.html#a80d86458de1b0031747eeeffb6feee0b", null ], - [ "crypto_device_verify_app", "a00014.html#a19617ea9c26833614201b9695ec7a1ca", null ] + [ "symmetric_authenticate", "a00014.html#a9a41d1600ffd22de067ded50447d359b", null ] ]; \ No newline at end of file diff --git a/docs/html/a00014_source.html b/docs/html/a00014_source.html index 5e9c35454..6e7c9580b 100644 --- a/docs/html/a00014_source.html +++ b/docs/html/a00014_source.html @@ -5,7 +5,7 @@ -CryptoAuthLib: crypto_device_app.h Source File +CryptoAuthLib: symmetric_authentication.h Source File @@ -87,21 +87,18 @@
    -
    crypto_device_app.h
    +
    symmetric_authentication.h

-Go to the documentation of this file.
1 
29 #ifndef CRYPTO_DEVICE_CONFIG_H
30 #define CRYPTO_DEVICE_CONFIG_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 #include "atca_command.h"
38 #include "host/atca_host.h"
39 
40 #define CRYPTO_DEVICE_ENABLE_SECURE_BOOT true
41 #define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED false
42 #define IO_PROTECTION_KEY_SLOT 4
43 #define SECURE_BOOT_PUBLIC_KEY_SLOT 11
44 #define SECURE_BOOT_SIGN_DIGEST_SLOT 12
45 
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif
54 
55 
56 
Definitions and Prototypes for ATCA Utility Functions.
-
ATCA_STATUS crypto_device_verify_app(void)
Takes care interface with secure boot and provides status about user application. This also takes car...
Definition: crypto_device_app.c:39
-
ATCA_STATUS crypto_device_load_configuration(void)
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
ATCA_STATUS
Definition: atca_status.h:41
-
Microchip Crypto Auth status codes.
+Go to the documentation of this file.
1 
29 #ifndef SYMMETRIC_AUTHENTICATION_H_
30 #define SYMMETRIC_AUTHENTICATION_H_
31 
32 #include "cryptoauthlib.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 ATCA_STATUS symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number);
39 
40 
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 
47 #endif /* SYMMETRIC_AUTHENTICATION_H_ */
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number)
Function which does the authentication between the host and device.
Definition: symmetric_authentication.c:43
+
Single aggregation point for all CryptoAuthLib header files.
-

Provides required interface to access IO protection key. +

Provides required interface between boot loader and secure boot. More...

-
#include "atca_status.h"
-
-

Go to the source code of this file.

- +
#include <stdlib.h>
+#include <stdio.h>
+#include "cryptoauthlib.h"
+#include "secure_boot.h"
+#include "io_protection_key.h"
+#include "crypto_device_app.h"
+
- - - - + + +

Functions

ATCA_STATUS io_protection_get_key (uint8_t *io_key)
 
ATCA_STATUS io_protection_set_key (uint8_t *io_key)
 
ATCA_STATUS crypto_device_verify_app (void)
 Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled. More...
 

Detailed Description

-

Provides required interface to access IO protection key.

+

Provides required interface between boot loader and secure boot.

Function Documentation

- -

◆ io_protection_get_key()

+ +

◆ crypto_device_verify_app()

- + - - + +
ATCA_STATUS io_protection_get_key ATCA_STATUS crypto_device_verify_app (uint8_t * io_key)void )
-
-
- -

◆ io_protection_set_key()

- -
-
- - - - - - - - -
ATCA_STATUS io_protection_set_key (uint8_t * io_key)
-
+

Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled.

+
Returns
ATCA_SUCCESS on success, otherwise an error code.
@@ -151,7 +138,7 @@

    - + diff --git a/docs/html/a00017.js b/docs/html/a00017.js index 57c31439a..acb8017e6 100644 --- a/docs/html/a00017.js +++ b/docs/html/a00017.js @@ -1,5 +1,4 @@ var a00017 = [ - [ "io_protection_get_key", "a00017.html#adb01c317f81145702f564ca1d46ec33b", null ], - [ "io_protection_set_key", "a00017.html#a8e02c996fdc083bb4c4444057e429a44", null ] + [ "crypto_device_verify_app", "a00017.html#a19617ea9c26833614201b9695ec7a1ca", null ] ]; \ No newline at end of file diff --git a/docs/html/a00017_source.html b/docs/html/a00017_source.html deleted file mode 100644 index 6814df263..000000000 --- a/docs/html/a00017_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -CryptoAuthLib: io_protection_key.h Source File - - - - - - - - - - - - - - -
    -
    - - - - - - -
    -
    CryptoAuthLib -
    -
    Microchip CryptoAuthentication Library
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    io_protection_key.h
    -
    -
    -Go to the documentation of this file.
    1 
    29 #ifndef IO_PROTECTION_H
    30 #define IO_PROTECTION_H
    31 
    32 #ifdef __cplusplus
    33 extern "C" {
    34 #endif
    35 
    36 #include "atca_status.h"
    37 
    38 extern ATCA_STATUS io_protection_get_key(uint8_t* io_key);
    39 extern ATCA_STATUS io_protection_set_key(uint8_t* io_key);
    40 
    41 #ifdef __cplusplus
    42 }
    43 #endif
    44 
    45 #endif
    46 
    47 
    48 
    ATCA_STATUS io_protection_set_key(uint8_t *io_key)
    -
    ATCA_STATUS
    Definition: atca_status.h:41
    -
    ATCA_STATUS io_protection_get_key(uint8_t *io_key)
    -
    Microchip Crypto Auth status codes.
    -
    -
    - - - - diff --git a/docs/html/a00020.html b/docs/html/a00020.html index 9bdc46efc..25712c9e9 100644 --- a/docs/html/a00020.html +++ b/docs/html/a00020.html @@ -5,7 +5,7 @@ -CryptoAuthLib: secure_boot.c File Reference +CryptoAuthLib: crypto_device_app.h File Reference @@ -87,43 +87,125 @@
    -
    secure_boot.c File Reference
    +
    crypto_device_app.h File Reference

-

Provides required APIs to manage secure boot under various scenarios. +

Provides required interface between boot loader and secure boot. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "secure_boot.h"
-#include "atca_iface.h"
-#include "hal/atca_hal.h"
-#include "test/atca_test.h"
-#include "io_protection_key.h"
-#include "crypto_device_app.h"
-
+
#include "atca_status.h"
+#include "atca_command.h"
+#include "host/atca_host.h"
+
+

Go to the source code of this file.

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

+Macros

#define CRYPTO_DEVICE_ENABLE_SECURE_BOOT   true
 
#define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED   false
 
#define IO_PROTECTION_KEY_SLOT   4
 
#define SECURE_BOOT_PUBLIC_KEY_SLOT   11
 
#define SECURE_BOOT_SIGN_DIGEST_SLOT   12
 
- - - - - + + + + +

Functions

ATCA_STATUS secure_boot_process (void)
 Handles secure boot functionality through initialization, execution, and de-initialization. More...
 
ATCA_STATUS check_device_io_protection_key_generate (void)
 
ATCA_STATUS crypto_device_verify_app (void)
 Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled. More...
 
ATCA_STATUS crypto_device_load_configuration (void)
 

Detailed Description

-

Provides required APIs to manage secure boot under various scenarios.

+

Provides required interface between boot loader and secure boot.

-

Function Documentation

- -

◆ check_device_io_protection_key_generate()

+

Macro Definition Documentation

+ +

◆ CRYPTO_DEVICE_ENABLE_SECURE_BOOT

+ +
+
+ + + + +
#define CRYPTO_DEVICE_ENABLE_SECURE_BOOT   true
+
+ +
+
+ +

◆ CRYPTO_DEVICE_LOAD_CONFIG_ENABLED

+ +
+
+ + + + +
#define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED   false
+
+ +
+
+ +

◆ IO_PROTECTION_KEY_SLOT

+ +
+
+ + + + +
#define IO_PROTECTION_KEY_SLOT   4
+
+ +
+
+ +

◆ SECURE_BOOT_PUBLIC_KEY_SLOT

+ +
+
+ + + + +
#define SECURE_BOOT_PUBLIC_KEY_SLOT   11
+
+ +
+
+ +

◆ SECURE_BOOT_SIGN_DIGEST_SLOT

+ +
+
+ + + + +
#define SECURE_BOOT_SIGN_DIGEST_SLOT   12
+
+ +
+
+

Function Documentation

+ +

◆ crypto_device_load_configuration()

- + @@ -134,14 +216,14 @@

-

◆ secure_boot_process()

+ +

◆ crypto_device_verify_app()

ATCA_STATUS check_device_io_protection_key_generate ATCA_STATUS crypto_device_load_configuration ( void  )
- + @@ -150,7 +232,7 @@

-

Handles secure boot functionality through initialization, execution, and de-initialization.

+

Takes care interface with secure boot and provides status about user application. This also takes care of device configuration if enabled.

Returns
ATCA_SUCCESS on success, otherwise an error code.
@@ -160,7 +242,7 @@

    - + diff --git a/docs/html/a00020.js b/docs/html/a00020.js index 87958b4d5..8d5ffea18 100644 --- a/docs/html/a00020.js +++ b/docs/html/a00020.js @@ -1,5 +1,10 @@ var a00020 = [ - [ "check_device_io_protection_key_generate", "a00020.html#a67e11e4c8a5491952d9cdea3dee7308a", null ], - [ "secure_boot_process", "a00020.html#a861a785461af4116bca9343019225abd", null ] + [ "CRYPTO_DEVICE_ENABLE_SECURE_BOOT", "a00020.html#a78d2d5f4d0c6ce2228e32d0ed1baddee", null ], + [ "CRYPTO_DEVICE_LOAD_CONFIG_ENABLED", "a00020.html#aa6f08e0b0783a9989ae5c4584668fdcc", null ], + [ "IO_PROTECTION_KEY_SLOT", "a00020.html#a60c58ea0ec675162d62034323c906b9b", null ], + [ "SECURE_BOOT_PUBLIC_KEY_SLOT", "a00020.html#a0bb2754dfd3576e2db410a717cfefc98", null ], + [ "SECURE_BOOT_SIGN_DIGEST_SLOT", "a00020.html#ad3e25c542063abb044288e338e0df87a", null ], + [ "crypto_device_load_configuration", "a00020.html#a80d86458de1b0031747eeeffb6feee0b", null ], + [ "crypto_device_verify_app", "a00020.html#a19617ea9c26833614201b9695ec7a1ca", null ] ]; \ No newline at end of file diff --git a/docs/html/a00020_source.html b/docs/html/a00020_source.html new file mode 100644 index 000000000..81e1cae28 --- /dev/null +++ b/docs/html/a00020_source.html @@ -0,0 +1,111 @@ + + + + + + + +CryptoAuthLib: crypto_device_app.h Source File + + + + + + + + + + + + + + +
    +
    +

ATCA_STATUS secure_boot_process ATCA_STATUS crypto_device_verify_app ( void  )
+ + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crypto_device_app.h
+
+
+Go to the documentation of this file.
1 
29 #ifndef CRYPTO_DEVICE_CONFIG_H
30 #define CRYPTO_DEVICE_CONFIG_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 #include "atca_command.h"
38 #include "host/atca_host.h"
39 
40 #define CRYPTO_DEVICE_ENABLE_SECURE_BOOT true
41 #define CRYPTO_DEVICE_LOAD_CONFIG_ENABLED false
42 #define IO_PROTECTION_KEY_SLOT 4
43 #define SECURE_BOOT_PUBLIC_KEY_SLOT 11
44 #define SECURE_BOOT_SIGN_DIGEST_SLOT 12
45 
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif
54 
55 
56 
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS crypto_device_load_configuration(void)
+
Microchip Crypto Auth status codes.
+
Definitions and Prototypes for ATCA Utility Functions.
+
ATCA_STATUS crypto_device_verify_app(void)
Takes care interface with secure boot and provides status about user application. This also takes car...
Definition: crypto_device_app.c:39
+
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
+
+
+ + + + diff --git a/docs/html/a00023.html b/docs/html/a00023.html index ec8af454f..d6303e152 100644 --- a/docs/html/a00023.html +++ b/docs/html/a00023.html @@ -5,7 +5,7 @@ -CryptoAuthLib: secure_boot.h File Reference +CryptoAuthLib: io_protection_key.h File Reference @@ -87,211 +87,40 @@
-
secure_boot.h File Reference
+
io_protection_key.h File Reference
-

Provides required APIs to manage secure boot under various scenarios. +

Provides required interface to access IO protection key. More...

-
#include "atca_status.h"
-#include "secure_boot_memory.h"
-#include "atca_command.h"
-#include "crypto\atca_crypto_sw_sha2.h"
-#include "host/atca_host.h"
+
#include "atca_status.h"

Go to the source code of this file.

- - - - - -

-Data Structures

struct  secure_boot_config_bits
 
struct  secure_boot_parameters
 
- - - - - - - - - - - - - - - -

-Macros

#define SECURE_BOOT_CONFIG_DISABLE   0
 
#define SECURE_BOOT_CONFIG_FULL_BOTH   1
 
#define SECURE_BOOT_CONFIG_FULL_SIGN   2
 
#define SECURE_BOOT_CONFIG_FULL_DIG   3
 
#define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG
 
#define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true
 
#define SECURE_BOOT_UPGRADE_SUPPORT   true
 
- - - -

-Typedefs

typedef ATCA_STATUS(* secure_boot_handler) (secure_boot_parameters *secure_boot_params)
 
- - - - - - - + + + +

Functions

ATCA_STATUS secure_boot_process (void)
 Handles secure boot functionality through initialization, execution, and de-initialization. More...
 
ATCA_STATUS check_device_io_protection_key_generate (void)
 
ATCA_STATUS host_generate_random_number (uint8_t *rand)
 
ATCA_STATUS io_protection_get_key (uint8_t *io_key)
 
ATCA_STATUS io_protection_set_key (uint8_t *io_key)
 

Detailed Description

-

Provides required APIs to manage secure boot under various scenarios.

+

Provides required interface to access IO protection key.

-

Macro Definition Documentation

- -

◆ SECURE_BOOT_CONFIG_DISABLE

+

Function Documentation

+ +

◆ io_protection_get_key()

- - -
#define SECURE_BOOT_CONFIG_DISABLE   0
-
- -
-
- -

◆ SECURE_BOOT_CONFIG_FULL_BOTH

- -
-
- - - - -
#define SECURE_BOOT_CONFIG_FULL_BOTH   1
-
- -
-
- -

◆ SECURE_BOOT_CONFIG_FULL_DIG

- -
-
- - - - -
#define SECURE_BOOT_CONFIG_FULL_DIG   3
-
- -
-
- -

◆ SECURE_BOOT_CONFIG_FULL_SIGN

- -
-
- - - - -
#define SECURE_BOOT_CONFIG_FULL_SIGN   2
-
- -
-
- -

◆ SECURE_BOOT_CONFIGURATION

- -
-
- - - - -
#define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG
-
- -
-
- -

◆ SECURE_BOOT_DIGEST_ENCRYPT_ENABLED

- -
-
- - - - -
#define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true
-
- -
-
- -

◆ SECURE_BOOT_UPGRADE_SUPPORT

- -
-
- - - - -
#define SECURE_BOOT_UPGRADE_SUPPORT   true
-
- -
-
-

Typedef Documentation

- -

◆ secure_boot_handler

- -
-
- - - - -
typedef ATCA_STATUS(* secure_boot_handler) (secure_boot_parameters *secure_boot_params)
-
- -
-
-

Function Documentation

- -

◆ check_device_io_protection_key_generate()

- -
-
- - - - - - - - -
ATCA_STATUS check_device_io_protection_key_generate (void )
-
- -
-
- -

◆ host_generate_random_number()

- -
-
- - - + - +
ATCA_STATUS host_generate_random_number ATCA_STATUS io_protection_get_key ( uint8_t * rand)io_key)
@@ -299,25 +128,22 @@

-

◆ secure_boot_process()

+ +

◆ io_protection_set_key()

- + - - + +
ATCA_STATUS secure_boot_process ATCA_STATUS io_protection_set_key (void )uint8_t * io_key)
-

Handles secure boot functionality through initialization, execution, and de-initialization.

-
Returns
ATCA_SUCCESS on success, otherwise an error code.
-

@@ -325,7 +151,7 @@

    - + diff --git a/docs/html/a00023.js b/docs/html/a00023.js index c7bb9781b..6a8a6b527 100644 --- a/docs/html/a00023.js +++ b/docs/html/a00023.js @@ -1,16 +1,5 @@ var a00023 = [ - [ "secure_boot_config_bits", "a03763.html", "a03763" ], - [ "secure_boot_parameters", "a03767.html", "a03767" ], - [ "SECURE_BOOT_CONFIG_DISABLE", "a00023.html#abda1d3106b26d6e32fddd71223ecb491", null ], - [ "SECURE_BOOT_CONFIG_FULL_BOTH", "a00023.html#a5aae2464eb2bb84cec34bfd422697a27", null ], - [ "SECURE_BOOT_CONFIG_FULL_DIG", "a00023.html#a61ab82e3ca8c3f985cfc8b1a06daaced", null ], - [ "SECURE_BOOT_CONFIG_FULL_SIGN", "a00023.html#a3eef897b793c9ff7430c09d88bd8bac0", null ], - [ "SECURE_BOOT_CONFIGURATION", "a00023.html#a93cbf6aee50e7449217cf18f2ebfc690", null ], - [ "SECURE_BOOT_DIGEST_ENCRYPT_ENABLED", "a00023.html#aad47571829afb2de827111c11df184de", null ], - [ "SECURE_BOOT_UPGRADE_SUPPORT", "a00023.html#a07cf8cf7a12bb9592fff7a31a369c1a5", null ], - [ "secure_boot_handler", "a00023.html#a77b52436dd62634e2ee7aed31be5f681", null ], - [ "check_device_io_protection_key_generate", "a00023.html#a67e11e4c8a5491952d9cdea3dee7308a", null ], - [ "host_generate_random_number", "a00023.html#a197406dca9e671c3ef8036976108527f", null ], - [ "secure_boot_process", "a00023.html#a861a785461af4116bca9343019225abd", null ] + [ "io_protection_get_key", "a00023.html#adb01c317f81145702f564ca1d46ec33b", null ], + [ "io_protection_set_key", "a00023.html#a8e02c996fdc083bb4c4444057e429a44", null ] ]; \ No newline at end of file diff --git a/docs/html/a00023_source.html b/docs/html/a00023_source.html index 89ea10c19..2386e218a 100644 --- a/docs/html/a00023_source.html +++ b/docs/html/a00023_source.html @@ -5,7 +5,7 @@ -CryptoAuthLib: secure_boot.h Source File +CryptoAuthLib: io_protection_key.h Source File @@ -87,41 +87,19 @@
    -
    secure_boot.h
    +
    io_protection_key.h

-Go to the documentation of this file.
1 
29 #ifndef SECURE_BOOT_H
30 #define SECURE_BOOT_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 #include "secure_boot_memory.h"
38 #include "atca_command.h"
40 #include "host/atca_host.h"
41 
42 
43 #define SECURE_BOOT_CONFIG_DISABLE 0
44 #define SECURE_BOOT_CONFIG_FULL_BOTH 1
45 #define SECURE_BOOT_CONFIG_FULL_SIGN 2
46 #define SECURE_BOOT_CONFIG_FULL_DIG 3
47 
48 #define SECURE_BOOT_CONFIGURATION SECURE_BOOT_CONFIG_FULL_DIG
49 #define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED true
50 #define SECURE_BOOT_UPGRADE_SUPPORT true
51 
52 
53 typedef struct
54 {
55  uint16_t secure_boot_mode : 2;
56  uint16_t secure_boot_reserved1 : 1;
58  uint16_t secure_boot_rand_nonce : 1;
59  uint16_t secure_boot_reserved2 : 3;
60  uint16_t secure_boot_sig_dig : 4;
61  uint16_t secure_boot_pub_key : 4;
63 
64 
65 typedef struct
66 {
69  uint8_t app_digest[ATCA_SHA_DIGEST_SIZE];
70  #if SECURE_BOOT_DIGEST_ENCRYPT_ENABLED
71  uint8_t randomnum[RANDOM_RSP_SIZE];
72  uint8_t io_protection_key[ATCA_KEY_SIZE];
73  #endif
75 
76 typedef ATCA_STATUS (*secure_boot_handler)(secure_boot_parameters* secure_boot_params);
77 
78 
81 extern ATCA_STATUS host_generate_random_number(uint8_t *rand);
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif
88 
89 
90 
Definitions and Prototypes for ATCA Utility Functions.
-
Definition: secure_boot_memory.h:41
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
uint16_t secure_boot_pub_key
Definition: secure_boot.h:61
-
#define ATCA_SHA_DIGEST_SIZE
Definition: atca_command.h:652
-
ATCA_STATUS(* secure_boot_handler)(secure_boot_parameters *secure_boot_params)
Definition: secure_boot.h:76
-
ATCA_STATUS
Definition: atca_status.h:41
-
uint16_t secure_boot_persistent_enable
Definition: secure_boot.h:57
-
Definition: atca_crypto_sw_sha2.h:45
-
Wrapper API for software SHA 256 routines.
-
Definition: secure_boot.h:65
-
Provides interface to memory component for the secure boot.
-
Definition: secure_boot.h:53
-
uint16_t secure_boot_rand_nonce
Definition: secure_boot.h:58
-
uint16_t secure_boot_reserved1
Definition: secure_boot.h:56
-
atcac_sha2_256_ctx s_sha_context
Definition: secure_boot.h:68
-
ATCA_STATUS secure_boot_process(void)
Handles secure boot functionality through initialization, execution, and de-initialization.
Definition: secure_boot.c:48
-
#define ATCA_KEY_SIZE
size of a symmetric SHA key
Definition: atca_command.h:241
-
#define RANDOM_RSP_SIZE
Random command response packet size.
Definition: atca_command.h:596
-
ATCA_STATUS check_device_io_protection_key_generate(void)
Definition: secure_boot.c:227
-
ATCA_STATUS host_generate_random_number(uint8_t *rand)
-
uint16_t secure_boot_reserved2
Definition: secure_boot.h:59
-
uint16_t secure_boot_mode
Definition: secure_boot.h:55
-
memory_parameters memory_params
Definition: secure_boot.h:67
-
Microchip Crypto Auth status codes.
-
uint16_t secure_boot_sig_dig
Definition: secure_boot.h:60
+Go to the documentation of this file.
1 
29 #ifndef IO_PROTECTION_H
30 #define IO_PROTECTION_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 
38 extern ATCA_STATUS io_protection_get_key(uint8_t* io_key);
39 extern ATCA_STATUS io_protection_set_key(uint8_t* io_key);
40 
41 #ifdef __cplusplus
42 }
43 #endif
44 
45 #endif
46 
47 
48 
ATCA_STATUS io_protection_set_key(uint8_t *io_key)
+
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS io_protection_get_key(uint8_t *io_key)
+
Microchip Crypto Auth status codes.
-

Provides interface to memory component for the secure boot. +

Provides required APIs to manage secure boot under various scenarios. More...

-
#include "atca_status.h"
-#include "atca_command.h"
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  memory_parameters
 
+
#include <stdlib.h>
+#include <stdio.h>
+#include "secure_boot.h"
+#include "atca_iface.h"
+#include "hal/atca_hal.h"
+#include "test/atca_test.h"
+#include "io_protection_key.h"
+#include "crypto_device_app.h"
+
- - - - - - - - - - - - + + + + +

Functions

ATCA_STATUS secure_boot_init_memory (memory_parameters *memory_params)
 
ATCA_STATUS secure_boot_read_memory (uint8_t *pu8_data, uint32_t *pu32_target_length)
 
ATCA_STATUS secure_boot_write_memory (uint8_t *pu8_data, uint32_t *pu32_target_length)
 
void secure_boot_deinit_memory (memory_parameters *memory_params)
 
ATCA_STATUS secure_boot_mark_full_copy_completion (void)
 
bool secure_boot_check_full_copy_completion (void)
 
ATCA_STATUS secure_boot_process (void)
 Handles secure boot functionality through initialization, execution, and de-initialization. More...
 
ATCA_STATUS check_device_io_protection_key_generate (void)
 

Detailed Description

-

Provides interface to memory component for the secure boot.

+

Provides required APIs to manage secure boot under various scenarios.

Function Documentation

- -

◆ secure_boot_check_full_copy_completion()

+ +

◆ check_device_io_protection_key_generate()

- + @@ -143,50 +134,14 @@

-

◆ secure_boot_deinit_memory()

- -
-
-

bool secure_boot_check_full_copy_completion ATCA_STATUS check_device_io_protection_key_generate ( void  )
- - - - - - - -
void secure_boot_deinit_memory (memory_parametersmemory_params)
-
- -
-
- -

◆ secure_boot_init_memory()

+ +

◆ secure_boot_process()

- - - - - - -
ATCA_STATUS secure_boot_init_memory (memory_parametersmemory_params)
-
- -
-
- -

◆ secure_boot_mark_full_copy_completion()

- -
-
- - - + @@ -195,61 +150,8 @@

- - - -

◆ secure_boot_read_memory()

- -
-
-

ATCA_STATUS secure_boot_mark_full_copy_completion ATCA_STATUS secure_boot_process ( void  )
- - - - - - - - - - - - - - - - - -
ATCA_STATUS secure_boot_read_memory (uint8_t * pu8_data,
uint32_t * pu32_target_length 
)
-
- -
-
- -

◆ secure_boot_write_memory()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS secure_boot_write_memory (uint8_t * pu8_data,
uint32_t * pu32_target_length 
)
-
+

Handles secure boot functionality through initialization, execution, and de-initialization.

+
Returns
ATCA_SUCCESS on success, otherwise an error code.
@@ -258,7 +160,7 @@

    - + diff --git a/docs/html/a00026.js b/docs/html/a00026.js index 6ac51e970..5fe5c28f3 100644 --- a/docs/html/a00026.js +++ b/docs/html/a00026.js @@ -1,10 +1,5 @@ var a00026 = [ - [ "memory_parameters", "a03771.html", "a03771" ], - [ "secure_boot_check_full_copy_completion", "a00026.html#a6378e763208c43ba1fbcadd8bc8a084c", null ], - [ "secure_boot_deinit_memory", "a00026.html#abf726b809a542bc68519520b61b755a3", null ], - [ "secure_boot_init_memory", "a00026.html#ad744cc79ced98d366fed07780032bc47", null ], - [ "secure_boot_mark_full_copy_completion", "a00026.html#aa635e6de2a04772df6edfdc1973236b9", null ], - [ "secure_boot_read_memory", "a00026.html#a25b3c765095b474bc2b93f87d96f7b28", null ], - [ "secure_boot_write_memory", "a00026.html#a00a29e86e9ab8b9d74b95e194a1b08f2", null ] + [ "check_device_io_protection_key_generate", "a00026.html#a67e11e4c8a5491952d9cdea3dee7308a", null ], + [ "secure_boot_process", "a00026.html#a861a785461af4116bca9343019225abd", null ] ]; \ No newline at end of file diff --git a/docs/html/a00029.html b/docs/html/a00029.html new file mode 100644 index 000000000..9c9a63d97 --- /dev/null +++ b/docs/html/a00029.html @@ -0,0 +1,335 @@ + + + + + + + +CryptoAuthLib: secure_boot.h File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CryptoAuthLib +
    +
    Microchip CryptoAuthentication Library
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    secure_boot.h File Reference
    +
    +
    + +

    Provides required APIs to manage secure boot under various scenarios. +More...

    +
    #include "atca_status.h"
    +#include "secure_boot_memory.h"
    +#include "atca_command.h"
    +#include "crypto\atca_crypto_sw_sha2.h"
    +#include "host/atca_host.h"
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Data Structures

    struct  secure_boot_config_bits
     
    struct  secure_boot_parameters
     
    + + + + + + + + + + + + + + + +

    +Macros

    #define SECURE_BOOT_CONFIG_DISABLE   0
     
    #define SECURE_BOOT_CONFIG_FULL_BOTH   1
     
    #define SECURE_BOOT_CONFIG_FULL_SIGN   2
     
    #define SECURE_BOOT_CONFIG_FULL_DIG   3
     
    #define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG
     
    #define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true
     
    #define SECURE_BOOT_UPGRADE_SUPPORT   true
     
    + + + +

    +Typedefs

    typedef ATCA_STATUS(* secure_boot_handler) (secure_boot_parameters *secure_boot_params)
     
    + + + + + + + + +

    +Functions

    ATCA_STATUS secure_boot_process (void)
     Handles secure boot functionality through initialization, execution, and de-initialization. More...
     
    ATCA_STATUS check_device_io_protection_key_generate (void)
     
    ATCA_STATUS host_generate_random_number (uint8_t *rand)
     
    +

    Detailed Description

    +

    Provides required APIs to manage secure boot under various scenarios.

    + +

    Macro Definition Documentation

    + +

    ◆ SECURE_BOOT_CONFIG_DISABLE

    + +
    +
    + + + + +
    #define SECURE_BOOT_CONFIG_DISABLE   0
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_CONFIG_FULL_BOTH

    + +
    +
    + + + + +
    #define SECURE_BOOT_CONFIG_FULL_BOTH   1
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_CONFIG_FULL_DIG

    + +
    +
    + + + + +
    #define SECURE_BOOT_CONFIG_FULL_DIG   3
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_CONFIG_FULL_SIGN

    + +
    +
    + + + + +
    #define SECURE_BOOT_CONFIG_FULL_SIGN   2
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_CONFIGURATION

    + +
    +
    + + + + +
    #define SECURE_BOOT_CONFIGURATION   SECURE_BOOT_CONFIG_FULL_DIG
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_DIGEST_ENCRYPT_ENABLED

    + +
    +
    + + + + +
    #define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED   true
    +
    + +
    +
    + +

    ◆ SECURE_BOOT_UPGRADE_SUPPORT

    + +
    +
    + + + + +
    #define SECURE_BOOT_UPGRADE_SUPPORT   true
    +
    + +
    +
    +

    Typedef Documentation

    + +

    ◆ secure_boot_handler

    + +
    +
    + + + + +
    typedef ATCA_STATUS(* secure_boot_handler) (secure_boot_parameters *secure_boot_params)
    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ check_device_io_protection_key_generate()

    + +
    +
    + + + + + + + + +
    ATCA_STATUS check_device_io_protection_key_generate (void )
    +
    + +
    +
    + +

    ◆ host_generate_random_number()

    + +
    +
    + + + + + + + + +
    ATCA_STATUS host_generate_random_number (uint8_t * rand)
    +
    + +
    +
    + +

    ◆ secure_boot_process()

    + +
    +
    + + + + + + + + +
    ATCA_STATUS secure_boot_process (void )
    +
    + +

    Handles secure boot functionality through initialization, execution, and de-initialization.

    +
    Returns
    ATCA_SUCCESS on success, otherwise an error code.
    + +
    +
    +
    +
    + + + + diff --git a/docs/html/a00029.js b/docs/html/a00029.js new file mode 100644 index 000000000..77b6b6a43 --- /dev/null +++ b/docs/html/a00029.js @@ -0,0 +1,16 @@ +var a00029 = +[ + [ "secure_boot_config_bits", "a01142.html", "a01142" ], + [ "secure_boot_parameters", "a01146.html", "a01146" ], + [ "SECURE_BOOT_CONFIG_DISABLE", "a00029.html#abda1d3106b26d6e32fddd71223ecb491", null ], + [ "SECURE_BOOT_CONFIG_FULL_BOTH", "a00029.html#a5aae2464eb2bb84cec34bfd422697a27", null ], + [ "SECURE_BOOT_CONFIG_FULL_DIG", "a00029.html#a61ab82e3ca8c3f985cfc8b1a06daaced", null ], + [ "SECURE_BOOT_CONFIG_FULL_SIGN", "a00029.html#a3eef897b793c9ff7430c09d88bd8bac0", null ], + [ "SECURE_BOOT_CONFIGURATION", "a00029.html#a93cbf6aee50e7449217cf18f2ebfc690", null ], + [ "SECURE_BOOT_DIGEST_ENCRYPT_ENABLED", "a00029.html#aad47571829afb2de827111c11df184de", null ], + [ "SECURE_BOOT_UPGRADE_SUPPORT", "a00029.html#a07cf8cf7a12bb9592fff7a31a369c1a5", null ], + [ "secure_boot_handler", "a00029.html#a77b52436dd62634e2ee7aed31be5f681", null ], + [ "check_device_io_protection_key_generate", "a00029.html#a67e11e4c8a5491952d9cdea3dee7308a", null ], + [ "host_generate_random_number", "a00029.html#a197406dca9e671c3ef8036976108527f", null ], + [ "secure_boot_process", "a00029.html#a861a785461af4116bca9343019225abd", null ] +]; \ No newline at end of file diff --git a/docs/html/a00029_source.html b/docs/html/a00029_source.html new file mode 100644 index 000000000..16740b519 --- /dev/null +++ b/docs/html/a00029_source.html @@ -0,0 +1,131 @@ + + + + + + + +CryptoAuthLib: secure_boot.h Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CryptoAuthLib +
    +
    Microchip CryptoAuthentication Library
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    secure_boot.h
    +
    +
    +Go to the documentation of this file.
    1 
    29 #ifndef SECURE_BOOT_H
    30 #define SECURE_BOOT_H
    31 
    32 #ifdef __cplusplus
    33 extern "C" {
    34 #endif
    35 
    36 #include "atca_status.h"
    37 #include "secure_boot_memory.h"
    38 #include "atca_command.h"
    40 #include "host/atca_host.h"
    41 
    42 
    43 #define SECURE_BOOT_CONFIG_DISABLE 0
    44 #define SECURE_BOOT_CONFIG_FULL_BOTH 1
    45 #define SECURE_BOOT_CONFIG_FULL_SIGN 2
    46 #define SECURE_BOOT_CONFIG_FULL_DIG 3
    47 
    48 #define SECURE_BOOT_CONFIGURATION SECURE_BOOT_CONFIG_FULL_DIG
    49 #define SECURE_BOOT_DIGEST_ENCRYPT_ENABLED true
    50 #define SECURE_BOOT_UPGRADE_SUPPORT true
    51 
    52 
    53 typedef struct
    54 {
    55  uint16_t secure_boot_mode : 2;
    56  uint16_t secure_boot_reserved1 : 1;
    58  uint16_t secure_boot_rand_nonce : 1;
    59  uint16_t secure_boot_reserved2 : 3;
    60  uint16_t secure_boot_sig_dig : 4;
    61  uint16_t secure_boot_pub_key : 4;
    63 
    64 
    65 typedef struct
    66 {
    69  uint8_t app_digest[ATCA_SHA_DIGEST_SIZE];
    70  #if SECURE_BOOT_DIGEST_ENCRYPT_ENABLED
    71  uint8_t randomnum[RANDOM_RSP_SIZE];
    72  uint8_t io_protection_key[ATCA_KEY_SIZE];
    73  #endif
    75 
    76 typedef ATCA_STATUS (*secure_boot_handler)(secure_boot_parameters* secure_boot_params);
    77 
    78 
    81 extern ATCA_STATUS host_generate_random_number(uint8_t *rand);
    82 
    83 #ifdef __cplusplus
    84 }
    85 #endif
    86 
    87 #endif
    88 
    89 
    90 
    ATCA_STATUS
    Definition: atca_status.h:41
    +
    uint16_t secure_boot_persistent_enable
    Definition: secure_boot.h:57
    +
    #define ATCA_KEY_SIZE
    size of a symmetric SHA key
    Definition: atca_command.h:241
    +
    uint16_t secure_boot_pub_key
    Definition: secure_boot.h:61
    +
    memory_parameters memory_params
    Definition: secure_boot.h:67
    +
    Definition: secure_boot.h:53
    +
    #define ATCA_SHA_DIGEST_SIZE
    Definition: atca_command.h:652
    +
    uint16_t secure_boot_rand_nonce
    Definition: secure_boot.h:58
    +
    ATCA_STATUS check_device_io_protection_key_generate(void)
    Definition: secure_boot.c:227
    +
    ATCA_STATUS host_generate_random_number(uint8_t *rand)
    +
    Definition: secure_boot_memory.h:41
    +
    uint16_t secure_boot_reserved2
    Definition: secure_boot.h:59
    +
    atcac_sha2_256_ctx s_sha_context
    Definition: secure_boot.h:68
    +
    ATCA_STATUS secure_boot_process(void)
    Handles secure boot functionality through initialization, execution, and de-initialization.
    Definition: secure_boot.c:48
    +
    Wrapper API for software SHA 256 routines.
    +
    Microchip Crypto Auth status codes.
    +
    Provides interface to memory component for the secure boot.
    +
    Definition: atca_crypto_sw_sha2.h:45
    +
    #define RANDOM_RSP_SIZE
    Random command response packet size.
    Definition: atca_command.h:596
    +
    ATCA_STATUS(* secure_boot_handler)(secure_boot_parameters *secure_boot_params)
    Definition: secure_boot.h:76
    +
    uint16_t secure_boot_reserved1
    Definition: secure_boot.h:56
    +
    Definition: secure_boot.h:65
    +
    uint16_t secure_boot_mode
    Definition: secure_boot.h:55
    +
    uint16_t secure_boot_sig_dig
    Definition: secure_boot.h:60
    +
    Definitions and Prototypes for ATCA Utility Functions.
    +
    Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
    +
    +
    + + + + diff --git a/docs/html/a00032.html b/docs/html/a00032.html new file mode 100644 index 000000000..7789d4bdf --- /dev/null +++ b/docs/html/a00032.html @@ -0,0 +1,268 @@ + + + + + + + +CryptoAuthLib: secure_boot_memory.h File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CryptoAuthLib +
    +
    Microchip CryptoAuthentication Library
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    secure_boot_memory.h File Reference
    +
    +
    + +

    Provides interface to memory component for the secure boot. +More...

    +
    #include "atca_status.h"
    +#include "atca_command.h"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    struct  memory_parameters
     
    + + + + + + + + + + + + + +

    +Functions

    ATCA_STATUS secure_boot_init_memory (memory_parameters *memory_params)
     
    ATCA_STATUS secure_boot_read_memory (uint8_t *pu8_data, uint32_t *pu32_target_length)
     
    ATCA_STATUS secure_boot_write_memory (uint8_t *pu8_data, uint32_t *pu32_target_length)
     
    void secure_boot_deinit_memory (memory_parameters *memory_params)
     
    ATCA_STATUS secure_boot_mark_full_copy_completion (void)
     
    bool secure_boot_check_full_copy_completion (void)
     
    +

    Detailed Description

    +

    Provides interface to memory component for the secure boot.

    + +

    Function Documentation

    + +

    ◆ secure_boot_check_full_copy_completion()

    + +
    +
    + + + + + + + + +
    bool secure_boot_check_full_copy_completion (void )
    +
    + +
    +
    + +

    ◆ secure_boot_deinit_memory()

    + +
    +
    + + + + + + + + +
    void secure_boot_deinit_memory (memory_parametersmemory_params)
    +
    + +
    +
    + +

    ◆ secure_boot_init_memory()

    + +
    +
    + + + + + + + + +
    ATCA_STATUS secure_boot_init_memory (memory_parametersmemory_params)
    +
    + +
    +
    + +

    ◆ secure_boot_mark_full_copy_completion()

    + +
    +
    + + + + + + + + +
    ATCA_STATUS secure_boot_mark_full_copy_completion (void )
    +
    + +
    +
    + +

    ◆ secure_boot_read_memory()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ATCA_STATUS secure_boot_read_memory (uint8_t * pu8_data,
    uint32_t * pu32_target_length 
    )
    +
    + +
    +
    + +

    ◆ secure_boot_write_memory()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ATCA_STATUS secure_boot_write_memory (uint8_t * pu8_data,
    uint32_t * pu32_target_length 
    )
    +
    + +
    +
    +
    +
    + + + + diff --git a/docs/html/a00032.js b/docs/html/a00032.js new file mode 100644 index 000000000..7050964c0 --- /dev/null +++ b/docs/html/a00032.js @@ -0,0 +1,10 @@ +var a00032 = +[ + [ "memory_parameters", "a01150.html", "a01150" ], + [ "secure_boot_check_full_copy_completion", "a00032.html#a6378e763208c43ba1fbcadd8bc8a084c", null ], + [ "secure_boot_deinit_memory", "a00032.html#abf726b809a542bc68519520b61b755a3", null ], + [ "secure_boot_init_memory", "a00032.html#ad744cc79ced98d366fed07780032bc47", null ], + [ "secure_boot_mark_full_copy_completion", "a00032.html#aa635e6de2a04772df6edfdc1973236b9", null ], + [ "secure_boot_read_memory", "a00032.html#a25b3c765095b474bc2b93f87d96f7b28", null ], + [ "secure_boot_write_memory", "a00032.html#a00a29e86e9ab8b9d74b95e194a1b08f2", null ] +]; \ No newline at end of file diff --git a/docs/html/a00026_source.html b/docs/html/a00032_source.html similarity index 71% rename from docs/html/a00026_source.html rename to docs/html/a00032_source.html index 8984a21d6..0d5ade887 100644 --- a/docs/html/a00026_source.html +++ b/docs/html/a00032_source.html @@ -67,7 +67,7 @@

@@ -90,26 +90,26 @@
secure_boot_memory.h
-Go to the documentation of this file.
1 
29 #ifndef SECURE_BOOT_MEMORY_H
30 #define SECURE_BOOT_MEMORY_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 #include "atca_command.h"
38 
39 
40 /*Blocking last USER_APPLICATION_HEADER_SIZE bytes for Signature and memory/application specific information*/
41 typedef struct
42 {
43  uint32_t start_address;
44  uint32_t memory_size;
45  uint32_t version_info;
46  uint8_t reserved[52]; //Reserving bytes for Application information and aligning to page
47  uint8_t signature[ATCA_SIG_SIZE];
49 
51 extern ATCA_STATUS secure_boot_read_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
52 extern ATCA_STATUS secure_boot_write_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
53 extern void secure_boot_deinit_memory(memory_parameters* memory_params);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif
62 
63 
64 
uint32_t memory_size
Definition: secure_boot_memory.h:44
-
ATCA_STATUS secure_boot_read_memory(uint8_t *pu8_data, uint32_t *pu32_target_length)
-
ATCA_STATUS secure_boot_init_memory(memory_parameters *memory_params)
-
Definition: secure_boot_memory.h:41
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
bool secure_boot_check_full_copy_completion(void)
-
ATCA_STATUS
Definition: atca_status.h:41
-
uint32_t start_address
Definition: secure_boot_memory.h:43
-
ATCA_STATUS secure_boot_write_memory(uint8_t *pu8_data, uint32_t *pu32_target_length)
-
uint32_t version_info
Definition: secure_boot_memory.h:45
-
void secure_boot_deinit_memory(memory_parameters *memory_params)
-
#define ATCA_SIG_SIZE
size of a p256 signature
Definition: atca_command.h:240
-
Microchip Crypto Auth status codes.
-
ATCA_STATUS secure_boot_mark_full_copy_completion(void)
+Go to the documentation of this file.
1 
29 #ifndef SECURE_BOOT_MEMORY_H
30 #define SECURE_BOOT_MEMORY_H
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #include "atca_status.h"
37 #include "atca_command.h"
38 
39 
40 /*Blocking last USER_APPLICATION_HEADER_SIZE bytes for Signature and memory/application specific information*/
41 typedef struct
42 {
43  uint32_t start_address;
44  uint32_t memory_size;
45  uint32_t version_info;
46  uint8_t reserved[52]; //Reserving bytes for Application information and aligning to page
47  uint8_t signature[ATCA_SIG_SIZE];
49 
51 extern ATCA_STATUS secure_boot_read_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
52 extern ATCA_STATUS secure_boot_write_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
53 extern void secure_boot_deinit_memory(memory_parameters* memory_params);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif
62 
63 
64 
ATCA_STATUS secure_boot_read_memory(uint8_t *pu8_data, uint32_t *pu32_target_length)
+
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS secure_boot_mark_full_copy_completion(void)
+
void secure_boot_deinit_memory(memory_parameters *memory_params)
+
uint32_t version_info
Definition: secure_boot_memory.h:45
+
uint32_t memory_size
Definition: secure_boot_memory.h:44
+
ATCA_STATUS secure_boot_init_memory(memory_parameters *memory_params)
+
ATCA_STATUS secure_boot_write_memory(uint8_t *pu8_data, uint32_t *pu32_target_length)
+
Definition: secure_boot_memory.h:41
+
bool secure_boot_check_full_copy_completion(void)
+
Microchip Crypto Auth status codes.
+
#define ATCA_SIG_SIZE
size of a p256 signature
Definition: atca_command.h:240
+
uint32_t start_address
Definition: secure_boot_memory.h:43
+
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
-
atca_cfgs.h File Reference
+
atca_bool.h File Reference
-

a set of default configurations for various ATCA devices and interfaces +

bool define for systems that don't have it More...

-
#include "atca_iface.h"
+
#include <stdbool.h>

Go to the source code of this file.

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

-Variables

ATCAIfaceCfg cfg_ateccx08a_i2c_default
 default configuration for an ECCx08A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_ateccx08a_swi_default
 default configuration for an ECCx08A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
 default configuration for Kit protocol over a CDC interface More...
 
ATCAIfaceCfg cfg_ateccx08a_kithid_default
 default configuration for Kit protocol over a HID interface More...
 
ATCAIfaceCfg cfg_atsha204a_i2c_default
 default configuration for a SHA204A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_atsha204a_swi_default
 default configuration for an SHA204A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
 default configuration for Kit protocol over a CDC interface More...
 
ATCAIfaceCfg cfg_atsha204a_kithid_default
 default configuration for Kit protocol over a HID interface for SHA204 More...
 

Detailed Description

-

a set of default configurations for various ATCA devices and interfaces

+

bool define for systems that don't have it

-Go to the documentation of this file.
1 
29 #ifndef ATCA_CFGS_H_
30 #define ATCA_CFGS_H_
31 
32 #include "atca_iface.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 
41 
44 
47 
50 
51 
54 
57 
60 
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 #endif /* ATCA_CFGS_H_ */
ATCAIfaceCfg cfg_atsha204a_i2c_default
default configuration for a SHA204A device on the first logical I2C bus
Definition: atca_cfgs.c:84
-
ATCAIfaceCfg cfg_ateccx08a_i2c_default
default configuration for an ECCx08A device on the first logical I2C bus
Definition: atca_cfgs.c:40
-
ATCAIfaceCfg cfg_atsha204a_swi_default
default configuration for an SHA204A device on the logical SWI bus over UART
Definition: atca_cfgs.c:95
-
ATCAIfaceCfg cfg_ateccx08a_swi_default
default configuration for an ECCx08A device on the logical SWI bus over UART
Definition: atca_cfgs.c:52
-
ATCAIfaceCfg cfg_ateccx08a_kithid_default
default configuration for Kit protocol over a HID interface
Definition: atca_cfgs.c:73
-
Definition: atca_iface.h:66
-
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
default configuration for Kit protocol over a CDC interface
Definition: atca_cfgs.c:61
-
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
default configuration for Kit protocol over a CDC interface
Definition: atca_cfgs.c:104
-
Microchip Crypto Auth hardware interface object.
-
ATCAIfaceCfg cfg_atsha204a_kithid_default
default configuration for Kit protocol over a HID interface for SHA204
Definition: atca_cfgs.c:116
-
+Go to the documentation of this file.
1 
29 #ifndef _ATCA_BOOL_H
30 #define _ATCA_BOOL_H
31 
32 #if defined(_MSC_VER) && (_MSC_VER <= 1700)
33 // VS2012 and earlier don't support stdbool.h
34  #ifndef __cplusplus
35  #define bool unsigned char
36  #define false 0
37  #define true 1
38  #endif
39 #else
40  #include <stdbool.h>
41 #endif
42 
43 #endif
-

Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface. +

a set of default configurations for various ATCA devices and interfaces More...

-
#include <stdlib.h>
-#include <string.h>
-#include "atca_command.h"
-#include "atca_devtypes.h"
+
#include <stddef.h>
+#include "atca_cfgs.h"
+#include "atca_iface.h"
+#include "atca_device.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand CheckMAC method. More...
 
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Counter method. More...
 
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand DeriveKey method. More...
 
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDH method. More...
 
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
 ATCACommand Generate Digest method. More...
 
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Generate Key method. More...
 
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand HMAC method. More...
 
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Info method. More...
 
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Lock method. More...
 
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand MAC method. More...
 
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Nonce method. More...
 
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Pause method. More...
 
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand PrivWrite method. More...
 
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Random method. More...
 
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Read method. More...
 
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand SecureBoot method. More...
 
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
 ATCACommand SHA method. More...
 
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Sign method. More...
 
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand UpdateExtra method. More...
 
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDSA Verify method. More...
 
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand Write method. More...
 
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand KDF method. More...
 
ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
 Initializer for ATCACommand. More...
 
ATCACommand newATCACommand (ATCADeviceType device_type)
 constructor for ATCACommand More...
 
void deleteATCACommand (ATCACommand *ca_cmd)
 ATCACommand destructor. More...
 
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
 Calculates CRC over the given raw data and returns the CRC in little-endian byte order. More...
 
void atCalcCrc (ATCAPacket *packet)
 This function calculates CRC and adds it to the correct offset in the packet data. More...
 
ATCA_STATUS atCheckCrc (const uint8_t *response)
 This function checks the consistency of a response. More...
 
bool atIsSHAFamily (ATCADeviceType device_type)
 determines if a given device type is a SHA device or a superset of a SHA device More...
 
bool atIsECCFamily (ATCADeviceType device_type)
 determines if a given device type is an ECC device or a superset of a ECC device More...
 
ATCA_STATUS isATCAError (uint8_t *data)
 checks for basic error frame in data More...
 

+Variables

ATCAIfaceCfg cfg_ateccx08a_i2c_default
 default configuration for an ECCx08A device More...
 
ATCAIfaceCfg cfg_ateccx08a_swi_default
 default configuration for an ECCx08A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_ateccx08a_kithid_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_atsha204a_i2c_default
 default configuration for a SHA204A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_atsha204a_swi_default
 default configuration for an SHA204A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_atsha204a_kithid_default
 default configuration for Kit protocol over the device's async interface More...
 

Detailed Description

-

Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface.

-

The primary goal of the command builder is to wrap the given parameters with the correct packet size and CRC. The caller should first fill in the parameters required in the ATCAPacket parameter given to the command. The command builder will deal with the mechanics of creating a valid packet using the parameter information.

+

a set of default configurations for various ATCA devices and interfaces

-

Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch. +

a set of default configurations for various ATCA devices and interfaces More...

-
#include "atca_compiler.h"
-#include "atca_status.h"
-#include "atca_devtypes.h"
-#include <stddef.h>
+
#include "atca_iface.h"

Go to the source code of this file.

- - - - - - - -

-Data Structures

struct  atca_command
 atca_command is the C object backing ATCACommand. More...
 
struct  ATCAPacket
 an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

#define ATCA_CMD_SIZE_MIN   ((uint8_t)7)
 minimum number of bytes in command (from count byte to second CRC byte) More...
 
#define ATCA_CMD_SIZE_MAX   ((uint8_t)4 * 36 + 7)
 maximum size of command packet (Verify) More...
 
#define CMD_STATUS_SUCCESS   ((uint8_t)0x00)
 status byte for success More...
 
#define CMD_STATUS_WAKEUP   ((uint8_t)0x11)
 status byte after wake-up More...
 
#define CMD_STATUS_BYTE_PARSE   ((uint8_t)0x03)
 command parse error More...
 
#define CMD_STATUS_BYTE_ECC   ((uint8_t)0x05)
 command ECC error More...
 
#define CMD_STATUS_BYTE_EXEC   ((uint8_t)0x0F)
 command execution error More...
 
#define CMD_STATUS_BYTE_COMM   ((uint8_t)0xFF)
 communication error More...
 
Opcodes for Crypto Authentication device commands
#define ATCA_CHECKMAC   ((uint8_t)0x28)
 CheckMac command op-code. More...
 
#define ATCA_DERIVE_KEY   ((uint8_t)0x1C)
 DeriveKey command op-code. More...
 
#define ATCA_INFO   ((uint8_t)0x30)
 Info command op-code. More...
 
#define ATCA_GENDIG   ((uint8_t)0x15)
 GenDig command op-code. More...
 
#define ATCA_GENKEY   ((uint8_t)0x40)
 GenKey command op-code. More...
 
#define ATCA_HMAC   ((uint8_t)0x11)
 HMAC command op-code. More...
 
#define ATCA_LOCK   ((uint8_t)0x17)
 Lock command op-code. More...
 
#define ATCA_MAC   ((uint8_t)0x08)
 MAC command op-code. More...
 
#define ATCA_NONCE   ((uint8_t)0x16)
 Nonce command op-code. More...
 
#define ATCA_PAUSE   ((uint8_t)0x01)
 Pause command op-code. More...
 
#define ATCA_PRIVWRITE   ((uint8_t)0x46)
 PrivWrite command op-code. More...
 
#define ATCA_RANDOM   ((uint8_t)0x1B)
 Random command op-code. More...
 
#define ATCA_READ   ((uint8_t)0x02)
 Read command op-code. More...
 
#define ATCA_SIGN   ((uint8_t)0x41)
 Sign command op-code. More...
 
#define ATCA_UPDATE_EXTRA   ((uint8_t)0x20)
 UpdateExtra command op-code. More...
 
#define ATCA_VERIFY   ((uint8_t)0x45)
 GenKey command op-code. More...
 
#define ATCA_WRITE   ((uint8_t)0x12)
 Write command op-code. More...
 
#define ATCA_ECDH   ((uint8_t)0x43)
 ECDH command op-code. More...
 
#define ATCA_COUNTER   ((uint8_t)0x24)
 Counter command op-code. More...
 
#define ATCA_SHA   ((uint8_t)0x47)
 SHA command op-code. More...
 
#define ATCA_AES   ((uint8_t)0x51)
 AES command op-code. More...
 
#define ATCA_KDF   ((uint8_t)0x56)
 KDF command op-code. More...
 
#define ATCA_SECUREBOOT   ((uint8_t)0x80)
 Secure Boot command op-code. More...
 
#define ATCA_SELFTEST   ((uint8_t)0x77)
 Self test command op-code. More...
 
Definitions of Data and Packet Sizes
#define ATCA_BLOCK_SIZE   (32)
 size of a block More...
 
#define ATCA_WORD_SIZE   (4)
 size of a word More...
 
#define ATCA_PUB_KEY_PAD   (4)
 size of the public key pad More...
 
#define ATCA_SERIAL_NUM_SIZE   (9)
 number of bytes in the device serial number More...
 
#define ATCA_RSP_SIZE_VAL   ((uint8_t)7)
 size of response packet containing four bytes of data More...
 
#define ATCA_KEY_COUNT   (16)
 number of keys More...
 
#define ATCA_ECC_CONFIG_SIZE   (128)
 size of configuration zone More...
 
#define ATCA_SHA_CONFIG_SIZE   (88)
 size of configuration zone More...
 
#define ATCA_OTP_SIZE   (64)
 size of OTP zone More...
 
#define ATCA_DATA_SIZE   (ATCA_KEY_COUNT * ATCA_KEY_SIZE)
 size of data zone More...
 
#define ATCA_AES_GFM_SIZE   ATCA_BLOCK_SIZE
 size of GFM data More...
 
#define ATCA_CHIPMODE_OFFSET   (19)
 ChipMode byte offset within the configuration zone. More...
 
#define ATCA_CHIPMODE_I2C_ADDRESS_FLAG   ((uint8_t)0x01)
 ChipMode I2C Address in UserExtraAdd flag. More...
 
#define ATCA_CHIPMODE_TTL_ENABLE_FLAG   ((uint8_t)0x02)
 ChipMode TTLenable flag. More...
 
#define ATCA_CHIPMODE_WATCHDOG_MASK   ((uint8_t)0x04)
 ChipMode watchdog duration mask. More...
 
#define ATCA_CHIPMODE_WATCHDOG_SHORT   ((uint8_t)0x00)
 ChipMode short watchdog (~1.3s) More...
 
#define ATCA_CHIPMODE_WATCHDOG_LONG   ((uint8_t)0x04)
 ChipMode long watchdog (~13s) More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_MASK   ((uint8_t)0xF8)
 ChipMode clock divider mask. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M0   ((uint8_t)0x00)
 ChipMode clock divider M0. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M1   ((uint8_t)0x28)
 ChipMode clock divider M1. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M2   ((uint8_t)0x68)
 ChipMode clock divider M2. More...
 
#define ATCA_COUNT_SIZE   ((uint8_t)1)
 Number of bytes in the command packet Count. More...
 
#define ATCA_CRC_SIZE   ((uint8_t)2)
 Number of bytes in the command packet CRC. More...
 
#define ATCA_PACKET_OVERHEAD   (ATCA_COUNT_SIZE + ATCA_CRC_SIZE)
 Number of bytes in the command packet. More...
 
#define ATCA_PUB_KEY_SIZE   (64)
 size of a p256 public key More...
 
#define ATCA_PRIV_KEY_SIZE   (32)
 size of a p256 private key More...
 
#define ATCA_SIG_SIZE   (64)
 size of a p256 signature More...
 
#define ATCA_KEY_SIZE   (32)
 size of a symmetric SHA key More...
 
#define RSA2048_KEY_SIZE   (256)
 size of a RSA private key More...
 
#define ATCA_RSP_SIZE_MIN   ((uint8_t)4)
 minimum number of bytes in response More...
 
#define ATCA_RSP_SIZE_4   ((uint8_t)7)
 size of response packet containing 4 bytes data More...
 
#define ATCA_RSP_SIZE_72   ((uint8_t)75)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_64   ((uint8_t)67)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_32   ((uint8_t)35)
 size of response packet containing 32 bytes data More...
 
#define ATCA_RSP_SIZE_16   ((uint8_t)19)
 size of response packet containing 16 bytes data More...
 
#define ATCA_RSP_SIZE_MAX   ((uint8_t)75)
 maximum size of response packet (GenKey and Verify command) More...
 
#define OUTNONCE_SIZE   (32)
 Size of the OutNonce response expected from several commands. More...
 
Definitions for Command Parameter Ranges
#define ATCA_KEY_ID_MAX   ((uint8_t)15)
 maximum value for key id More...
 
#define ATCA_OTP_BLOCK_MAX   ((uint8_t)1)
 maximum value for OTP block More...
 
Definitions for Indexes Common to All Commands
#define ATCA_COUNT_IDX   (0)
 command packet index for count More...
 
#define ATCA_OPCODE_IDX   (1)
 command packet index for op-code More...
 
#define ATCA_PARAM1_IDX   (2)
 command packet index for first parameter More...
 
#define ATCA_PARAM2_IDX   (3)
 command packet index for second parameter More...
 
#define ATCA_DATA_IDX   (5)
 command packet index for data load More...
 
#define ATCA_RSP_DATA_IDX   (1)
 buffer index of data in response More...
 
Definitions for Zone and Address Parameters
#define ATCA_ZONE_CONFIG   ((uint8_t)0x00)
 Configuration zone. More...
 
#define ATCA_ZONE_OTP   ((uint8_t)0x01)
 OTP (One Time Programming) zone. More...
 
#define ATCA_ZONE_DATA   ((uint8_t)0x02)
 Data zone. More...
 
#define ATCA_ZONE_MASK   ((uint8_t)0x03)
 Zone mask. More...
 
#define ATCA_ZONE_ENCRYPTED   ((uint8_t)0x40)
 Zone bit 6 set: Write is encrypted with an unlocked data zone. More...
 
#define ATCA_ZONE_READWRITE_32   ((uint8_t)0x80)
 Zone bit 7 set: Access 32 bytes, otherwise 4 bytes. More...
 
#define ATCA_ADDRESS_MASK_CONFIG   (0x001F)
 Address bits 5 to 7 are 0 for Configuration zone. More...
 
#define ATCA_ADDRESS_MASK_OTP   (0x000F)
 Address bits 4 to 7 are 0 for OTP zone. More...
 
#define ATCA_ADDRESS_MASK   (0x007F)
 Address bit 7 to 15 are always 0. More...
 
#define ATCA_TEMPKEY_KEYID   (0xFFFF)
 KeyID when referencing TempKey. More...
 
Definitions for Key types
#define ATCA_B283_KEY_TYPE   0
 B283 NIST ECC key. More...
 
#define ATCA_K283_KEY_TYPE   1
 K283 NIST ECC key. More...
 
#define ATCA_P256_KEY_TYPE   4
 P256 NIST ECC key. More...
 
#define ATCA_AES_KEY_TYPE   6
 AES-128 Key. More...
 
#define ATCA_SHA_KEY_TYPE   7
 SHA key or other data. More...
 
Definitions for the AES Command
#define AES_MODE_IDX   ATCA_PARAM1_IDX
 AES command index for mode. More...
 
#define AES_KEYID_IDX   ATCA_PARAM2_IDX
 AES command index for key id. More...
 
#define AES_INPUT_IDX   ATCA_DATA_IDX
 AES command index for input data. More...
 
#define AES_COUNT   (23)
 AES command packet size. More...
 
#define AES_MODE_MASK   ((uint8_t)0xC7)
 AES mode bits 3 to 5 are 0. More...
 
#define AES_MODE_KEY_BLOCK_MASK   ((uint8_t)0xC0)
 AES mode mask for key block field. More...
 
#define AES_MODE_OP_MASK   ((uint8_t)0x07)
 AES mode operation mask. More...
 
#define AES_MODE_ENCRYPT   ((uint8_t)0x00)
 AES mode: Encrypt. More...
 
#define AES_MODE_DECRYPT   ((uint8_t)0x01)
 AES mode: Decrypt. More...
 
#define AES_MODE_GFM   ((uint8_t)0x03)
 AES mode: GFM calculation. More...
 
#define AES_MODE_KEY_BLOCK_POS   (6)
 Bit shift for key block in mode. More...
 
#define AES_DATA_SIZE   (16)
 size of AES encrypt/decrypt data More...
 
#define AES_RSP_SIZE   ATCA_RSP_SIZE_16
 AES command response packet size. More...
 
Definitions for the CheckMac Command
#define CHECKMAC_MODE_IDX   ATCA_PARAM1_IDX
 CheckMAC command index for mode. More...
 
#define CHECKMAC_KEYID_IDX   ATCA_PARAM2_IDX
 CheckMAC command index for key identifier. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_IDX   ATCA_DATA_IDX
 CheckMAC command index for client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_IDX   (37)
 CheckMAC command index for client response. More...
 
#define CHECKMAC_DATA_IDX   (69)
 CheckMAC command index for other data. More...
 
#define CHECKMAC_COUNT   (84)
 CheckMAC command packet size. More...
 
#define CHECKMAC_MODE_CHALLENGE   ((uint8_t)0x00)
 CheckMAC mode 0: first SHA block from key id. More...
 
#define CHECKMAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 CheckMAC mode bit 0: second SHA block from TempKey. More...
 
#define CHECKMAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 CheckMAC mode bit 1: first SHA block from TempKey. More...
 
#define CHECKMAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 CheckMAC mode bit 2: match TempKey.SourceFlag. More...
 
#define CHECKMAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 CheckMAC mode bit 5: include first 64 OTP bits. More...
 
#define CHECKMAC_MODE_MASK   ((uint8_t)0x27)
 CheckMAC mode bits 3, 4, 6, and 7 are 0. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_SIZE   (32)
 CheckMAC size of client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_SIZE   (32)
 CheckMAC size of client response. More...
 
#define CHECKMAC_OTHER_DATA_SIZE   (13)
 CheckMAC size of "other data". More...
 
#define CHECKMAC_CLIENT_COMMAND_SIZE   (4)
 CheckMAC size of client command header size inside "other data". More...
 
#define CHECKMAC_CMD_MATCH   (0)
 CheckMAC return value when there is a match. More...
 
#define CHECKMAC_CMD_MISMATCH   (1)
 CheckMAC return value when there is a mismatch. More...
 
#define CHECKMAC_RSP_SIZE   ATCA_RSP_SIZE_MIN
 CheckMAC response packet size. More...
 
Definitions for the Counter command
#define COUNTER_COUNT   ATCA_CMD_SIZE_MIN
 
#define COUNTER_MODE_IDX   ATCA_PARAM1_IDX
 Counter command index for mode. More...
 
#define COUNTER_KEYID_IDX   ATCA_PARAM2_IDX
 Counter command index for key id. More...
 
#define COUNTER_MODE_MASK   ((uint8_t)0x01)
 Counter mode bits 1 to 7 are 0. More...
 
#define COUNTER_MAX_VALUE   ((uint32_t)2097151)
 Counter maximum value of the counter. More...
 
#define COUNTER_MODE_READ   ((uint8_t)0x00)
 Counter command mode for reading. More...
 
#define COUNTER_MODE_INCREMENT   ((uint8_t)0x01)
 Counter command mode for incrementing. More...
 
#define COUNTER_RSP_SIZE   ATCA_RSP_SIZE_4
 Counter command response packet size. More...
 
Definitions for the DeriveKey Command
#define DERIVE_KEY_RANDOM_IDX   ATCA_PARAM1_IDX
 DeriveKey command index for random bit. More...
 
#define DERIVE_KEY_TARGETKEY_IDX   ATCA_PARAM2_IDX
 DeriveKey command index for target slot. More...
 
#define DERIVE_KEY_MAC_IDX   ATCA_DATA_IDX
 DeriveKey command index for optional MAC. More...
 
#define DERIVE_KEY_COUNT_SMALL   ATCA_CMD_SIZE_MIN
 DeriveKey command packet size without MAC. More...
 
#define DERIVE_KEY_MODE   ((uint8_t)0x04)
 DeriveKey command mode set to 4 as in datasheet. More...
 
#define DERIVE_KEY_COUNT_LARGE   (39)
 DeriveKey command packet size with MAC. More...
 
#define DERIVE_KEY_RANDOM_FLAG   ((uint8_t)4)
 DeriveKey 1. parameter; has to match TempKey.SourceFlag. More...
 
#define DERIVE_KEY_MAC_SIZE   (32)
 DeriveKey MAC size. More...
 
#define DERIVE_KEY_RSP_SIZE   ATCA_RSP_SIZE_MIN
 DeriveKey response packet size. More...
 
Definitions for the ECDH Command
#define ECDH_PREFIX_MODE   ((uint8_t)0x00)
 
#define ECDH_COUNT   (ATCA_CMD_SIZE_MIN + ATCA_PUB_KEY_SIZE)
 
#define ECDH_MODE_SOURCE_MASK   ((uint8_t)0x01)
 
#define ECDH_MODE_SOURCE_EEPROM_SLOT   ((uint8_t)0x00)
 
#define ECDH_MODE_SOURCE_TEMPKEY   ((uint8_t)0x01)
 
#define ECDH_MODE_OUTPUT_MASK   ((uint8_t)0x02)
 
#define ECDH_MODE_OUTPUT_CLEAR   ((uint8_t)0x00)
 
#define ECDH_MODE_OUTPUT_ENC   ((uint8_t)0x02)
 
#define ECDH_MODE_COPY_MASK   ((uint8_t)0x0C)
 
#define ECDH_MODE_COPY_COMPATIBLE   ((uint8_t)0x00)
 
#define ECDH_MODE_COPY_EEPROM_SLOT   ((uint8_t)0x04)
 
#define ECDH_MODE_COPY_TEMP_KEY   ((uint8_t)0x08)
 
#define ECDH_MODE_COPY_OUTPUT_BUFFER   ((uint8_t)0x0C)
 
#define ECDH_KEY_SIZE   ATCA_BLOCK_SIZE
 ECDH output data size. More...
 
#define ECDH_RSP_SIZE   ATCA_RSP_SIZE_64
 ECDH command packet size. More...
 
Definitions for the GenDig Command
#define GENDIG_ZONE_IDX   ATCA_PARAM1_IDX
 GenDig command index for zone. More...
 
#define GENDIG_KEYID_IDX   ATCA_PARAM2_IDX
 GenDig command index for key id. More...
 
#define GENDIG_DATA_IDX   ATCA_DATA_IDX
 GenDig command index for optional data. More...
 
#define GENDIG_COUNT   ATCA_CMD_SIZE_MIN
 GenDig command packet size without "other data". More...
 
#define GENDIG_ZONE_CONFIG   ((uint8_t)0)
 GenDig zone id config. Use KeyID to specify any of the four 256-bit blocks of the Configuration zone. More...
 
#define GENDIG_ZONE_OTP   ((uint8_t)1)
 GenDig zone id OTP. Use KeyID to specify either the first or second 256-bit block of the OTP zone. More...
 
#define GENDIG_ZONE_DATA   ((uint8_t)2)
 GenDig zone id data. Use KeyID to specify a slot in the Data zone or a transport key in the hardware array. More...
 
#define GENDIG_ZONE_SHARED_NONCE   ((uint8_t)3)
 GenDig zone id shared nonce. KeyID specifies the location of the input value in the message generation. More...
 
#define GENDIG_ZONE_COUNTER   ((uint8_t)4)
 GenDig zone id counter. KeyID specifies the monotonic counter ID to be included in the message generation. More...
 
#define GENDIG_ZONE_KEY_CONFIG   ((uint8_t)5)
 GenDig zone id key config. KeyID specifies the slot for which the configuration information is to be included in the message generation. More...
 
#define GENDIG_RSP_SIZE   ATCA_RSP_SIZE_MIN
 GenDig command response packet size. More...
 
Definitions for the GenKey Command
#define GENKEY_MODE_IDX   ATCA_PARAM1_IDX
 GenKey command index for mode. More...
 
#define GENKEY_KEYID_IDX   ATCA_PARAM2_IDX
 GenKey command index for key id. More...
 
#define GENKEY_DATA_IDX   (5)
 GenKey command index for other data. More...
 
#define GENKEY_COUNT   ATCA_CMD_SIZE_MIN
 GenKey command packet size without "other data". More...
 
#define GENKEY_COUNT_DATA   (10)
 GenKey command packet size with "other data". More...
 
#define GENKEY_OTHER_DATA_SIZE   (3)
 GenKey size of "other data". More...
 
#define GENKEY_MODE_MASK   ((uint8_t)0x1C)
 GenKey mode bits 0 to 1 and 5 to 7 are 0. More...
 
#define GENKEY_MODE_PRIVATE   ((uint8_t)0x04)
 GenKey mode: private key generation. More...
 
#define GENKEY_MODE_PUBLIC   ((uint8_t)0x00)
 GenKey mode: public key calculation. More...
 
#define GENKEY_MODE_DIGEST   ((uint8_t)0x08)
 GenKey mode: PubKey digest will be created after the public key is calculated. More...
 
#define GENKEY_MODE_PUBKEY_DIGEST   ((uint8_t)0x10)
 GenKey mode: Calculate PubKey digest on the public key in KeyId. More...
 
#define GENKEY_PRIVATE_TO_TEMPKEY   ((uint16_t)0xFFFF)
 GenKey Create private key and store to tempkey (608 only) More...
 
#define GENKEY_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 GenKey response packet size in Digest mode. More...
 
#define GENKEY_RSP_SIZE_LONG   ATCA_RSP_SIZE_64
 GenKey response packet size when returning a public key. More...
 
Definitions for the HMAC Command
#define HMAC_MODE_IDX   ATCA_PARAM1_IDX
 HMAC command index for mode. More...
 
#define HMAC_KEYID_IDX   ATCA_PARAM2_IDX
 HMAC command index for key id. More...
 
#define HMAC_COUNT   ATCA_CMD_SIZE_MIN
 HMAC command packet size. More...
 
#define HMAC_MODE_FLAG_TK_RAND   ((uint8_t)0x00)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_TK_NORAND   ((uint8_t)0x04)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_OTP88   ((uint8_t)0x10)
 HMAC mode bit 4: Include the first 88 OTP bits (OTP[0] through OTP[10]) in the message.; otherwise, the corresponding message bits are set to zero. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_OTP64   ((uint8_t)0x20)
 HMAC mode bit 5: Include the first 64 OTP bits (OTP[0] through OTP[7]) in the message.; otherwise, the corresponding message bits are set to zero. If Mode[4] is set, the value of this mode bit is ignored. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_FULLSN   ((uint8_t)0x40)
 HMAC mode bit 6: If set, include the 48 bits SN[2:3] and SN[4:7] in the message.; otherwise, the corresponding message bits are set to zero. More...
 
#define HMAC_MODE_MASK   ((uint8_t)0x74)
 HMAC mode bits 0, 1, 3, and 7 are 0. More...
 
#define HMAC_DIGEST_SIZE   (32)
 HMAC size of digest response. More...
 
#define HMAC_RSP_SIZE   ATCA_RSP_SIZE_32
 HMAC command response packet size. More...
 
Definitions for the Info Command
#define INFO_PARAM1_IDX   ATCA_PARAM1_IDX
 Info command index for 1. parameter. More...
 
#define INFO_PARAM2_IDX   ATCA_PARAM2_IDX
 Info command index for 2. parameter. More...
 
#define INFO_COUNT   ATCA_CMD_SIZE_MIN
 Info command packet size. More...
 
#define INFO_MODE_REVISION   ((uint8_t)0x00)
 Info mode Revision. More...
 
#define INFO_MODE_KEY_VALID   ((uint8_t)0x01)
 Info mode KeyValid. More...
 
#define INFO_MODE_STATE   ((uint8_t)0x02)
 Info mode State. More...
 
#define INFO_MODE_GPIO   ((uint8_t)0x03)
 Info mode GPIO. More...
 
#define INFO_MODE_VOL_KEY_PERMIT   ((uint8_t)0x04)
 Info mode GPIO. More...
 
#define INFO_MODE_MAX   ((uint8_t)0x03)
 Info mode maximum value. More...
 
#define INFO_NO_STATE   ((uint8_t)0x00)
 Info mode is not the state mode. More...
 
#define INFO_OUTPUT_STATE_MASK   ((uint8_t)0x01)
 Info output state mask. More...
 
#define INFO_DRIVER_STATE_MASK   ((uint8_t)0x02)
 Info driver state mask. More...
 
#define INFO_PARAM2_SET_LATCH_STATE   ((uint16_t)0x0002)
 Info param2 to set the persistent latch state. More...
 
#define INFO_PARAM2_LATCH_SET   ((uint16_t)0x0001)
 Info param2 to set the persistent latch. More...
 
#define INFO_PARAM2_LATCH_CLEAR   ((uint16_t)0x0000)
 Info param2 to clear the persistent latch. More...
 
#define INFO_SIZE   ((uint8_t)0x04)
 Info return size. More...
 
#define INFO_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Info command response packet size. More...
 
Definitions for the KDF Command
#define KDF_MODE_IDX   ATCA_PARAM1_IDX
 KDF command index for mode. More...
 
#define KDF_KEYID_IDX   ATCA_PARAM2_IDX
 KDF command index for key id. More...
 
#define KDF_DETAILS_IDX   ATCA_DATA_IDX
 KDF command index for details. More...
 
#define KDF_DETAILS_SIZE   4
 KDF details (param3) size. More...
 
#define KDF_MESSAGE_IDX   (ATCA_DATA_IDX + KDF_DETAILS_SIZE)
 
#define KDF_MODE_SOURCE_MASK   ((uint8_t)0x03)
 KDF mode source key mask. More...
 
#define KDF_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 KDF mode source key in TempKey. More...
 
#define KDF_MODE_SOURCE_TEMPKEY_UP   ((uint8_t)0x01)
 KDF mode source key in upper TempKey. More...
 
#define KDF_MODE_SOURCE_SLOT   ((uint8_t)0x02)
 KDF mode source key in a slot. More...
 
#define KDF_MODE_SOURCE_ALTKEYBUF   ((uint8_t)0x03)
 KDF mode source key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_MASK   ((uint8_t)0x1C)
 KDF mode target key mask. More...
 
#define KDF_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 KDF mode target key in TempKey. More...
 
#define KDF_MODE_TARGET_TEMPKEY_UP   ((uint8_t)0x04)
 KDF mode target key in upper TempKey. More...
 
#define KDF_MODE_TARGET_SLOT   ((uint8_t)0x08)
 KDF mode target key in slot. More...
 
#define KDF_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x0C)
 KDF mode target key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT   ((uint8_t)0x10)
 KDF mode target key in output buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT_ENC   ((uint8_t)0x14)
 KDF mode target key encrypted in output buffer. More...
 
#define KDF_MODE_ALG_MASK   ((uint8_t)0x60)
 KDF mode algorithm mask. More...
 
#define KDF_MODE_ALG_PRF   ((uint8_t)0x00)
 KDF mode PRF algorithm. More...
 
#define KDF_MODE_ALG_AES   ((uint8_t)0x20)
 KDF mode AES algorithm. More...
 
#define KDF_MODE_ALG_HKDF   ((uint8_t)0x40)
 KDF mode HKDF algorithm. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_MASK   ((uint32_t)0x00000003)
 KDF details for PRF, source key length mask. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_16   ((uint32_t)0x00000000)
 KDF details for PRF, source key length is 16 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_32   ((uint32_t)0x00000001)
 KDF details for PRF, source key length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_48   ((uint32_t)0x00000002)
 KDF details for PRF, source key length is 48 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_64   ((uint32_t)0x00000003)
 KDF details for PRF, source key length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_MASK   ((uint32_t)0x00000100)
 KDF details for PRF, target length mask. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_32   ((uint32_t)0x00000000)
 KDF details for PRF, target length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_64   ((uint32_t)0x00000100)
 KDF details for PRF, target length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_AEAD_MASK   ((uint32_t)0x00000600)
 KDF details for PRF, AEAD processing mask. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE0   ((uint32_t)0x00000000)
 KDF details for PRF, AEAD no processing. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE1   ((uint32_t)0x00000200)
 KDF details for PRF, AEAD First 32 go to target, second 32 go to output buffer. More...
 
#define KDF_DETAILS_AES_KEY_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for AES, key location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for HKDF, message location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_SLOT   ((uint32_t)0x00000000)
 KDF details for HKDF, message location in slot. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY   ((uint32_t)0x00000001)
 KDF details for HKDF, message location in TempKey. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_INPUT   ((uint32_t)0x00000002)
 KDF details for HKDF, message location in input parameter. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_IV   ((uint32_t)0x00000003)
 KDF details for HKDF, message location is a special IV function. More...
 
#define KDF_DETAILS_HKDF_ZERO_KEY   ((uint32_t)0x00000004)
 KDF details for HKDF, key is 32 bytes of zero. More...
 
Definitions for the Lock Command
#define LOCK_ZONE_IDX   ATCA_PARAM1_IDX
 Lock command index for zone. More...
 
#define LOCK_SUMMARY_IDX   ATCA_PARAM2_IDX
 Lock command index for summary. More...
 
#define LOCK_COUNT   ATCA_CMD_SIZE_MIN
 Lock command packet size. More...
 
#define LOCK_ZONE_CONFIG   ((uint8_t)0x00)
 Lock zone is Config. More...
 
#define LOCK_ZONE_DATA   ((uint8_t)0x01)
 Lock zone is OTP or Data. More...
 
#define LOCK_ZONE_DATA_SLOT   ((uint8_t)0x02)
 Lock slot of Data. More...
 
#define LOCK_ZONE_NO_CRC   ((uint8_t)0x80)
 Lock command: Ignore summary. More...
 
#define LOCK_ZONE_MASK   (0xBF)
 Lock parameter 1 bits 6 are 0. More...
 
#define ATCA_UNLOCKED   (0x55)
 Value indicating an unlocked zone. More...
 
#define ATCA_LOCKED   (0x00)
 Value indicating a locked zone. More...
 
#define LOCK_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Lock command response packet size. More...
 
Definitions for the MAC Command
#define MAC_MODE_IDX   ATCA_PARAM1_IDX
 MAC command index for mode. More...
 
#define MAC_KEYID_IDX   ATCA_PARAM2_IDX
 MAC command index for key id. More...
 
#define MAC_CHALLENGE_IDX   ATCA_DATA_IDX
 MAC command index for optional challenge. More...
 
#define MAC_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 MAC command packet size without challenge. More...
 
#define MAC_COUNT_LONG   (39)
 MAC command packet size with challenge. More...
 
#define MAC_MODE_CHALLENGE   ((uint8_t)0x00)
 MAC mode 0: first SHA block from data slot. More...
 
#define MAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 MAC mode bit 1: first SHA block from TempKey. More...
 
#define MAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 MAC mode bit 2: match TempKey.SourceFlag. More...
 
#define MAC_MODE_PTNONCE_TEMPKEY   ((uint8_t)0x06)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_PASSTHROUGH   ((uint8_t)0x07)
 MAC mode bit 0-2: pass-through mode. More...
 
#define MAC_MODE_INCLUDE_OTP_88   ((uint8_t)0x10)
 MAC mode bit 4: include first 88 OTP bits. More...
 
#define MAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 MAC mode bit 5: include first 64 OTP bits. More...
 
#define MAC_MODE_INCLUDE_SN   ((uint8_t)0x40)
 MAC mode bit 6: include serial number. More...
 
#define MAC_CHALLENGE_SIZE   (32)
 MAC size of challenge. More...
 
#define MAC_SIZE   (32)
 MAC size of response. More...
 
#define MAC_MODE_MASK   ((uint8_t)0x77)
 MAC mode bits 3 and 7 are 0. More...
 
#define MAC_RSP_SIZE   ATCA_RSP_SIZE_32
 MAC command response packet size. More...
 
Definitions for the Nonce Command
#define NONCE_MODE_IDX   ATCA_PARAM1_IDX
 Nonce command index for mode. More...
 
#define NONCE_PARAM2_IDX   ATCA_PARAM2_IDX
 Nonce command index for 2. parameter. More...
 
#define NONCE_INPUT_IDX   ATCA_DATA_IDX
 Nonce command index for input data. More...
 
#define NONCE_COUNT_SHORT   (ATCA_CMD_SIZE_MIN + 20)
 Nonce command packet size for 20 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG   (ATCA_CMD_SIZE_MIN + 32)
 Nonce command packet size for 32 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG_64   (ATCA_CMD_SIZE_MIN + 64)
 Nonce command packet size for 64 bytes of NumIn. More...
 
#define NONCE_MODE_MASK   ((uint8_t)0x03)
 Nonce mode bits 2 to 7 are 0. More...
 
#define NONCE_MODE_SEED_UPDATE   ((uint8_t)0x00)
 Nonce mode: update seed. More...
 
#define NONCE_MODE_NO_SEED_UPDATE   ((uint8_t)0x01)
 Nonce mode: do not update seed. More...
 
#define NONCE_MODE_INVALID   ((uint8_t)0x02)
 Nonce mode 2 is invalid. More...
 
#define NONCE_MODE_PASSTHROUGH   ((uint8_t)0x03)
 Nonce mode: pass-through. More...
 
#define NONCE_MODE_INPUT_LEN_MASK   ((uint8_t)0x20)
 Nonce mode: input size mask. More...
 
#define NONCE_MODE_INPUT_LEN_32   ((uint8_t)0x00)
 Nonce mode: input size is 32 bytes. More...
 
#define NONCE_MODE_INPUT_LEN_64   ((uint8_t)0x20)
 Nonce mode: input size is 64 bytes. More...
 
#define NONCE_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Nonce mode: target mask. More...
 
#define NONCE_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Nonce mode: target is TempKey. More...
 
#define NONCE_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Nonce mode: target is Message Digest Buffer. More...
 
#define NONCE_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x80)
 Nonce mode: target is Alternate Key Buffer. More...
 
#define NONCE_ZERO_CALC_MASK   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode mask. More...
 
#define NONCE_ZERO_CALC_RANDOM   ((uint16_t)0x0000)
 Nonce zero (param2): calculation mode random, use RNG in calculation and return RNG output. More...
 
#define NONCE_ZERO_CALC_TEMPKEY   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode TempKey, use TempKey in calculation and return new TempKey value. More...
 
#define NONCE_NUMIN_SIZE   (20)
 Nonce NumIn size for random modes. More...
 
#define NONCE_NUMIN_SIZE_PASSTHROUGH   (32)
 Nonce NumIn size for 32-byte pass-through mode. More...
 
#define NONCE_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 Nonce command response packet size with no output. More...
 
#define NONCE_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 Nonce command response packet size with output. More...
 
Definitions for the Pause Command
#define PAUSE_SELECT_IDX   ATCA_PARAM1_IDX
 Pause command index for Selector. More...
 
#define PAUSE_PARAM2_IDX   ATCA_PARAM2_IDX
 Pause command index for 2. parameter. More...
 
#define PAUSE_COUNT   ATCA_CMD_SIZE_MIN
 Pause command packet size. More...
 
#define PAUSE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Pause command response packet size. More...
 
Definitions for the PrivWrite Command
#define PRIVWRITE_ZONE_IDX   ATCA_PARAM1_IDX
 PrivWrite command index for zone. More...
 
#define PRIVWRITE_KEYID_IDX   ATCA_PARAM2_IDX
 PrivWrite command index for KeyID. More...
 
#define PRIVWRITE_VALUE_IDX   ( 5)
 PrivWrite command index for value. More...
 
#define PRIVWRITE_MAC_IDX   (41)
 PrivWrite command index for MAC. More...
 
#define PRIVWRITE_COUNT   (75)
 PrivWrite command packet size. More...
 
#define PRIVWRITE_ZONE_MASK   ((uint8_t)0x40)
 PrivWrite zone bits 0 to 5 and 7 are 0. More...
 
#define PRIVWRITE_MODE_ENCRYPT   ((uint8_t)0x40)
 PrivWrite mode: encrypted. More...
 
#define PRIVWRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 PrivWrite command response packet size. More...
 
Definitions for the Random Command
#define RANDOM_MODE_IDX   ATCA_PARAM1_IDX
 Random command index for mode. More...
 
#define RANDOM_PARAM2_IDX   ATCA_PARAM2_IDX
 Random command index for 2. parameter. More...
 
#define RANDOM_COUNT   ATCA_CMD_SIZE_MIN
 Random command packet size. More...
 
#define RANDOM_SEED_UPDATE   ((uint8_t)0x00)
 Random mode for automatic seed update. More...
 
#define RANDOM_NO_SEED_UPDATE   ((uint8_t)0x01)
 Random mode for no seed update. More...
 
#define RANDOM_NUM_SIZE   ((uint8_t)32)
 Number of bytes in the data packet of a random command. More...
 
#define RANDOM_RSP_SIZE   ATCA_RSP_SIZE_32
 Random command response packet size. More...
 
Definitions for the Read Command
#define READ_ZONE_IDX   ATCA_PARAM1_IDX
 Read command index for zone. More...
 
#define READ_ADDR_IDX   ATCA_PARAM2_IDX
 Read command index for address. More...
 
#define READ_COUNT   ATCA_CMD_SIZE_MIN
 Read command packet size. More...
 
#define READ_ZONE_MASK   ((uint8_t)0x83)
 Read zone bits 2 to 6 are 0. More...
 
#define READ_4_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Read command response packet size when reading 4 bytes. More...
 
#define READ_32_RSP_SIZE   ATCA_RSP_SIZE_32
 Read command response packet size when reading 32 bytes. More...
 
Definitions for the SecureBoot Command
#define SECUREBOOT_MODE_IDX   ATCA_PARAM1_IDX
 SecureBoot command index for mode. More...
 
#define SECUREBOOT_DIGEST_SIZE   (32)
 SecureBoot digest input size. More...
 
#define SECUREBOOT_SIGNATURE_SIZE   (64)
 SecureBoot signature input size. More...
 
#define SECUREBOOT_COUNT_DIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE)
 SecureBoot command packet size for just a digest. More...
 
#define SECUREBOOT_COUNT_DIG_SIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE + SECUREBOOT_SIGNATURE_SIZE)
 SecureBoot command packet size for a digest and signature. More...
 
#define SECUREBOOT_MAC_SIZE   (32)
 SecureBoot MAC output size. More...
 
#define SECUREBOOT_RSP_SIZE_NO_MAC   ATCA_RSP_SIZE_MIN
 SecureBoot response packet size for no MAC. More...
 
#define SECUREBOOT_RSP_SIZE_MAC   (ATCA_PACKET_OVERHEAD + SECUREBOOT_MAC_SIZE)
 SecureBoot response packet size with MAC. More...
 
#define SECUREBOOT_MODE_MASK   ((uint8_t)0x07)
 SecureBoot mode mask. More...
 
#define SECUREBOOT_MODE_FULL   ((uint8_t)0x05)
 SecureBoot mode Full. More...
 
#define SECUREBOOT_MODE_FULL_STORE   ((uint8_t)0x06)
 SecureBoot mode FullStore. More...
 
#define SECUREBOOT_MODE_FULL_COPY   ((uint8_t)0x07)
 SecureBoot mode FullCopy. More...
 
#define SECUREBOOT_MODE_PROHIBIT_FLAG   ((uint8_t)0x40)
 SecureBoot mode flag to prohibit SecureBoot until next power cycle. More...
 
#define SECUREBOOT_MODE_ENC_MAC_FLAG   ((uint8_t)0x80)
 SecureBoot mode flag for encrypted digest and returning validating MAC. More...
 
#define SECUREBOOTCONFIG_OFFSET   (70)
 SecureBootConfig byte offset into the configuration zone. More...
 
#define SECUREBOOTCONFIG_MODE_MASK   ((uint16_t)0x0003)
 Mask for SecureBootMode field in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_DISABLED   ((uint16_t)0x0000)
 Disabled SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_BOTH   ((uint16_t)0x0001)
 Both digest and signature always required SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_SIG   ((uint16_t)0x0002)
 Signature stored SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_DIG   ((uint16_t)0x0003)
 Digest stored SecureBootMode in SecureBootConfig value. More...
 
Definitions for the SelfTest Command
#define SELFTEST_MODE_IDX   ATCA_PARAM1_IDX
 SelfTest command index for mode. More...
 
#define SELFTEST_COUNT   ATCA_CMD_SIZE_MIN
 SelfTest command packet size. More...
 
#define SELFTEST_MODE_RNG   ((uint8_t)0x01)
 SelfTest mode RNG DRBG function. More...
 
#define SELFTEST_MODE_ECDSA_SIGN_VERIFY   ((uint8_t)0x02)
 SelfTest mode ECDSA verify function. More...
 
#define SELFTEST_MODE_ECDH   ((uint8_t)0x08)
 SelfTest mode ECDH function. More...
 
#define SELFTEST_MODE_AES   ((uint8_t)0x10)
 SelfTest mode AES encrypt function. More...
 
#define SELFTEST_MODE_SHA   ((uint8_t)0x20)
 SelfTest mode SHA function. More...
 
#define SELFTEST_MODE_ALL   ((uint8_t)0x3B)
 SelfTest mode all algorithms. More...
 
#define SELFTEST_RSP_SIZE   ATCA_RSP_SIZE_MIN
 SelfTest command response packet size. More...
 
Definitions for the SHA Command
#define SHA_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 
#define SHA_COUNT_LONG   ATCA_CMD_SIZE_MIN
 Just a starting size. More...
 
#define ATCA_SHA_DIGEST_SIZE   (32)
 
#define SHA_DATA_MAX   (64)
 
#define ATCA_SHA256_BLOCK_SIZE   (64)
 
#define SHA_CONTEXT_MAX_SIZE   (99)
 
#define SHA_MODE_MASK   ((uint8_t)0x07)
 Mask the bit 0-2. More...
 
#define SHA_MODE_SHA256_START   ((uint8_t)0x00)
 Initialization, does not accept a message. More...
 
#define SHA_MODE_SHA256_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_SHA256_END   ((uint8_t)0x02)
 Complete the calculation and return the digest. More...
 
#define SHA_MODE_SHA256_PUBLIC   ((uint8_t)0x03)
 Add 64 byte ECC public key in the slot to the SHA context. More...
 
#define SHA_MODE_HMAC_START   ((uint8_t)0x04)
 Initialization, HMAC calculation. More...
 
#define SHA_MODE_HMAC_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_HMAC_END   ((uint8_t)0x05)
 Complete the HMAC computation and return digest. More...
 
#define SHA_MODE_608_HMAC_END   ((uint8_t)0x02)
 Complete the HMAC computation and return digest... Different command on 608. More...
 
#define SHA_MODE_READ_CONTEXT   ((uint8_t)0x06)
 Read current SHA-256 context out of the device. More...
 
#define SHA_MODE_WRITE_CONTEXT   ((uint8_t)0x07)
 Restore a SHA-256 context into the device. More...
 
#define SHA_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Resulting digest target location mask. More...
 
#define SHA_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Place resulting digest both in Output buffer and TempKey. More...
 
#define SHA_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Place resulting digest both in Output buffer and Message Digest Buffer. More...
 
#define SHA_MODE_TARGET_OUT_ONLY   ((uint8_t)0xC0)
 Place resulting digest both in Output buffer ONLY. More...
 
#define SHA_RSP_SIZE   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
#define SHA_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 SHA command response packet size only status code. More...
 
#define SHA_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
Definitions for the Sign Command
#define SIGN_MODE_IDX   ATCA_PARAM1_IDX
 Sign command index for mode. More...
 
#define SIGN_KEYID_IDX   ATCA_PARAM2_IDX
 Sign command index for key id. More...
 
#define SIGN_COUNT   ATCA_CMD_SIZE_MIN
 Sign command packet size. More...
 
#define SIGN_MODE_MASK   ((uint8_t)0xE1)
 Sign mode bits 1 to 4 are 0. More...
 
#define SIGN_MODE_INTERNAL   ((uint8_t)0x00)
 Sign mode 0: internal. More...
 
#define SIGN_MODE_INVALIDATE   ((uint8_t)0x01)
 Sign mode bit 1: Signature will be used for Verify(Invalidate) More...
 
#define SIGN_MODE_INCLUDE_SN   ((uint8_t)0x40)
 Sign mode bit 6: include serial number. More...
 
#define SIGN_MODE_EXTERNAL   ((uint8_t)0x80)
 Sign mode bit 7: external. More...
 
#define SIGN_MODE_SOURCE_MASK   ((uint8_t)0x20)
 Sign mode message source mask. More...
 
#define SIGN_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 Sign mode message source is TempKey. More...
 
#define SIGN_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
 Sign mode message source is the Message Digest Buffer. More...
 
#define SIGN_RSP_SIZE   ATCA_RSP_SIZE_MAX
 Sign command response packet size. More...
 
Definitions for the UpdateExtra Command
#define UPDATE_MODE_IDX   ATCA_PARAM1_IDX
 UpdateExtra command index for mode. More...
 
#define UPDATE_VALUE_IDX   ATCA_PARAM2_IDX
 UpdateExtra command index for new value. More...
 
#define UPDATE_COUNT   ATCA_CMD_SIZE_MIN
 UpdateExtra command packet size. More...
 
#define UPDATE_MODE_USER_EXTRA   ((uint8_t)0x00)
 UpdateExtra mode update UserExtra (config byte 84) More...
 
#define UPDATE_MODE_SELECTOR   ((uint8_t)0x01)
 UpdateExtra mode update Selector (config byte 85) More...
 
#define UPDATE_MODE_USER_EXTRA_ADD   UPDATE_MODE_SELECTOR
 UpdateExtra mode update UserExtraAdd (config byte 85) More...
 
#define UPDATE_MODE_DEC_COUNTER   ((uint8_t)0x02)
 UpdateExtra mode: decrement counter. More...
 
#define UPDATE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 UpdateExtra command response packet size. More...
 
Definitions for the Verify Command
#define VERIFY_MODE_IDX   ATCA_PARAM1_IDX
 Verify command index for mode. More...
 
#define VERIFY_KEYID_IDX   ATCA_PARAM2_IDX
 Verify command index for key id. More...
 
#define VERIFY_DATA_IDX   ( 5)
 Verify command index for data. More...
 
#define VERIFY_256_STORED_COUNT   ( 71)
 Verify command packet size for 256-bit key in stored mode. More...
 
#define VERIFY_283_STORED_COUNT   ( 79)
 Verify command packet size for 283-bit key in stored mode. More...
 
#define VERIFY_256_VALIDATE_COUNT   ( 90)
 Verify command packet size for 256-bit key in validate mode. More...
 
#define VERIFY_283_VALIDATE_COUNT   ( 98)
 Verify command packet size for 283-bit key in validate mode. More...
 
#define VERIFY_256_EXTERNAL_COUNT   (135)
 Verify command packet size for 256-bit key in external mode. More...
 
#define VERIFY_283_EXTERNAL_COUNT   (151)
 Verify command packet size for 283-bit key in external mode. More...
 
#define VERIFY_256_KEY_SIZE   ( 64)
 Verify key size for 256-bit key. More...
 
#define VERIFY_283_KEY_SIZE   ( 72)
 Verify key size for 283-bit key. More...
 
#define VERIFY_256_SIGNATURE_SIZE   ( 64)
 Verify signature size for 256-bit key. More...
 
#define VERIFY_283_SIGNATURE_SIZE   ( 72)
 Verify signature size for 283-bit key. More...
 
#define VERIFY_OTHER_DATA_SIZE   ( 19)
 Verify size of "other data". More...
 
#define VERIFY_MODE_MASK   ((uint8_t)0x03)
 Verify mode bits 2 to 7 are 0. More...
 
#define VERIFY_MODE_STORED   ((uint8_t)0x00)
 Verify mode: stored. More...
 
#define VERIFY_MODE_VALIDATE_EXTERNAL   ((uint8_t)0x01)
 Verify mode: validate external. More...
 
#define VERIFY_MODE_EXTERNAL   ((uint8_t)0x02)
 Verify mode: external. More...
 
#define VERIFY_MODE_VALIDATE   ((uint8_t)0x03)
 Verify mode: validate. More...
 
#define VERIFY_MODE_INVALIDATE   ((uint8_t)0x07)
 Verify mode: invalidate. More...
 
#define VERIFY_MODE_SOURCE_MASK   ((uint8_t)0x20)
 Verify mode message source mask. More...
 
#define VERIFY_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 Verify mode message source is TempKey. More...
 
#define VERIFY_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
 Verify mode message source is the Message Digest Buffer. More...
 
#define VERIFY_MODE_MAC_FLAG   ((uint8_t)0x80)
 Verify mode: MAC. More...
 
#define VERIFY_KEY_B283   ((uint16_t)0x0000)
 Verify key type: B283. More...
 
#define VERIFY_KEY_K283   ((uint16_t)0x0001)
 Verify key type: K283. More...
 
#define VERIFY_KEY_P256   ((uint16_t)0x0004)
 Verify key type: P256. More...
 
#define VERIFY_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Verify command response packet size. More...
 
#define VERIFY_RSP_SIZE_MAC   ATCA_RSP_SIZE_32
 Verify command response packet size with validating MAC. More...
 
Definitions for the Write Command
#define WRITE_ZONE_IDX   ATCA_PARAM1_IDX
 Write command index for zone. More...
 
#define WRITE_ADDR_IDX   ATCA_PARAM2_IDX
 Write command index for address. More...
 
#define WRITE_VALUE_IDX   ATCA_DATA_IDX
 Write command index for data. More...
 
#define WRITE_MAC_VS_IDX   ( 9)
 Write command index for MAC following short data. More...
 
#define WRITE_MAC_VL_IDX   (37)
 Write command index for MAC following long data. More...
 
#define WRITE_MAC_SIZE   (32)
 Write MAC size. More...
 
#define WRITE_ZONE_MASK   ((uint8_t)0xC3)
 Write zone bits 2 to 5 are 0. More...
 
#define WRITE_ZONE_WITH_MAC   ((uint8_t)0x40)
 Write zone bit 6: write encrypted with MAC. More...
 
#define WRITE_ZONE_OTP   ((uint8_t)1)
 Write zone id OTP. More...
 
#define WRITE_ZONE_DATA   ((uint8_t)2)
 Write zone id data. More...
 
#define WRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Write command response packet size. More...
 
- - - -

-Typedefs

typedef struct atca_commandATCACommand
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
 Initializer for ATCACommand. More...
 
ATCACommand newATCACommand (ATCADeviceType device_type)
 constructor for ATCACommand More...
 
void deleteATCACommand (ATCACommand *ca_cmd)
 ATCACommand destructor. More...
 
ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand CheckMAC method. More...
 
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Counter method. More...
 
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand DeriveKey method. More...
 
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDH method. More...
 
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
 ATCACommand Generate Digest method. More...
 
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Generate Key method. More...
 
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand HMAC method. More...
 
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Info method. More...
 
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Lock method. More...
 
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand MAC method. More...
 
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Nonce method. More...
 
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Pause method. More...
 
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand PrivWrite method. More...
 
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Random method. More...
 
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Read method. More...
 
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand SecureBoot method. More...
 
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
 ATCACommand SHA method. More...
 
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Sign method. More...
 
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand UpdateExtra method. More...
 
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDSA Verify method. More...
 
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand Write method. More...
 
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand KDF method. More...
 
bool atIsSHAFamily (ATCADeviceType device_type)
 determines if a given device type is a SHA device or a superset of a SHA device More...
 
bool atIsECCFamily (ATCADeviceType device_type)
 determines if a given device type is an ECC device or a superset of a ECC device More...
 
ATCA_STATUS isATCAError (uint8_t *data)
 checks for basic error frame in data More...
 
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
 Calculates CRC over the given raw data and returns the CRC in little-endian byte order. More...
 
void atCalcCrc (ATCAPacket *pkt)
 This function calculates CRC and adds it to the correct offset in the packet data. More...
 
ATCA_STATUS atCheckCrc (const uint8_t *response)
 This function checks the consistency of a response. More...
 

+Variables

ATCAIfaceCfg cfg_ateccx08a_i2c_default
 default configuration for an ECCx08A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_ateccx08a_swi_default
 default configuration for an ECCx08A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
 default configuration for Kit protocol over a CDC interface More...
 
ATCAIfaceCfg cfg_ateccx08a_kithid_default
 default configuration for Kit protocol over a HID interface More...
 
ATCAIfaceCfg cfg_atsha204a_i2c_default
 default configuration for a SHA204A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_atsha204a_swi_default
 default configuration for an SHA204A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
 default configuration for Kit protocol over a CDC interface More...
 
ATCAIfaceCfg cfg_atsha204a_kithid_default
 default configuration for Kit protocol over a HID interface for SHA204 More...
 

Detailed Description

-

Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch.

-

This command object supports the ATSHA and ATECC device family. The command list is a superset of all device commands for this family. The command object differentiates the packet contents based on specific device type within the family.

+

a set of default configurations for various ATCA devices and interfaces

-

Macro Definition Documentation

- -

◆ SIGN_COUNT

- -
-
- - - - -
#define SIGN_COUNT   ATCA_CMD_SIZE_MIN
-
- -

Sign command packet size.

- -
-
- -

◆ SIGN_KEYID_IDX

- -
-
- - - - -
#define SIGN_KEYID_IDX   ATCA_PARAM2_IDX
-
- -

Sign command index for key id.

- -
-
- -

◆ SIGN_MODE_EXTERNAL

- -
-
- - - - -
#define SIGN_MODE_EXTERNAL   ((uint8_t)0x80)
-
- -

Sign mode bit 7: external.

- -
-
- -

◆ SIGN_MODE_IDX

- -
-
- - - - -
#define SIGN_MODE_IDX   ATCA_PARAM1_IDX
-
- -

Sign command index for mode.

- -
-
- -

◆ SIGN_MODE_INCLUDE_SN

- -
-
- - - - -
#define SIGN_MODE_INCLUDE_SN   ((uint8_t)0x40)
-
- -

Sign mode bit 6: include serial number.

- -
-
- -

◆ SIGN_MODE_INTERNAL

- -
-
- - - - -
#define SIGN_MODE_INTERNAL   ((uint8_t)0x00)
-
- -

Sign mode 0: internal.

- -
-
- -

◆ SIGN_MODE_INVALIDATE

- -
-
- - - - -
#define SIGN_MODE_INVALIDATE   ((uint8_t)0x01)
-
- -

Sign mode bit 1: Signature will be used for Verify(Invalidate)

- -
-
- -

◆ SIGN_MODE_MASK

- -
-
- - - - -
#define SIGN_MODE_MASK   ((uint8_t)0xE1)
-
- -

Sign mode bits 1 to 4 are 0.

- -
-
- -

◆ SIGN_MODE_SOURCE_MASK

- -
-
- - - - -
#define SIGN_MODE_SOURCE_MASK   ((uint8_t)0x20)
-
- -

Sign mode message source mask.

- -
-
- -

◆ SIGN_MODE_SOURCE_MSGDIGBUF

- -
-
- - - - -
#define SIGN_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
-
- -

Sign mode message source is the Message Digest Buffer.

- -
-
- -

◆ SIGN_MODE_SOURCE_TEMPKEY

- -
-
- - - - -
#define SIGN_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
-
- -

Sign mode message source is TempKey.

- -
-
- -

◆ SIGN_RSP_SIZE

- -
-
- - - - -
#define SIGN_RSP_SIZE   ATCA_RSP_SIZE_MAX
-
- -

Sign command response packet size.

- -
-
- -

◆ UPDATE_COUNT

- -
-
- - - - -
#define UPDATE_COUNT   ATCA_CMD_SIZE_MIN
-
- -

UpdateExtra command packet size.

- -
-
- -

◆ UPDATE_MODE_DEC_COUNTER

- -
-
- - - - -
#define UPDATE_MODE_DEC_COUNTER   ((uint8_t)0x02)
-
- -

UpdateExtra mode: decrement counter.

- -
-
- -

◆ UPDATE_MODE_IDX

- -
-
- - - - -
#define UPDATE_MODE_IDX   ATCA_PARAM1_IDX
-
- -

UpdateExtra command index for mode.

- -
-
- -

◆ UPDATE_MODE_SELECTOR

- -
-
- - - - -
#define UPDATE_MODE_SELECTOR   ((uint8_t)0x01)
-
- -

UpdateExtra mode update Selector (config byte 85)

- -
-
- -

◆ UPDATE_MODE_USER_EXTRA

- -
-
- - - - -
#define UPDATE_MODE_USER_EXTRA   ((uint8_t)0x00)
-
- -

UpdateExtra mode update UserExtra (config byte 84)

- -
-
- -

◆ UPDATE_MODE_USER_EXTRA_ADD

- -
-
- - - - -
#define UPDATE_MODE_USER_EXTRA_ADD   UPDATE_MODE_SELECTOR
-
- -

UpdateExtra mode update UserExtraAdd (config byte 85)

- -
-
- -

◆ UPDATE_RSP_SIZE

- -
-
- - - - -
#define UPDATE_RSP_SIZE   ATCA_RSP_SIZE_MIN
-
- -

UpdateExtra command response packet size.

- -
-
- -

◆ UPDATE_VALUE_IDX

- -
-
- - - - -
#define UPDATE_VALUE_IDX   ATCA_PARAM2_IDX
-
- -

UpdateExtra command index for new value.

- -
-
- -

◆ VERIFY_256_EXTERNAL_COUNT

- -
-
- - - - -
#define VERIFY_256_EXTERNAL_COUNT   (135)
-
- -

Verify command packet size for 256-bit key in external mode.

- -
-
- -

◆ VERIFY_256_KEY_SIZE

- -
-
- - - - -
#define VERIFY_256_KEY_SIZE   ( 64)
-
- -

Verify key size for 256-bit key.

- -
-
- -

◆ VERIFY_256_SIGNATURE_SIZE

- -
-
- - - - -
#define VERIFY_256_SIGNATURE_SIZE   ( 64)
-
- -

Verify signature size for 256-bit key.

- -
-
- -

◆ VERIFY_256_STORED_COUNT

- -
-
- - - - -
#define VERIFY_256_STORED_COUNT   ( 71)
-
- -

Verify command packet size for 256-bit key in stored mode.

- -
-
- -

◆ VERIFY_256_VALIDATE_COUNT

- -
-
- - - - -
#define VERIFY_256_VALIDATE_COUNT   ( 90)
-
- -

Verify command packet size for 256-bit key in validate mode.

- -
-
- -

◆ VERIFY_283_EXTERNAL_COUNT

- -
-
- - - - -
#define VERIFY_283_EXTERNAL_COUNT   (151)
-
- -

Verify command packet size for 283-bit key in external mode.

- -
-
- -

◆ VERIFY_283_KEY_SIZE

- -
-
- - - - -
#define VERIFY_283_KEY_SIZE   ( 72)
-
- -

Verify key size for 283-bit key.

- -
-
- -

◆ VERIFY_283_SIGNATURE_SIZE

- -
-
- - - - -
#define VERIFY_283_SIGNATURE_SIZE   ( 72)
-
- -

Verify signature size for 283-bit key.

- -
-
- -

◆ VERIFY_283_STORED_COUNT

- -
-
- - - - -
#define VERIFY_283_STORED_COUNT   ( 79)
-
- -

Verify command packet size for 283-bit key in stored mode.

- -
-
- -

◆ VERIFY_283_VALIDATE_COUNT

- -
-
- - - - -
#define VERIFY_283_VALIDATE_COUNT   ( 98)
-
- -

Verify command packet size for 283-bit key in validate mode.

- -
-
- -

◆ VERIFY_DATA_IDX

- -
-
- - - - -
#define VERIFY_DATA_IDX   ( 5)
-
- -

Verify command index for data.

- -
-
- -

◆ VERIFY_KEY_B283

- -
-
- - - - -
#define VERIFY_KEY_B283   ((uint16_t)0x0000)
-
- -

Verify key type: B283.

- -
-
- -

◆ VERIFY_KEY_K283

- -
-
- - - - -
#define VERIFY_KEY_K283   ((uint16_t)0x0001)
-
- -

Verify key type: K283.

- -
-
- -

◆ VERIFY_KEY_P256

- -
-
- - - - -
#define VERIFY_KEY_P256   ((uint16_t)0x0004)
-
- -

Verify key type: P256.

- -
-
- -

◆ VERIFY_KEYID_IDX

- -
-
- - - - -
#define VERIFY_KEYID_IDX   ATCA_PARAM2_IDX
-
- -

Verify command index for key id.

- -
-
- -

◆ VERIFY_MODE_EXTERNAL

- -
-
- - - - -
#define VERIFY_MODE_EXTERNAL   ((uint8_t)0x02)
-
- -

Verify mode: external.

- -
-
- -

◆ VERIFY_MODE_IDX

- -
-
- - - - -
#define VERIFY_MODE_IDX   ATCA_PARAM1_IDX
-
- -

Verify command index for mode.

- -
-
- -

◆ VERIFY_MODE_INVALIDATE

- -
-
- - - - -
#define VERIFY_MODE_INVALIDATE   ((uint8_t)0x07)
-
- -

Verify mode: invalidate.

- -
-
- -

◆ VERIFY_MODE_MAC_FLAG

- -
-
- - - - -
#define VERIFY_MODE_MAC_FLAG   ((uint8_t)0x80)
-
- -

Verify mode: MAC.

- -
-
- -

◆ VERIFY_MODE_MASK

- -
-
- - - - -
#define VERIFY_MODE_MASK   ((uint8_t)0x03)
-
- -

Verify mode bits 2 to 7 are 0.

- -
-
- -

◆ VERIFY_MODE_SOURCE_MASK

- -
-
- - - - -
#define VERIFY_MODE_SOURCE_MASK   ((uint8_t)0x20)
-
- -

Verify mode message source mask.

- -
-
- -

◆ VERIFY_MODE_SOURCE_MSGDIGBUF

- -
-
- - - - -
#define VERIFY_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
-
- -

Verify mode message source is the Message Digest Buffer.

- -
-
- -

◆ VERIFY_MODE_SOURCE_TEMPKEY

- -
-
- - - - -
#define VERIFY_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
-
- -

Verify mode message source is TempKey.

- -
-
- -

◆ VERIFY_MODE_STORED

- -
-
- - - - -
#define VERIFY_MODE_STORED   ((uint8_t)0x00)
-
- -

Verify mode: stored.

- -
-
- -

◆ VERIFY_MODE_VALIDATE

- -
-
- - - - -
#define VERIFY_MODE_VALIDATE   ((uint8_t)0x03)
-
- -

Verify mode: validate.

- -
-
- -

◆ VERIFY_MODE_VALIDATE_EXTERNAL

- -
-
- - - - -
#define VERIFY_MODE_VALIDATE_EXTERNAL   ((uint8_t)0x01)
-
- -

Verify mode: validate external.

- -
-
- -

◆ VERIFY_OTHER_DATA_SIZE

- -
-
- - - - -
#define VERIFY_OTHER_DATA_SIZE   ( 19)
-
- -

Verify size of "other data".

- -
-
- -

◆ VERIFY_RSP_SIZE

- -
-
- - - - -
#define VERIFY_RSP_SIZE   ATCA_RSP_SIZE_MIN
-
- -

Verify command response packet size.

- -
-
- -

◆ VERIFY_RSP_SIZE_MAC

- -
-
- - - - -
#define VERIFY_RSP_SIZE_MAC   ATCA_RSP_SIZE_32
-
- -

Verify command response packet size with validating MAC.

- -
-
- -

◆ WRITE_ADDR_IDX

- -
-
- - - - -
#define WRITE_ADDR_IDX   ATCA_PARAM2_IDX
-
- -

Write command index for address.

- -
-
- -

◆ WRITE_MAC_SIZE

- -
-
- - - - -
#define WRITE_MAC_SIZE   (32)
-
- -

Write MAC size.

- -
-
- -

◆ WRITE_MAC_VL_IDX

- -
-
- - - - -
#define WRITE_MAC_VL_IDX   (37)
-
- -

Write command index for MAC following long data.

- -
-
- -

◆ WRITE_MAC_VS_IDX

- -
-
- - - - -
#define WRITE_MAC_VS_IDX   ( 9)
-
- -

Write command index for MAC following short data.

- -
-
- -

◆ WRITE_RSP_SIZE

- -
-
- - - - -
#define WRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
-
- -

Write command response packet size.

- -
-
- -

◆ WRITE_VALUE_IDX

- -
-
- - - - -
#define WRITE_VALUE_IDX   ATCA_DATA_IDX
-
- -

Write command index for data.

- -
-
- -

◆ WRITE_ZONE_DATA

- -
-
- - - - -
#define WRITE_ZONE_DATA   ((uint8_t)2)
-
- -

Write zone id data.

- -
-
- -

◆ WRITE_ZONE_IDX

- -
-
- - - - -
#define WRITE_ZONE_IDX   ATCA_PARAM1_IDX
-
- -

Write command index for zone.

- -
-
- -

◆ WRITE_ZONE_MASK

- -
-
- - - - -
#define WRITE_ZONE_MASK   ((uint8_t)0xC3)
-
- -

Write zone bits 2 to 5 are 0.

- -
-
- -

◆ WRITE_ZONE_OTP

- -
-
- - - - -
#define WRITE_ZONE_OTP   ((uint8_t)1)
-
- -

Write zone id OTP.

- -
-
- -

◆ WRITE_ZONE_WITH_MAC

- -
-
- - - - -
#define WRITE_ZONE_WITH_MAC   ((uint8_t)0x40)
-
- -

Write zone bit 6: write encrypted with MAC.

- -
-
-
+
-Go to the documentation of this file.
1 
34 #ifndef ATCA_COMMAND_H
35 #define ATCA_COMMAND_H
36 
37 #include "atca_compiler.h"
38 #include "atca_status.h"
39 #include "atca_devtypes.h"
40 #include <stddef.h>
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
53 {
55  uint8_t clock_divider;
57 };
58 
59 /*--- ATCACommand ---------*/
60 typedef struct atca_command* ATCACommand;
61 
64 void deleteATCACommand(ATCACommand *ca_cmd);
65 
66 /* add ATCACommand declarations here
67  *
68  * since these are still C functions, not classes, naming is an important
69  * consideration to keep the namespace from colliding with other 3rd party
70  * libraries or even ourselves/ASF.
71  *
72  * Basic conventions:
73  * all methods start with the prefix 'at'
74  * all method names must be unique, obviously
75  * all method implementations should be proceeded by their Doxygen comment header
76  *
77  **/
78 
79 
80 // this is the ATCACommand parameter structure. The caller to the command method must
81 // initialize param1, param2 and data if appropriate. The command method will fill in the rest
82 // and initialize the packet so it's ready to send via the ATCAIFace.
83 // this particular structure mimics the ATSHA and ATECC family device's command structures
84 
85 // Note: pack @ 2 is required, @ 1 causes word alignment crash (though it should not), a known bug in GCC.
86 // @2, the wire still has the intended byte alignment with arm-eabi. this is likely the least portable part of atca
87 
88 #pragma pack( push, ATCAPacket, 2 )
89 
93 typedef struct
94 {
95 
96  // used for transmit/send
97  uint8_t _reserved; // used by HAL layer as needed (I/O tokens, Word address values)
98 
99  //--- start of packet i/o frame----
100  uint8_t txsize;
101  uint8_t opcode;
102  uint8_t param1; // often same as mode
103  uint16_t param2;
104  uint8_t data[192]; // includes 2-byte CRC. data size is determined by largest possible data section of any
105  // command + crc (see: x08 verify data1 + data2 + data3 + data4)
106  // this is an explicit design trade-off (space) resulting in simplicity in use
107  // and implementation
108  //--- end of packet i/o frame
109 
110  // used for receive
111  uint8_t execTime; // execution time of command by opcode
112 
113  // structure should be packed since it will be transmitted over the wire
114  // this method varies by compiler. As new compilers are supported, add their structure packing method here
115 
116 } ATCAPacket;
117 
118 #pragma pack( pop, ATCAPacket)
119 
120 
123 ATCA_STATUS atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac);
124 ATCA_STATUS atECDH(ATCACommand ca_cmd, ATCAPacket *packet);
125 ATCA_STATUS atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key);
126 ATCA_STATUS atGenKey(ATCACommand ca_cmd, ATCAPacket *packet);
127 ATCA_STATUS atHMAC(ATCACommand ca_cmd, ATCAPacket *packet);
128 ATCA_STATUS atInfo(ATCACommand ca_cmd, ATCAPacket *packet);
129 ATCA_STATUS atLock(ATCACommand ca_cmd, ATCAPacket *packet);
130 ATCA_STATUS atMAC(ATCACommand ca_cmd, ATCAPacket *packet);
131 ATCA_STATUS atNonce(ATCACommand ca_cmd, ATCAPacket *packet);
132 ATCA_STATUS atPause(ATCACommand ca_cmd, ATCAPacket *packet);
134 ATCA_STATUS atRandom(ATCACommand ca_cmd, ATCAPacket *packet);
135 ATCA_STATUS atRead(ATCACommand ca_cmd, ATCAPacket *packet);
137 ATCA_STATUS atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size);
138 ATCA_STATUS atSign(ATCACommand ca_cmd, ATCAPacket *packet);
140 ATCA_STATUS atVerify(ATCACommand ca_cmd, ATCAPacket *packet);
141 ATCA_STATUS atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac);
142 ATCA_STATUS atAES(ATCACommand ca_cmd, ATCAPacket *packet);
144 ATCA_STATUS atKDF(ATCACommand ca_cmd, ATCAPacket *packet);
145 
146 bool atIsSHAFamily(ATCADeviceType device_type);
147 bool atIsECCFamily(ATCADeviceType device_type);
148 ATCA_STATUS isATCAError(uint8_t *data);
149 
150 
151 // command helpers
152 void atCRC(size_t length, const uint8_t *data, uint8_t *crc_le);
153 void atCalcCrc(ATCAPacket *pkt);
154 ATCA_STATUS atCheckCrc(const uint8_t *response);
155 
156 
157 /* command definitions */
158 
160 #define ATCA_CMD_SIZE_MIN ((uint8_t)7)
161 #define ATCA_CMD_SIZE_MAX ((uint8_t)4 * 36 + 7)
163 #define CMD_STATUS_SUCCESS ((uint8_t)0x00)
165 #define CMD_STATUS_WAKEUP ((uint8_t)0x11)
167 #define CMD_STATUS_BYTE_PARSE ((uint8_t)0x03)
169 #define CMD_STATUS_BYTE_ECC ((uint8_t)0x05)
171 #define CMD_STATUS_BYTE_EXEC ((uint8_t)0x0F)
173 #define CMD_STATUS_BYTE_COMM ((uint8_t)0xFF)
175 
178 #define ATCA_CHECKMAC ((uint8_t)0x28)
179 #define ATCA_DERIVE_KEY ((uint8_t)0x1C)
180 #define ATCA_INFO ((uint8_t)0x30)
181 #define ATCA_GENDIG ((uint8_t)0x15)
182 #define ATCA_GENKEY ((uint8_t)0x40)
183 #define ATCA_HMAC ((uint8_t)0x11)
184 #define ATCA_LOCK ((uint8_t)0x17)
185 #define ATCA_MAC ((uint8_t)0x08)
186 #define ATCA_NONCE ((uint8_t)0x16)
187 #define ATCA_PAUSE ((uint8_t)0x01)
188 #define ATCA_PRIVWRITE ((uint8_t)0x46)
189 #define ATCA_RANDOM ((uint8_t)0x1B)
190 #define ATCA_READ ((uint8_t)0x02)
191 #define ATCA_SIGN ((uint8_t)0x41)
192 #define ATCA_UPDATE_EXTRA ((uint8_t)0x20)
193 #define ATCA_VERIFY ((uint8_t)0x45)
194 #define ATCA_WRITE ((uint8_t)0x12)
195 #define ATCA_ECDH ((uint8_t)0x43)
196 #define ATCA_COUNTER ((uint8_t)0x24)
197 #define ATCA_SHA ((uint8_t)0x47)
198 #define ATCA_AES ((uint8_t)0x51)
199 #define ATCA_KDF ((uint8_t)0x56)
200 #define ATCA_SECUREBOOT ((uint8_t)0x80)
201 #define ATCA_SELFTEST ((uint8_t)0x77)
202 
203 
204 
205 
211 #define ATCA_BLOCK_SIZE (32)
212 #define ATCA_WORD_SIZE (4)
213 #define ATCA_PUB_KEY_PAD (4)
214 #define ATCA_SERIAL_NUM_SIZE (9)
215 #define ATCA_RSP_SIZE_VAL ((uint8_t)7)
216 #define ATCA_KEY_COUNT (16)
217 #define ATCA_ECC_CONFIG_SIZE (128)
218 #define ATCA_SHA_CONFIG_SIZE (88)
219 #define ATCA_OTP_SIZE (64)
220 #define ATCA_DATA_SIZE (ATCA_KEY_COUNT * ATCA_KEY_SIZE)
221 #define ATCA_AES_GFM_SIZE ATCA_BLOCK_SIZE
222 
223 #define ATCA_CHIPMODE_OFFSET (19)
224 #define ATCA_CHIPMODE_I2C_ADDRESS_FLAG ((uint8_t)0x01)
225 #define ATCA_CHIPMODE_TTL_ENABLE_FLAG ((uint8_t)0x02)
226 #define ATCA_CHIPMODE_WATCHDOG_MASK ((uint8_t)0x04)
227 #define ATCA_CHIPMODE_WATCHDOG_SHORT ((uint8_t)0x00)
228 #define ATCA_CHIPMODE_WATCHDOG_LONG ((uint8_t)0x04)
229 #define ATCA_CHIPMODE_CLOCK_DIV_MASK ((uint8_t)0xF8)
230 #define ATCA_CHIPMODE_CLOCK_DIV_M0 ((uint8_t)0x00)
231 #define ATCA_CHIPMODE_CLOCK_DIV_M1 ((uint8_t)0x28)
232 #define ATCA_CHIPMODE_CLOCK_DIV_M2 ((uint8_t)0x68)
233 
234 #define ATCA_COUNT_SIZE ((uint8_t)1)
235 #define ATCA_CRC_SIZE ((uint8_t)2)
236 #define ATCA_PACKET_OVERHEAD (ATCA_COUNT_SIZE + ATCA_CRC_SIZE)
237 
238 #define ATCA_PUB_KEY_SIZE (64)
239 #define ATCA_PRIV_KEY_SIZE (32)
240 #define ATCA_SIG_SIZE (64)
241 #define ATCA_KEY_SIZE (32)
242 #define RSA2048_KEY_SIZE (256)
243 
244 #define ATCA_RSP_SIZE_MIN ((uint8_t)4)
245 #define ATCA_RSP_SIZE_4 ((uint8_t)7)
246 #define ATCA_RSP_SIZE_72 ((uint8_t)75)
247 #define ATCA_RSP_SIZE_64 ((uint8_t)67)
248 #define ATCA_RSP_SIZE_32 ((uint8_t)35)
249 #define ATCA_RSP_SIZE_16 ((uint8_t)19)
250 #define ATCA_RSP_SIZE_MAX ((uint8_t)75)
251 
252 #define OUTNONCE_SIZE (32)
253 
254 
256 #define ATCA_KEY_ID_MAX ((uint8_t)15)
257 #define ATCA_OTP_BLOCK_MAX ((uint8_t)1)
258 
262 #define ATCA_COUNT_IDX (0)
263 #define ATCA_OPCODE_IDX (1)
264 #define ATCA_PARAM1_IDX (2)
265 #define ATCA_PARAM2_IDX (3)
266 #define ATCA_DATA_IDX (5)
267 #define ATCA_RSP_DATA_IDX (1)
268 
272 #define ATCA_ZONE_CONFIG ((uint8_t)0x00)
273 #define ATCA_ZONE_OTP ((uint8_t)0x01)
274 #define ATCA_ZONE_DATA ((uint8_t)0x02)
275 #define ATCA_ZONE_MASK ((uint8_t)0x03)
276 #define ATCA_ZONE_ENCRYPTED ((uint8_t)0x40)
277 #define ATCA_ZONE_READWRITE_32 ((uint8_t)0x80)
278 #define ATCA_ADDRESS_MASK_CONFIG (0x001F)
279 #define ATCA_ADDRESS_MASK_OTP (0x000F)
280 #define ATCA_ADDRESS_MASK (0x007F)
281 #define ATCA_TEMPKEY_KEYID (0xFFFF)
282 
286 #define ATCA_B283_KEY_TYPE 0
287 #define ATCA_K283_KEY_TYPE 1
288 #define ATCA_P256_KEY_TYPE 4
289 #define ATCA_AES_KEY_TYPE 6
290 #define ATCA_SHA_KEY_TYPE 7
291 
295 #define AES_MODE_IDX ATCA_PARAM1_IDX
296 #define AES_KEYID_IDX ATCA_PARAM2_IDX
297 #define AES_INPUT_IDX ATCA_DATA_IDX
298 #define AES_COUNT (23)
299 #define AES_MODE_MASK ((uint8_t)0xC7)
300 #define AES_MODE_KEY_BLOCK_MASK ((uint8_t)0xC0)
301 #define AES_MODE_OP_MASK ((uint8_t)0x07)
302 #define AES_MODE_ENCRYPT ((uint8_t)0x00)
303 #define AES_MODE_DECRYPT ((uint8_t)0x01)
304 #define AES_MODE_GFM ((uint8_t)0x03)
305 #define AES_MODE_KEY_BLOCK_POS (6)
306 #define AES_DATA_SIZE (16)
307 #define AES_RSP_SIZE ATCA_RSP_SIZE_16
308 
312 #define CHECKMAC_MODE_IDX ATCA_PARAM1_IDX
313 #define CHECKMAC_KEYID_IDX ATCA_PARAM2_IDX
314 #define CHECKMAC_CLIENT_CHALLENGE_IDX ATCA_DATA_IDX
315 #define CHECKMAC_CLIENT_RESPONSE_IDX (37)
316 #define CHECKMAC_DATA_IDX (69)
317 #define CHECKMAC_COUNT (84)
318 #define CHECKMAC_MODE_CHALLENGE ((uint8_t)0x00)
319 #define CHECKMAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01)
320 #define CHECKMAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02)
321 #define CHECKMAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04)
322 #define CHECKMAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20)
323 #define CHECKMAC_MODE_MASK ((uint8_t)0x27)
324 #define CHECKMAC_CLIENT_CHALLENGE_SIZE (32)
325 #define CHECKMAC_CLIENT_RESPONSE_SIZE (32)
326 #define CHECKMAC_OTHER_DATA_SIZE (13)
327 #define CHECKMAC_CLIENT_COMMAND_SIZE (4)
328 #define CHECKMAC_CMD_MATCH (0)
329 #define CHECKMAC_CMD_MISMATCH (1)
330 #define CHECKMAC_RSP_SIZE ATCA_RSP_SIZE_MIN
331 
335 #define COUNTER_COUNT ATCA_CMD_SIZE_MIN
336 #define COUNTER_MODE_IDX ATCA_PARAM1_IDX
337 #define COUNTER_KEYID_IDX ATCA_PARAM2_IDX
338 #define COUNTER_MODE_MASK ((uint8_t)0x01)
339 #define COUNTER_MAX_VALUE ((uint32_t)2097151)
340 #define COUNTER_MODE_READ ((uint8_t)0x00)
341 #define COUNTER_MODE_INCREMENT ((uint8_t)0x01)
342 #define COUNTER_RSP_SIZE ATCA_RSP_SIZE_4
343 
347 #define DERIVE_KEY_RANDOM_IDX ATCA_PARAM1_IDX
348 #define DERIVE_KEY_TARGETKEY_IDX ATCA_PARAM2_IDX
349 #define DERIVE_KEY_MAC_IDX ATCA_DATA_IDX
350 #define DERIVE_KEY_COUNT_SMALL ATCA_CMD_SIZE_MIN
351 #define DERIVE_KEY_MODE ((uint8_t)0x04)
352 #define DERIVE_KEY_COUNT_LARGE (39)
353 #define DERIVE_KEY_RANDOM_FLAG ((uint8_t)4)
354 #define DERIVE_KEY_MAC_SIZE (32)
355 #define DERIVE_KEY_RSP_SIZE ATCA_RSP_SIZE_MIN
356 
360 #define ECDH_PREFIX_MODE ((uint8_t)0x00)
361 #define ECDH_COUNT (ATCA_CMD_SIZE_MIN + ATCA_PUB_KEY_SIZE)
362 #define ECDH_MODE_SOURCE_MASK ((uint8_t)0x01)
363 #define ECDH_MODE_SOURCE_EEPROM_SLOT ((uint8_t)0x00)
364 #define ECDH_MODE_SOURCE_TEMPKEY ((uint8_t)0x01)
365 #define ECDH_MODE_OUTPUT_MASK ((uint8_t)0x02)
366 #define ECDH_MODE_OUTPUT_CLEAR ((uint8_t)0x00)
367 #define ECDH_MODE_OUTPUT_ENC ((uint8_t)0x02)
368 #define ECDH_MODE_COPY_MASK ((uint8_t)0x0C)
369 #define ECDH_MODE_COPY_COMPATIBLE ((uint8_t)0x00)
370 #define ECDH_MODE_COPY_EEPROM_SLOT ((uint8_t)0x04)
371 #define ECDH_MODE_COPY_TEMP_KEY ((uint8_t)0x08)
372 #define ECDH_MODE_COPY_OUTPUT_BUFFER ((uint8_t)0x0C)
373 #define ECDH_KEY_SIZE ATCA_BLOCK_SIZE
374 #define ECDH_RSP_SIZE ATCA_RSP_SIZE_64
375 
379 #define GENDIG_ZONE_IDX ATCA_PARAM1_IDX
380 #define GENDIG_KEYID_IDX ATCA_PARAM2_IDX
381 #define GENDIG_DATA_IDX ATCA_DATA_IDX
382 #define GENDIG_COUNT ATCA_CMD_SIZE_MIN
383 #define GENDIG_ZONE_CONFIG ((uint8_t)0)
384 #define GENDIG_ZONE_OTP ((uint8_t)1)
385 #define GENDIG_ZONE_DATA ((uint8_t)2)
386 #define GENDIG_ZONE_SHARED_NONCE ((uint8_t)3)
387 #define GENDIG_ZONE_COUNTER ((uint8_t)4)
388 #define GENDIG_ZONE_KEY_CONFIG ((uint8_t)5)
389 #define GENDIG_RSP_SIZE ATCA_RSP_SIZE_MIN
390 
394 #define GENKEY_MODE_IDX ATCA_PARAM1_IDX
395 #define GENKEY_KEYID_IDX ATCA_PARAM2_IDX
396 #define GENKEY_DATA_IDX (5)
397 #define GENKEY_COUNT ATCA_CMD_SIZE_MIN
398 #define GENKEY_COUNT_DATA (10)
399 #define GENKEY_OTHER_DATA_SIZE (3)
400 #define GENKEY_MODE_MASK ((uint8_t)0x1C)
401 #define GENKEY_MODE_PRIVATE ((uint8_t)0x04)
402 #define GENKEY_MODE_PUBLIC ((uint8_t)0x00)
403 #define GENKEY_MODE_DIGEST ((uint8_t)0x08)
404 #define GENKEY_MODE_PUBKEY_DIGEST ((uint8_t)0x10)
405 #define GENKEY_PRIVATE_TO_TEMPKEY ((uint16_t)0xFFFF)
406 #define GENKEY_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN
407 #define GENKEY_RSP_SIZE_LONG ATCA_RSP_SIZE_64
408 
412 #define HMAC_MODE_IDX ATCA_PARAM1_IDX
413 #define HMAC_KEYID_IDX ATCA_PARAM2_IDX
414 #define HMAC_COUNT ATCA_CMD_SIZE_MIN
415 #define HMAC_MODE_FLAG_TK_RAND ((uint8_t)0x00)
416 #define HMAC_MODE_FLAG_TK_NORAND ((uint8_t)0x04)
417 #define HMAC_MODE_FLAG_OTP88 ((uint8_t)0x10)
418 #define HMAC_MODE_FLAG_OTP64 ((uint8_t)0x20)
419 #define HMAC_MODE_FLAG_FULLSN ((uint8_t)0x40)
420 #define HMAC_MODE_MASK ((uint8_t)0x74)
421 #define HMAC_DIGEST_SIZE (32)
422 #define HMAC_RSP_SIZE ATCA_RSP_SIZE_32
423 
427 #define INFO_PARAM1_IDX ATCA_PARAM1_IDX
428 #define INFO_PARAM2_IDX ATCA_PARAM2_IDX
429 #define INFO_COUNT ATCA_CMD_SIZE_MIN
430 #define INFO_MODE_REVISION ((uint8_t)0x00)
431 #define INFO_MODE_KEY_VALID ((uint8_t)0x01)
432 #define INFO_MODE_STATE ((uint8_t)0x02)
433 #define INFO_MODE_GPIO ((uint8_t)0x03)
434 #define INFO_MODE_VOL_KEY_PERMIT ((uint8_t)0x04)
435 #define INFO_MODE_MAX ((uint8_t)0x03)
436 #define INFO_NO_STATE ((uint8_t)0x00)
437 #define INFO_OUTPUT_STATE_MASK ((uint8_t)0x01)
438 #define INFO_DRIVER_STATE_MASK ((uint8_t)0x02)
439 #define INFO_PARAM2_SET_LATCH_STATE ((uint16_t)0x0002)
440 #define INFO_PARAM2_LATCH_SET ((uint16_t)0x0001)
441 #define INFO_PARAM2_LATCH_CLEAR ((uint16_t)0x0000)
442 #define INFO_SIZE ((uint8_t)0x04)
443 #define INFO_RSP_SIZE ATCA_RSP_SIZE_VAL
444 
448 #define KDF_MODE_IDX ATCA_PARAM1_IDX
449 #define KDF_KEYID_IDX ATCA_PARAM2_IDX
450 #define KDF_DETAILS_IDX ATCA_DATA_IDX
451 #define KDF_DETAILS_SIZE 4
452 #define KDF_MESSAGE_IDX (ATCA_DATA_IDX + KDF_DETAILS_SIZE)
453 
454 #define KDF_MODE_SOURCE_MASK ((uint8_t)0x03)
455 #define KDF_MODE_SOURCE_TEMPKEY ((uint8_t)0x00)
456 #define KDF_MODE_SOURCE_TEMPKEY_UP ((uint8_t)0x01)
457 #define KDF_MODE_SOURCE_SLOT ((uint8_t)0x02)
458 #define KDF_MODE_SOURCE_ALTKEYBUF ((uint8_t)0x03)
459 
460 #define KDF_MODE_TARGET_MASK ((uint8_t)0x1C)
461 #define KDF_MODE_TARGET_TEMPKEY ((uint8_t)0x00)
462 #define KDF_MODE_TARGET_TEMPKEY_UP ((uint8_t)0x04)
463 #define KDF_MODE_TARGET_SLOT ((uint8_t)0x08)
464 #define KDF_MODE_TARGET_ALTKEYBUF ((uint8_t)0x0C)
465 #define KDF_MODE_TARGET_OUTPUT ((uint8_t)0x10)
466 #define KDF_MODE_TARGET_OUTPUT_ENC ((uint8_t)0x14)
467 
468 #define KDF_MODE_ALG_MASK ((uint8_t)0x60)
469 #define KDF_MODE_ALG_PRF ((uint8_t)0x00)
470 #define KDF_MODE_ALG_AES ((uint8_t)0x20)
471 #define KDF_MODE_ALG_HKDF ((uint8_t)0x40)
472 
473 #define KDF_DETAILS_PRF_KEY_LEN_MASK ((uint32_t)0x00000003)
474 #define KDF_DETAILS_PRF_KEY_LEN_16 ((uint32_t)0x00000000)
475 #define KDF_DETAILS_PRF_KEY_LEN_32 ((uint32_t)0x00000001)
476 #define KDF_DETAILS_PRF_KEY_LEN_48 ((uint32_t)0x00000002)
477 #define KDF_DETAILS_PRF_KEY_LEN_64 ((uint32_t)0x00000003)
478 
479 #define KDF_DETAILS_PRF_TARGET_LEN_MASK ((uint32_t)0x00000100)
480 #define KDF_DETAILS_PRF_TARGET_LEN_32 ((uint32_t)0x00000000)
481 #define KDF_DETAILS_PRF_TARGET_LEN_64 ((uint32_t)0x00000100)
482 
483 #define KDF_DETAILS_PRF_AEAD_MASK ((uint32_t)0x00000600)
484 #define KDF_DETAILS_PRF_AEAD_MODE0 ((uint32_t)0x00000000)
485 #define KDF_DETAILS_PRF_AEAD_MODE1 ((uint32_t)0x00000200)
486 
487 #define KDF_DETAILS_AES_KEY_LOC_MASK ((uint32_t)0x00000003)
488 
489 #define KDF_DETAILS_HKDF_MSG_LOC_MASK ((uint32_t)0x00000003)
490 #define KDF_DETAILS_HKDF_MSG_LOC_SLOT ((uint32_t)0x00000000)
491 #define KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY ((uint32_t)0x00000001)
492 #define KDF_DETAILS_HKDF_MSG_LOC_INPUT ((uint32_t)0x00000002)
493 #define KDF_DETAILS_HKDF_MSG_LOC_IV ((uint32_t)0x00000003)
494 #define KDF_DETAILS_HKDF_ZERO_KEY ((uint32_t)0x00000004)
495 
499 #define LOCK_ZONE_IDX ATCA_PARAM1_IDX
500 #define LOCK_SUMMARY_IDX ATCA_PARAM2_IDX
501 #define LOCK_COUNT ATCA_CMD_SIZE_MIN
502 #define LOCK_ZONE_CONFIG ((uint8_t)0x00)
503 #define LOCK_ZONE_DATA ((uint8_t)0x01)
504 #define LOCK_ZONE_DATA_SLOT ((uint8_t)0x02)
505 #define LOCK_ZONE_NO_CRC ((uint8_t)0x80)
506 #define LOCK_ZONE_MASK (0xBF)
507 #define ATCA_UNLOCKED (0x55)
508 #define ATCA_LOCKED (0x00)
509 #define LOCK_RSP_SIZE ATCA_RSP_SIZE_MIN
510 
514 #define MAC_MODE_IDX ATCA_PARAM1_IDX
515 #define MAC_KEYID_IDX ATCA_PARAM2_IDX
516 #define MAC_CHALLENGE_IDX ATCA_DATA_IDX
517 #define MAC_COUNT_SHORT ATCA_CMD_SIZE_MIN
518 #define MAC_COUNT_LONG (39)
519 #define MAC_MODE_CHALLENGE ((uint8_t)0x00)
520 #define MAC_MODE_BLOCK2_TEMPKEY ((uint8_t)0x01)
521 #define MAC_MODE_BLOCK1_TEMPKEY ((uint8_t)0x02)
522 #define MAC_MODE_SOURCE_FLAG_MATCH ((uint8_t)0x04)
523 #define MAC_MODE_PTNONCE_TEMPKEY ((uint8_t)0x06)
524 #define MAC_MODE_PASSTHROUGH ((uint8_t)0x07)
525 #define MAC_MODE_INCLUDE_OTP_88 ((uint8_t)0x10)
526 #define MAC_MODE_INCLUDE_OTP_64 ((uint8_t)0x20)
527 #define MAC_MODE_INCLUDE_SN ((uint8_t)0x40)
528 #define MAC_CHALLENGE_SIZE (32)
529 #define MAC_SIZE (32)
530 #define MAC_MODE_MASK ((uint8_t)0x77)
531 #define MAC_RSP_SIZE ATCA_RSP_SIZE_32
532 
536 #define NONCE_MODE_IDX ATCA_PARAM1_IDX
537 #define NONCE_PARAM2_IDX ATCA_PARAM2_IDX
538 #define NONCE_INPUT_IDX ATCA_DATA_IDX
539 #define NONCE_COUNT_SHORT (ATCA_CMD_SIZE_MIN + 20)
540 #define NONCE_COUNT_LONG (ATCA_CMD_SIZE_MIN + 32)
541 #define NONCE_COUNT_LONG_64 (ATCA_CMD_SIZE_MIN + 64)
542 #define NONCE_MODE_MASK ((uint8_t)0x03)
543 #define NONCE_MODE_SEED_UPDATE ((uint8_t)0x00)
544 #define NONCE_MODE_NO_SEED_UPDATE ((uint8_t)0x01)
545 #define NONCE_MODE_INVALID ((uint8_t)0x02)
546 #define NONCE_MODE_PASSTHROUGH ((uint8_t)0x03)
547 
548 #define NONCE_MODE_INPUT_LEN_MASK ((uint8_t)0x20)
549 #define NONCE_MODE_INPUT_LEN_32 ((uint8_t)0x00)
550 #define NONCE_MODE_INPUT_LEN_64 ((uint8_t)0x20)
551 
552 #define NONCE_MODE_TARGET_MASK ((uint8_t)0xC0)
553 #define NONCE_MODE_TARGET_TEMPKEY ((uint8_t)0x00)
554 #define NONCE_MODE_TARGET_MSGDIGBUF ((uint8_t)0x40)
555 #define NONCE_MODE_TARGET_ALTKEYBUF ((uint8_t)0x80)
556 
557 #define NONCE_ZERO_CALC_MASK ((uint16_t)0x8000)
558 #define NONCE_ZERO_CALC_RANDOM ((uint16_t)0x0000)
559 #define NONCE_ZERO_CALC_TEMPKEY ((uint16_t)0x8000)
560 
561 #define NONCE_NUMIN_SIZE (20)
562 #define NONCE_NUMIN_SIZE_PASSTHROUGH (32)
563 
564 #define NONCE_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN
565 #define NONCE_RSP_SIZE_LONG ATCA_RSP_SIZE_32
566 
570 #define PAUSE_SELECT_IDX ATCA_PARAM1_IDX
571 #define PAUSE_PARAM2_IDX ATCA_PARAM2_IDX
572 #define PAUSE_COUNT ATCA_CMD_SIZE_MIN
573 #define PAUSE_RSP_SIZE ATCA_RSP_SIZE_MIN
574 
578 #define PRIVWRITE_ZONE_IDX ATCA_PARAM1_IDX
579 #define PRIVWRITE_KEYID_IDX ATCA_PARAM2_IDX
580 #define PRIVWRITE_VALUE_IDX ( 5)
581 #define PRIVWRITE_MAC_IDX (41)
582 #define PRIVWRITE_COUNT (75)
583 #define PRIVWRITE_ZONE_MASK ((uint8_t)0x40)
584 #define PRIVWRITE_MODE_ENCRYPT ((uint8_t)0x40)
585 #define PRIVWRITE_RSP_SIZE ATCA_RSP_SIZE_MIN
586 
590 #define RANDOM_MODE_IDX ATCA_PARAM1_IDX
591 #define RANDOM_PARAM2_IDX ATCA_PARAM2_IDX
592 #define RANDOM_COUNT ATCA_CMD_SIZE_MIN
593 #define RANDOM_SEED_UPDATE ((uint8_t)0x00)
594 #define RANDOM_NO_SEED_UPDATE ((uint8_t)0x01)
595 #define RANDOM_NUM_SIZE ((uint8_t)32)
596 #define RANDOM_RSP_SIZE ATCA_RSP_SIZE_32
597 
601 #define READ_ZONE_IDX ATCA_PARAM1_IDX
602 #define READ_ADDR_IDX ATCA_PARAM2_IDX
603 #define READ_COUNT ATCA_CMD_SIZE_MIN
604 #define READ_ZONE_MASK ((uint8_t)0x83)
605 #define READ_4_RSP_SIZE ATCA_RSP_SIZE_VAL
606 #define READ_32_RSP_SIZE ATCA_RSP_SIZE_32
607 
611 #define SECUREBOOT_MODE_IDX ATCA_PARAM1_IDX
612 #define SECUREBOOT_DIGEST_SIZE (32)
613 #define SECUREBOOT_SIGNATURE_SIZE (64)
614 #define SECUREBOOT_COUNT_DIG (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE)
615 #define SECUREBOOT_COUNT_DIG_SIG (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE + SECUREBOOT_SIGNATURE_SIZE)
616 #define SECUREBOOT_MAC_SIZE (32)
617 #define SECUREBOOT_RSP_SIZE_NO_MAC ATCA_RSP_SIZE_MIN
618 #define SECUREBOOT_RSP_SIZE_MAC (ATCA_PACKET_OVERHEAD + SECUREBOOT_MAC_SIZE)
619 
620 #define SECUREBOOT_MODE_MASK ((uint8_t)0x07)
621 #define SECUREBOOT_MODE_FULL ((uint8_t)0x05)
622 #define SECUREBOOT_MODE_FULL_STORE ((uint8_t)0x06)
623 #define SECUREBOOT_MODE_FULL_COPY ((uint8_t)0x07)
624 #define SECUREBOOT_MODE_PROHIBIT_FLAG ((uint8_t)0x40)
625 #define SECUREBOOT_MODE_ENC_MAC_FLAG ((uint8_t)0x80)
626 
627 #define SECUREBOOTCONFIG_OFFSET (70)
628 #define SECUREBOOTCONFIG_MODE_MASK ((uint16_t)0x0003)
629 #define SECUREBOOTCONFIG_MODE_DISABLED ((uint16_t)0x0000)
630 #define SECUREBOOTCONFIG_MODE_FULL_BOTH ((uint16_t)0x0001)
631 #define SECUREBOOTCONFIG_MODE_FULL_SIG ((uint16_t)0x0002)
632 #define SECUREBOOTCONFIG_MODE_FULL_DIG ((uint16_t)0x0003)
633 
637 #define SELFTEST_MODE_IDX ATCA_PARAM1_IDX
638 #define SELFTEST_COUNT ATCA_CMD_SIZE_MIN
639 #define SELFTEST_MODE_RNG ((uint8_t)0x01)
640 #define SELFTEST_MODE_ECDSA_SIGN_VERIFY ((uint8_t)0x02)
641 #define SELFTEST_MODE_ECDH ((uint8_t)0x08)
642 #define SELFTEST_MODE_AES ((uint8_t)0x10)
643 #define SELFTEST_MODE_SHA ((uint8_t)0x20)
644 #define SELFTEST_MODE_ALL ((uint8_t)0x3B)
645 #define SELFTEST_RSP_SIZE ATCA_RSP_SIZE_MIN
646 
650 #define SHA_COUNT_SHORT ATCA_CMD_SIZE_MIN
651 #define SHA_COUNT_LONG ATCA_CMD_SIZE_MIN
652 #define ATCA_SHA_DIGEST_SIZE (32)
653 #define SHA_DATA_MAX (64)
654 #define ATCA_SHA256_BLOCK_SIZE (64)
655 #define SHA_CONTEXT_MAX_SIZE (99)
656 
657 #define SHA_MODE_MASK ((uint8_t)0x07)
658 #define SHA_MODE_SHA256_START ((uint8_t)0x00)
659 #define SHA_MODE_SHA256_UPDATE ((uint8_t)0x01)
660 #define SHA_MODE_SHA256_END ((uint8_t)0x02)
661 #define SHA_MODE_SHA256_PUBLIC ((uint8_t)0x03)
662 #define SHA_MODE_HMAC_START ((uint8_t)0x04)
663 #define SHA_MODE_HMAC_UPDATE ((uint8_t)0x01)
664 #define SHA_MODE_HMAC_END ((uint8_t)0x05)
665 #define SHA_MODE_608_HMAC_END ((uint8_t)0x02)
666 #define SHA_MODE_READ_CONTEXT ((uint8_t)0x06)
667 #define SHA_MODE_WRITE_CONTEXT ((uint8_t)0x07)
668 #define SHA_MODE_TARGET_MASK ((uint8_t)0xC0)
669 #define SHA_MODE_TARGET_TEMPKEY ((uint8_t)0x00)
670 #define SHA_MODE_TARGET_MSGDIGBUF ((uint8_t)0x40)
671 #define SHA_MODE_TARGET_OUT_ONLY ((uint8_t)0xC0)
672 
673 #define SHA_RSP_SIZE ATCA_RSP_SIZE_32
674 #define SHA_RSP_SIZE_SHORT ATCA_RSP_SIZE_MIN
675 #define SHA_RSP_SIZE_LONG ATCA_RSP_SIZE_32
676 
680 #define SIGN_MODE_IDX ATCA_PARAM1_IDX
681 #define SIGN_KEYID_IDX ATCA_PARAM2_IDX
682 #define SIGN_COUNT ATCA_CMD_SIZE_MIN
683 #define SIGN_MODE_MASK ((uint8_t)0xE1)
684 #define SIGN_MODE_INTERNAL ((uint8_t)0x00)
685 #define SIGN_MODE_INVALIDATE ((uint8_t)0x01)
686 #define SIGN_MODE_INCLUDE_SN ((uint8_t)0x40)
687 #define SIGN_MODE_EXTERNAL ((uint8_t)0x80)
688 #define SIGN_MODE_SOURCE_MASK ((uint8_t)0x20)
689 #define SIGN_MODE_SOURCE_TEMPKEY ((uint8_t)0x00)
690 #define SIGN_MODE_SOURCE_MSGDIGBUF ((uint8_t)0x20)
691 #define SIGN_RSP_SIZE ATCA_RSP_SIZE_MAX
692 
696 #define UPDATE_MODE_IDX ATCA_PARAM1_IDX
697 #define UPDATE_VALUE_IDX ATCA_PARAM2_IDX
698 #define UPDATE_COUNT ATCA_CMD_SIZE_MIN
699 #define UPDATE_MODE_USER_EXTRA ((uint8_t)0x00)
700 #define UPDATE_MODE_SELECTOR ((uint8_t)0x01)
701 #define UPDATE_MODE_USER_EXTRA_ADD UPDATE_MODE_SELECTOR
702 #define UPDATE_MODE_DEC_COUNTER ((uint8_t)0x02)
703 #define UPDATE_RSP_SIZE ATCA_RSP_SIZE_MIN
704 
708 #define VERIFY_MODE_IDX ATCA_PARAM1_IDX
709 #define VERIFY_KEYID_IDX ATCA_PARAM2_IDX
710 #define VERIFY_DATA_IDX ( 5)
711 #define VERIFY_256_STORED_COUNT ( 71)
712 #define VERIFY_283_STORED_COUNT ( 79)
713 #define VERIFY_256_VALIDATE_COUNT ( 90)
714 #define VERIFY_283_VALIDATE_COUNT ( 98)
715 #define VERIFY_256_EXTERNAL_COUNT (135)
716 #define VERIFY_283_EXTERNAL_COUNT (151)
717 #define VERIFY_256_KEY_SIZE ( 64)
718 #define VERIFY_283_KEY_SIZE ( 72)
719 #define VERIFY_256_SIGNATURE_SIZE ( 64)
720 #define VERIFY_283_SIGNATURE_SIZE ( 72)
721 #define VERIFY_OTHER_DATA_SIZE ( 19)
722 #define VERIFY_MODE_MASK ((uint8_t)0x03)
723 #define VERIFY_MODE_STORED ((uint8_t)0x00)
724 #define VERIFY_MODE_VALIDATE_EXTERNAL ((uint8_t)0x01)
725 #define VERIFY_MODE_EXTERNAL ((uint8_t)0x02)
726 #define VERIFY_MODE_VALIDATE ((uint8_t)0x03)
727 #define VERIFY_MODE_INVALIDATE ((uint8_t)0x07)
728 #define VERIFY_MODE_SOURCE_MASK ((uint8_t)0x20)
729 #define VERIFY_MODE_SOURCE_TEMPKEY ((uint8_t)0x00)
730 #define VERIFY_MODE_SOURCE_MSGDIGBUF ((uint8_t)0x20)
731 #define VERIFY_MODE_MAC_FLAG ((uint8_t)0x80)
732 #define VERIFY_KEY_B283 ((uint16_t)0x0000)
733 #define VERIFY_KEY_K283 ((uint16_t)0x0001)
734 #define VERIFY_KEY_P256 ((uint16_t)0x0004)
735 #define VERIFY_RSP_SIZE ATCA_RSP_SIZE_MIN
736 #define VERIFY_RSP_SIZE_MAC ATCA_RSP_SIZE_32
737 
741 #define WRITE_ZONE_IDX ATCA_PARAM1_IDX
742 #define WRITE_ADDR_IDX ATCA_PARAM2_IDX
743 #define WRITE_VALUE_IDX ATCA_DATA_IDX
744 #define WRITE_MAC_VS_IDX ( 9)
745 #define WRITE_MAC_VL_IDX (37)
746 #define WRITE_MAC_SIZE (32)
747 #define WRITE_ZONE_MASK ((uint8_t)0xC3)
748 #define WRITE_ZONE_WITH_MAC ((uint8_t)0x40)
749 #define WRITE_ZONE_OTP ((uint8_t)1)
750 #define WRITE_ZONE_DATA ((uint8_t)2)
751 #define WRITE_RSP_SIZE ATCA_RSP_SIZE_MIN
752 
754 #ifdef __cplusplus
755 }
756 #endif
757 #endif
758 
bool atIsECCFamily(ATCADeviceType device_type)
determines if a given device type is an ECC device or a superset of a ECC device
Definition: atca_command.c:703
-
ATCA_STATUS atGenKey(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Generate Key method.
Definition: atca_command.c:139
-
ATCA_STATUS atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand AES method.
Definition: atca_command.c:513
-
ATCA_STATUS atCheckCrc(const uint8_t *response)
This function checks the consistency of a response.
Definition: atca_command.c:665
-
ATCA_STATUS atKDF(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand KDF method.
Definition: atca_command.c:530
-
void atCalcCrc(ATCAPacket *pkt)
This function calculates CRC and adds it to the correct offset in the packet data.
Definition: atca_command.c:647
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand UpdateExtra method.
Definition: atca_command.c:410
-
uint8_t txsize
Definition: atca_command.h:100
-
an ATCA packet structure. This is a superset of the packet transmitted on the wire. It&#39;s also used as a buffer for receiving the response
Definition: atca_command.h:93
-
ATCA_STATUS atRandom(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Random method.
Definition: atca_command.c:293
-
ATCA_STATUS atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand PrivWrite method.
Definition: atca_command.c:279
-
ATCACommand newATCACommand(ATCADeviceType device_type)
constructor for ATCACommand
Definition: atca_command.c:575
-
ATCA_STATUS atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
ATCACommand SHA method.
Definition: atca_command.c:352
-
ATCA_STATUS atNonce(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Nonce method.
Definition: atca_command.c:225
-
ATCA_STATUS isATCAError(uint8_t *data)
checks for basic error frame in data
Definition: atca_command.c:723
-
uint8_t param1
Definition: atca_command.h:102
-
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
-
atca_command is the C object backing ATCACommand.
Definition: atca_command.h:52
-
bool atIsSHAFamily(ATCADeviceType device_type)
determines if a given device type is a SHA device or a superset of a SHA device
Definition: atca_command.c:682
-
uint16_t param2
Definition: atca_command.h:103
-
ATCA_STATUS atMAC(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand MAC method.
Definition: atca_command.c:203
-
void atCRC(size_t length, const uint8_t *data, uint8_t *crc_le)
Calculates CRC over the given raw data and returns the CRC in little-endian byte order.
Definition: atca_command.c:617
-
ATCA_STATUS initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd)
Initializer for ATCACommand.
Definition: atca_command.c:556
-
ATCA_STATUS atAES(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand AES method.
Definition: atca_command.c:490
-
uint8_t clock_divider
Definition: atca_command.h:55
-
ATCA_STATUS atHMAC(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand HMAC method.
Definition: atca_command.c:161
-
struct atca_command * ATCACommand
Definition: atca_command.h:60
-
ATCA_STATUS atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
ATCACommand DeriveKey method.
Definition: atca_command.c:74
-
uint8_t _reserved
Definition: atca_command.h:97
-
uint8_t opcode
Definition: atca_command.h:101
-
Microchip Crypto Auth.
-
ATCA_STATUS atLock(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Lock method.
Definition: atca_command.c:189
-
ATCA_STATUS atInfo(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Info method.
Definition: atca_command.c:175
-
ATCA_STATUS atECDH(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand ECDH method.
Definition: atca_command.c:98
-
ATCA_STATUS atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand CheckMAC method.
Definition: atca_command.c:45
-
ATCA_STATUS atRead(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Read method.
Definition: atca_command.c:307
-
ATCA_STATUS atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
ATCACommand Generate Digest method.
Definition: atca_command.c:113
-
ATCA_STATUS atVerify(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand ECDSA Verify method.
Definition: atca_command.c:424
-
Microchip Crypto Auth status codes.
-
ATCA_STATUS atCounter(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Counter method.
Definition: atca_command.c:59
-
void deleteATCACommand(ATCACommand *ca_cmd)
ATCACommand destructor.
Definition: atca_command.c:597
-
ATCADeviceType dt
Definition: atca_command.h:54
-
ATCA_STATUS atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
ATCACommand Write method.
Definition: atca_command.c:463
-
CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and com...
-
ATCA_STATUS atSign(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Sign method.
Definition: atca_command.c:396
-
uint8_t execTime
Definition: atca_command.h:111
-
uint16_t execution_time_msec
Definition: atca_command.h:56
-
ATCA_STATUS atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand SecureBoot method.
Definition: atca_command.c:321
-
ATCA_STATUS atPause(ATCACommand ca_cmd, ATCAPacket *packet)
ATCACommand Pause method.
Definition: atca_command.c:265
+Go to the documentation of this file.
1 
29 #ifndef ATCA_CFGS_H_
30 #define ATCA_CFGS_H_
31 
32 #include "atca_iface.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 
41 
44 
47 
50 
51 
54 
57 
60 
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 #endif /* ATCA_CFGS_H_ */
ATCAIfaceCfg cfg_atsha204a_swi_default
default configuration for an SHA204A device on the logical SWI bus over UART
Definition: atca_cfgs.c:95
+
Definition: atca_iface.h:66
+
ATCAIfaceCfg cfg_ateccx08a_kithid_default
default configuration for Kit protocol over a HID interface
Definition: atca_cfgs.c:73
+
ATCAIfaceCfg cfg_ateccx08a_swi_default
default configuration for an ECCx08A device on the logical SWI bus over UART
Definition: atca_cfgs.c:52
+
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
default configuration for Kit protocol over a CDC interface
Definition: atca_cfgs.c:61
+
ATCAIfaceCfg cfg_atsha204a_kithid_default
default configuration for Kit protocol over a HID interface for SHA204
Definition: atca_cfgs.c:116
+
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
default configuration for Kit protocol over a CDC interface
Definition: atca_cfgs.c:104
+
ATCAIfaceCfg cfg_ateccx08a_i2c_default
default configuration for an ECCx08A device on the first logical I2C bus
Definition: atca_cfgs.c:40
+
ATCAIfaceCfg cfg_atsha204a_i2c_default
default configuration for a SHA204A device on the first logical I2C bus
Definition: atca_cfgs.c:84
+
Microchip Crypto Auth hardware interface object.
+
-
atca_compiler.h File Reference
+
atca_command.c File Reference
-

CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros. +

Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface. More...

- -

Go to the source code of this file.

+
#include <stdlib.h>
+#include <string.h>
+#include "atca_command.h"
+#include "atca_devtypes.h"
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand CheckMAC method. More...
 
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Counter method. More...
 
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand DeriveKey method. More...
 
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDH method. More...
 
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
 ATCACommand Generate Digest method. More...
 
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Generate Key method. More...
 
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand HMAC method. More...
 
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Info method. More...
 
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Lock method. More...
 
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand MAC method. More...
 
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Nonce method. More...
 
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Pause method. More...
 
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand PrivWrite method. More...
 
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Random method. More...
 
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Read method. More...
 
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand SecureBoot method. More...
 
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
 ATCACommand SHA method. More...
 
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Sign method. More...
 
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand UpdateExtra method. More...
 
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDSA Verify method. More...
 
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand Write method. More...
 
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand KDF method. More...
 
ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
 Initializer for ATCACommand. More...
 
ATCACommand newATCACommand (ATCADeviceType device_type)
 constructor for ATCACommand More...
 
void deleteATCACommand (ATCACommand *ca_cmd)
 ATCACommand destructor. More...
 
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
 Calculates CRC over the given raw data and returns the CRC in little-endian byte order. More...
 
void atCalcCrc (ATCAPacket *packet)
 This function calculates CRC and adds it to the correct offset in the packet data. More...
 
ATCA_STATUS atCheckCrc (const uint8_t *response)
 This function checks the consistency of a response. More...
 
bool atIsSHAFamily (ATCADeviceType device_type)
 determines if a given device type is a SHA device or a superset of a SHA device More...
 
bool atIsECCFamily (ATCADeviceType device_type)
 determines if a given device type is an ECC device or a superset of a ECC device More...
 
ATCA_STATUS isATCAError (uint8_t *data)
 checks for basic error frame in data More...
 

Detailed Description

-

CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros.

+

Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface.

+

The primary goal of the command builder is to wrap the given parameters with the correct packet size and CRC. The caller should first fill in the parameters required in the ATCAPacket parameter given to the command. The command builder will deal with the mechanics of creating a valid packet using the parameter information.

-

Microchip CryptoAuth device object. +

Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch. More...

-
#include <stdlib.h>
-#include "atca_device.h"
-
+
#include "atca_compiler.h"
+#include "atca_status.h"
+#include "atca_devtypes.h"
+#include <stddef.h>
+
+

Go to the source code of this file.

+
+ + + + + + + +

+Data Structures

struct  atca_command
 atca_command is the C object backing ATCACommand. More...
 
struct  ATCAPacket
 an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define ATCA_CMD_SIZE_MIN   ((uint8_t)7)
 minimum number of bytes in command (from count byte to second CRC byte) More...
 
#define ATCA_CMD_SIZE_MAX   ((uint8_t)4 * 36 + 7)
 maximum size of command packet (Verify) More...
 
#define CMD_STATUS_SUCCESS   ((uint8_t)0x00)
 status byte for success More...
 
#define CMD_STATUS_WAKEUP   ((uint8_t)0x11)
 status byte after wake-up More...
 
#define CMD_STATUS_BYTE_PARSE   ((uint8_t)0x03)
 command parse error More...
 
#define CMD_STATUS_BYTE_ECC   ((uint8_t)0x05)
 command ECC error More...
 
#define CMD_STATUS_BYTE_EXEC   ((uint8_t)0x0F)
 command execution error More...
 
#define CMD_STATUS_BYTE_COMM   ((uint8_t)0xFF)
 communication error More...
 
Opcodes for Crypto Authentication device commands
#define ATCA_CHECKMAC   ((uint8_t)0x28)
 CheckMac command op-code. More...
 
#define ATCA_DERIVE_KEY   ((uint8_t)0x1C)
 DeriveKey command op-code. More...
 
#define ATCA_INFO   ((uint8_t)0x30)
 Info command op-code. More...
 
#define ATCA_GENDIG   ((uint8_t)0x15)
 GenDig command op-code. More...
 
#define ATCA_GENKEY   ((uint8_t)0x40)
 GenKey command op-code. More...
 
#define ATCA_HMAC   ((uint8_t)0x11)
 HMAC command op-code. More...
 
#define ATCA_LOCK   ((uint8_t)0x17)
 Lock command op-code. More...
 
#define ATCA_MAC   ((uint8_t)0x08)
 MAC command op-code. More...
 
#define ATCA_NONCE   ((uint8_t)0x16)
 Nonce command op-code. More...
 
#define ATCA_PAUSE   ((uint8_t)0x01)
 Pause command op-code. More...
 
#define ATCA_PRIVWRITE   ((uint8_t)0x46)
 PrivWrite command op-code. More...
 
#define ATCA_RANDOM   ((uint8_t)0x1B)
 Random command op-code. More...
 
#define ATCA_READ   ((uint8_t)0x02)
 Read command op-code. More...
 
#define ATCA_SIGN   ((uint8_t)0x41)
 Sign command op-code. More...
 
#define ATCA_UPDATE_EXTRA   ((uint8_t)0x20)
 UpdateExtra command op-code. More...
 
#define ATCA_VERIFY   ((uint8_t)0x45)
 GenKey command op-code. More...
 
#define ATCA_WRITE   ((uint8_t)0x12)
 Write command op-code. More...
 
#define ATCA_ECDH   ((uint8_t)0x43)
 ECDH command op-code. More...
 
#define ATCA_COUNTER   ((uint8_t)0x24)
 Counter command op-code. More...
 
#define ATCA_SHA   ((uint8_t)0x47)
 SHA command op-code. More...
 
#define ATCA_AES   ((uint8_t)0x51)
 AES command op-code. More...
 
#define ATCA_KDF   ((uint8_t)0x56)
 KDF command op-code. More...
 
#define ATCA_SECUREBOOT   ((uint8_t)0x80)
 Secure Boot command op-code. More...
 
#define ATCA_SELFTEST   ((uint8_t)0x77)
 Self test command op-code. More...
 
Definitions of Data and Packet Sizes
#define ATCA_BLOCK_SIZE   (32)
 size of a block More...
 
#define ATCA_WORD_SIZE   (4)
 size of a word More...
 
#define ATCA_PUB_KEY_PAD   (4)
 size of the public key pad More...
 
#define ATCA_SERIAL_NUM_SIZE   (9)
 number of bytes in the device serial number More...
 
#define ATCA_RSP_SIZE_VAL   ((uint8_t)7)
 size of response packet containing four bytes of data More...
 
#define ATCA_KEY_COUNT   (16)
 number of keys More...
 
#define ATCA_ECC_CONFIG_SIZE   (128)
 size of configuration zone More...
 
#define ATCA_SHA_CONFIG_SIZE   (88)
 size of configuration zone More...
 
#define ATCA_OTP_SIZE   (64)
 size of OTP zone More...
 
#define ATCA_DATA_SIZE   (ATCA_KEY_COUNT * ATCA_KEY_SIZE)
 size of data zone More...
 
#define ATCA_AES_GFM_SIZE   ATCA_BLOCK_SIZE
 size of GFM data More...
 
#define ATCA_CHIPMODE_OFFSET   (19)
 ChipMode byte offset within the configuration zone. More...
 
#define ATCA_CHIPMODE_I2C_ADDRESS_FLAG   ((uint8_t)0x01)
 ChipMode I2C Address in UserExtraAdd flag. More...
 
#define ATCA_CHIPMODE_TTL_ENABLE_FLAG   ((uint8_t)0x02)
 ChipMode TTLenable flag. More...
 
#define ATCA_CHIPMODE_WATCHDOG_MASK   ((uint8_t)0x04)
 ChipMode watchdog duration mask. More...
 
#define ATCA_CHIPMODE_WATCHDOG_SHORT   ((uint8_t)0x00)
 ChipMode short watchdog (~1.3s) More...
 
#define ATCA_CHIPMODE_WATCHDOG_LONG   ((uint8_t)0x04)
 ChipMode long watchdog (~13s) More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_MASK   ((uint8_t)0xF8)
 ChipMode clock divider mask. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M0   ((uint8_t)0x00)
 ChipMode clock divider M0. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M1   ((uint8_t)0x28)
 ChipMode clock divider M1. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M2   ((uint8_t)0x68)
 ChipMode clock divider M2. More...
 
#define ATCA_COUNT_SIZE   ((uint8_t)1)
 Number of bytes in the command packet Count. More...
 
#define ATCA_CRC_SIZE   ((uint8_t)2)
 Number of bytes in the command packet CRC. More...
 
#define ATCA_PACKET_OVERHEAD   (ATCA_COUNT_SIZE + ATCA_CRC_SIZE)
 Number of bytes in the command packet. More...
 
#define ATCA_PUB_KEY_SIZE   (64)
 size of a p256 public key More...
 
#define ATCA_PRIV_KEY_SIZE   (32)
 size of a p256 private key More...
 
#define ATCA_SIG_SIZE   (64)
 size of a p256 signature More...
 
#define ATCA_KEY_SIZE   (32)
 size of a symmetric SHA key More...
 
#define RSA2048_KEY_SIZE   (256)
 size of a RSA private key More...
 
#define ATCA_RSP_SIZE_MIN   ((uint8_t)4)
 minimum number of bytes in response More...
 
#define ATCA_RSP_SIZE_4   ((uint8_t)7)
 size of response packet containing 4 bytes data More...
 
#define ATCA_RSP_SIZE_72   ((uint8_t)75)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_64   ((uint8_t)67)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_32   ((uint8_t)35)
 size of response packet containing 32 bytes data More...
 
#define ATCA_RSP_SIZE_16   ((uint8_t)19)
 size of response packet containing 16 bytes data More...
 
#define ATCA_RSP_SIZE_MAX   ((uint8_t)75)
 maximum size of response packet (GenKey and Verify command) More...
 
#define OUTNONCE_SIZE   (32)
 Size of the OutNonce response expected from several commands. More...
 
Definitions for Command Parameter Ranges
#define ATCA_KEY_ID_MAX   ((uint8_t)15)
 maximum value for key id More...
 
#define ATCA_OTP_BLOCK_MAX   ((uint8_t)1)
 maximum value for OTP block More...
 
Definitions for Indexes Common to All Commands
#define ATCA_COUNT_IDX   (0)
 command packet index for count More...
 
#define ATCA_OPCODE_IDX   (1)
 command packet index for op-code More...
 
#define ATCA_PARAM1_IDX   (2)
 command packet index for first parameter More...
 
#define ATCA_PARAM2_IDX   (3)
 command packet index for second parameter More...
 
#define ATCA_DATA_IDX   (5)
 command packet index for data load More...
 
#define ATCA_RSP_DATA_IDX   (1)
 buffer index of data in response More...
 
Definitions for Zone and Address Parameters
#define ATCA_ZONE_CONFIG   ((uint8_t)0x00)
 Configuration zone. More...
 
#define ATCA_ZONE_OTP   ((uint8_t)0x01)
 OTP (One Time Programming) zone. More...
 
#define ATCA_ZONE_DATA   ((uint8_t)0x02)
 Data zone. More...
 
#define ATCA_ZONE_MASK   ((uint8_t)0x03)
 Zone mask. More...
 
#define ATCA_ZONE_ENCRYPTED   ((uint8_t)0x40)
 Zone bit 6 set: Write is encrypted with an unlocked data zone. More...
 
#define ATCA_ZONE_READWRITE_32   ((uint8_t)0x80)
 Zone bit 7 set: Access 32 bytes, otherwise 4 bytes. More...
 
#define ATCA_ADDRESS_MASK_CONFIG   (0x001F)
 Address bits 5 to 7 are 0 for Configuration zone. More...
 
#define ATCA_ADDRESS_MASK_OTP   (0x000F)
 Address bits 4 to 7 are 0 for OTP zone. More...
 
#define ATCA_ADDRESS_MASK   (0x007F)
 Address bit 7 to 15 are always 0. More...
 
#define ATCA_TEMPKEY_KEYID   (0xFFFF)
 KeyID when referencing TempKey. More...
 
Definitions for Key types
#define ATCA_B283_KEY_TYPE   0
 B283 NIST ECC key. More...
 
#define ATCA_K283_KEY_TYPE   1
 K283 NIST ECC key. More...
 
#define ATCA_P256_KEY_TYPE   4
 P256 NIST ECC key. More...
 
#define ATCA_AES_KEY_TYPE   6
 AES-128 Key. More...
 
#define ATCA_SHA_KEY_TYPE   7
 SHA key or other data. More...
 
Definitions for the AES Command
#define AES_MODE_IDX   ATCA_PARAM1_IDX
 AES command index for mode. More...
 
#define AES_KEYID_IDX   ATCA_PARAM2_IDX
 AES command index for key id. More...
 
#define AES_INPUT_IDX   ATCA_DATA_IDX
 AES command index for input data. More...
 
#define AES_COUNT   (23)
 AES command packet size. More...
 
#define AES_MODE_MASK   ((uint8_t)0xC7)
 AES mode bits 3 to 5 are 0. More...
 
#define AES_MODE_KEY_BLOCK_MASK   ((uint8_t)0xC0)
 AES mode mask for key block field. More...
 
#define AES_MODE_OP_MASK   ((uint8_t)0x07)
 AES mode operation mask. More...
 
#define AES_MODE_ENCRYPT   ((uint8_t)0x00)
 AES mode: Encrypt. More...
 
#define AES_MODE_DECRYPT   ((uint8_t)0x01)
 AES mode: Decrypt. More...
 
#define AES_MODE_GFM   ((uint8_t)0x03)
 AES mode: GFM calculation. More...
 
#define AES_MODE_KEY_BLOCK_POS   (6)
 Bit shift for key block in mode. More...
 
#define AES_DATA_SIZE   (16)
 size of AES encrypt/decrypt data More...
 
#define AES_RSP_SIZE   ATCA_RSP_SIZE_16
 AES command response packet size. More...
 
Definitions for the CheckMac Command
#define CHECKMAC_MODE_IDX   ATCA_PARAM1_IDX
 CheckMAC command index for mode. More...
 
#define CHECKMAC_KEYID_IDX   ATCA_PARAM2_IDX
 CheckMAC command index for key identifier. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_IDX   ATCA_DATA_IDX
 CheckMAC command index for client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_IDX   (37)
 CheckMAC command index for client response. More...
 
#define CHECKMAC_DATA_IDX   (69)
 CheckMAC command index for other data. More...
 
#define CHECKMAC_COUNT   (84)
 CheckMAC command packet size. More...
 
#define CHECKMAC_MODE_CHALLENGE   ((uint8_t)0x00)
 CheckMAC mode 0: first SHA block from key id. More...
 
#define CHECKMAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 CheckMAC mode bit 0: second SHA block from TempKey. More...
 
#define CHECKMAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 CheckMAC mode bit 1: first SHA block from TempKey. More...
 
#define CHECKMAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 CheckMAC mode bit 2: match TempKey.SourceFlag. More...
 
#define CHECKMAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 CheckMAC mode bit 5: include first 64 OTP bits. More...
 
#define CHECKMAC_MODE_MASK   ((uint8_t)0x27)
 CheckMAC mode bits 3, 4, 6, and 7 are 0. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_SIZE   (32)
 CheckMAC size of client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_SIZE   (32)
 CheckMAC size of client response. More...
 
#define CHECKMAC_OTHER_DATA_SIZE   (13)
 CheckMAC size of "other data". More...
 
#define CHECKMAC_CLIENT_COMMAND_SIZE   (4)
 CheckMAC size of client command header size inside "other data". More...
 
#define CHECKMAC_CMD_MATCH   (0)
 CheckMAC return value when there is a match. More...
 
#define CHECKMAC_CMD_MISMATCH   (1)
 CheckMAC return value when there is a mismatch. More...
 
#define CHECKMAC_RSP_SIZE   ATCA_RSP_SIZE_MIN
 CheckMAC response packet size. More...
 
Definitions for the Counter command
#define COUNTER_COUNT   ATCA_CMD_SIZE_MIN
 
#define COUNTER_MODE_IDX   ATCA_PARAM1_IDX
 Counter command index for mode. More...
 
#define COUNTER_KEYID_IDX   ATCA_PARAM2_IDX
 Counter command index for key id. More...
 
#define COUNTER_MODE_MASK   ((uint8_t)0x01)
 Counter mode bits 1 to 7 are 0. More...
 
#define COUNTER_MAX_VALUE   ((uint32_t)2097151)
 Counter maximum value of the counter. More...
 
#define COUNTER_MODE_READ   ((uint8_t)0x00)
 Counter command mode for reading. More...
 
#define COUNTER_MODE_INCREMENT   ((uint8_t)0x01)
 Counter command mode for incrementing. More...
 
#define COUNTER_RSP_SIZE   ATCA_RSP_SIZE_4
 Counter command response packet size. More...
 
Definitions for the DeriveKey Command
#define DERIVE_KEY_RANDOM_IDX   ATCA_PARAM1_IDX
 DeriveKey command index for random bit. More...
 
#define DERIVE_KEY_TARGETKEY_IDX   ATCA_PARAM2_IDX
 DeriveKey command index for target slot. More...
 
#define DERIVE_KEY_MAC_IDX   ATCA_DATA_IDX
 DeriveKey command index for optional MAC. More...
 
#define DERIVE_KEY_COUNT_SMALL   ATCA_CMD_SIZE_MIN
 DeriveKey command packet size without MAC. More...
 
#define DERIVE_KEY_MODE   ((uint8_t)0x04)
 DeriveKey command mode set to 4 as in datasheet. More...
 
#define DERIVE_KEY_COUNT_LARGE   (39)
 DeriveKey command packet size with MAC. More...
 
#define DERIVE_KEY_RANDOM_FLAG   ((uint8_t)4)
 DeriveKey 1. parameter; has to match TempKey.SourceFlag. More...
 
#define DERIVE_KEY_MAC_SIZE   (32)
 DeriveKey MAC size. More...
 
#define DERIVE_KEY_RSP_SIZE   ATCA_RSP_SIZE_MIN
 DeriveKey response packet size. More...
 
Definitions for the ECDH Command
#define ECDH_PREFIX_MODE   ((uint8_t)0x00)
 
#define ECDH_COUNT   (ATCA_CMD_SIZE_MIN + ATCA_PUB_KEY_SIZE)
 
#define ECDH_MODE_SOURCE_MASK   ((uint8_t)0x01)
 
#define ECDH_MODE_SOURCE_EEPROM_SLOT   ((uint8_t)0x00)
 
#define ECDH_MODE_SOURCE_TEMPKEY   ((uint8_t)0x01)
 
#define ECDH_MODE_OUTPUT_MASK   ((uint8_t)0x02)
 
#define ECDH_MODE_OUTPUT_CLEAR   ((uint8_t)0x00)
 
#define ECDH_MODE_OUTPUT_ENC   ((uint8_t)0x02)
 
#define ECDH_MODE_COPY_MASK   ((uint8_t)0x0C)
 
#define ECDH_MODE_COPY_COMPATIBLE   ((uint8_t)0x00)
 
#define ECDH_MODE_COPY_EEPROM_SLOT   ((uint8_t)0x04)
 
#define ECDH_MODE_COPY_TEMP_KEY   ((uint8_t)0x08)
 
#define ECDH_MODE_COPY_OUTPUT_BUFFER   ((uint8_t)0x0C)
 
#define ECDH_KEY_SIZE   ATCA_BLOCK_SIZE
 ECDH output data size. More...
 
#define ECDH_RSP_SIZE   ATCA_RSP_SIZE_64
 ECDH command packet size. More...
 
Definitions for the GenDig Command
#define GENDIG_ZONE_IDX   ATCA_PARAM1_IDX
 GenDig command index for zone. More...
 
#define GENDIG_KEYID_IDX   ATCA_PARAM2_IDX
 GenDig command index for key id. More...
 
#define GENDIG_DATA_IDX   ATCA_DATA_IDX
 GenDig command index for optional data. More...
 
#define GENDIG_COUNT   ATCA_CMD_SIZE_MIN
 GenDig command packet size without "other data". More...
 
#define GENDIG_ZONE_CONFIG   ((uint8_t)0)
 GenDig zone id config. Use KeyID to specify any of the four 256-bit blocks of the Configuration zone. More...
 
#define GENDIG_ZONE_OTP   ((uint8_t)1)
 GenDig zone id OTP. Use KeyID to specify either the first or second 256-bit block of the OTP zone. More...
 
#define GENDIG_ZONE_DATA   ((uint8_t)2)
 GenDig zone id data. Use KeyID to specify a slot in the Data zone or a transport key in the hardware array. More...
 
#define GENDIG_ZONE_SHARED_NONCE   ((uint8_t)3)
 GenDig zone id shared nonce. KeyID specifies the location of the input value in the message generation. More...
 
#define GENDIG_ZONE_COUNTER   ((uint8_t)4)
 GenDig zone id counter. KeyID specifies the monotonic counter ID to be included in the message generation. More...
 
#define GENDIG_ZONE_KEY_CONFIG   ((uint8_t)5)
 GenDig zone id key config. KeyID specifies the slot for which the configuration information is to be included in the message generation. More...
 
#define GENDIG_RSP_SIZE   ATCA_RSP_SIZE_MIN
 GenDig command response packet size. More...
 
Definitions for the GenKey Command
#define GENKEY_MODE_IDX   ATCA_PARAM1_IDX
 GenKey command index for mode. More...
 
#define GENKEY_KEYID_IDX   ATCA_PARAM2_IDX
 GenKey command index for key id. More...
 
#define GENKEY_DATA_IDX   (5)
 GenKey command index for other data. More...
 
#define GENKEY_COUNT   ATCA_CMD_SIZE_MIN
 GenKey command packet size without "other data". More...
 
#define GENKEY_COUNT_DATA   (10)
 GenKey command packet size with "other data". More...
 
#define GENKEY_OTHER_DATA_SIZE   (3)
 GenKey size of "other data". More...
 
#define GENKEY_MODE_MASK   ((uint8_t)0x1C)
 GenKey mode bits 0 to 1 and 5 to 7 are 0. More...
 
#define GENKEY_MODE_PRIVATE   ((uint8_t)0x04)
 GenKey mode: private key generation. More...
 
#define GENKEY_MODE_PUBLIC   ((uint8_t)0x00)
 GenKey mode: public key calculation. More...
 
#define GENKEY_MODE_DIGEST   ((uint8_t)0x08)
 GenKey mode: PubKey digest will be created after the public key is calculated. More...
 
#define GENKEY_MODE_PUBKEY_DIGEST   ((uint8_t)0x10)
 GenKey mode: Calculate PubKey digest on the public key in KeyId. More...
 
#define GENKEY_PRIVATE_TO_TEMPKEY   ((uint16_t)0xFFFF)
 GenKey Create private key and store to tempkey (608 only) More...
 
#define GENKEY_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 GenKey response packet size in Digest mode. More...
 
#define GENKEY_RSP_SIZE_LONG   ATCA_RSP_SIZE_64
 GenKey response packet size when returning a public key. More...
 
Definitions for the HMAC Command
#define HMAC_MODE_IDX   ATCA_PARAM1_IDX
 HMAC command index for mode. More...
 
#define HMAC_KEYID_IDX   ATCA_PARAM2_IDX
 HMAC command index for key id. More...
 
#define HMAC_COUNT   ATCA_CMD_SIZE_MIN
 HMAC command packet size. More...
 
#define HMAC_MODE_FLAG_TK_RAND   ((uint8_t)0x00)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_TK_NORAND   ((uint8_t)0x04)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_OTP88   ((uint8_t)0x10)
 HMAC mode bit 4: Include the first 88 OTP bits (OTP[0] through OTP[10]) in the message.; otherwise, the corresponding message bits are set to zero. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_OTP64   ((uint8_t)0x20)
 HMAC mode bit 5: Include the first 64 OTP bits (OTP[0] through OTP[7]) in the message.; otherwise, the corresponding message bits are set to zero. If Mode[4] is set, the value of this mode bit is ignored. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_FULLSN   ((uint8_t)0x40)
 HMAC mode bit 6: If set, include the 48 bits SN[2:3] and SN[4:7] in the message.; otherwise, the corresponding message bits are set to zero. More...
 
#define HMAC_MODE_MASK   ((uint8_t)0x74)
 HMAC mode bits 0, 1, 3, and 7 are 0. More...
 
#define HMAC_DIGEST_SIZE   (32)
 HMAC size of digest response. More...
 
#define HMAC_RSP_SIZE   ATCA_RSP_SIZE_32
 HMAC command response packet size. More...
 
Definitions for the Info Command
#define INFO_PARAM1_IDX   ATCA_PARAM1_IDX
 Info command index for 1. parameter. More...
 
#define INFO_PARAM2_IDX   ATCA_PARAM2_IDX
 Info command index for 2. parameter. More...
 
#define INFO_COUNT   ATCA_CMD_SIZE_MIN
 Info command packet size. More...
 
#define INFO_MODE_REVISION   ((uint8_t)0x00)
 Info mode Revision. More...
 
#define INFO_MODE_KEY_VALID   ((uint8_t)0x01)
 Info mode KeyValid. More...
 
#define INFO_MODE_STATE   ((uint8_t)0x02)
 Info mode State. More...
 
#define INFO_MODE_GPIO   ((uint8_t)0x03)
 Info mode GPIO. More...
 
#define INFO_MODE_VOL_KEY_PERMIT   ((uint8_t)0x04)
 Info mode GPIO. More...
 
#define INFO_MODE_MAX   ((uint8_t)0x03)
 Info mode maximum value. More...
 
#define INFO_NO_STATE   ((uint8_t)0x00)
 Info mode is not the state mode. More...
 
#define INFO_OUTPUT_STATE_MASK   ((uint8_t)0x01)
 Info output state mask. More...
 
#define INFO_DRIVER_STATE_MASK   ((uint8_t)0x02)
 Info driver state mask. More...
 
#define INFO_PARAM2_SET_LATCH_STATE   ((uint16_t)0x0002)
 Info param2 to set the persistent latch state. More...
 
#define INFO_PARAM2_LATCH_SET   ((uint16_t)0x0001)
 Info param2 to set the persistent latch. More...
 
#define INFO_PARAM2_LATCH_CLEAR   ((uint16_t)0x0000)
 Info param2 to clear the persistent latch. More...
 
#define INFO_SIZE   ((uint8_t)0x04)
 Info return size. More...
 
#define INFO_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Info command response packet size. More...
 
Definitions for the KDF Command
#define KDF_MODE_IDX   ATCA_PARAM1_IDX
 KDF command index for mode. More...
 
#define KDF_KEYID_IDX   ATCA_PARAM2_IDX
 KDF command index for key id. More...
 
#define KDF_DETAILS_IDX   ATCA_DATA_IDX
 KDF command index for details. More...
 
#define KDF_DETAILS_SIZE   4
 KDF details (param3) size. More...
 
#define KDF_MESSAGE_IDX   (ATCA_DATA_IDX + KDF_DETAILS_SIZE)
 
#define KDF_MODE_SOURCE_MASK   ((uint8_t)0x03)
 KDF mode source key mask. More...
 
#define KDF_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 KDF mode source key in TempKey. More...
 
#define KDF_MODE_SOURCE_TEMPKEY_UP   ((uint8_t)0x01)
 KDF mode source key in upper TempKey. More...
 
#define KDF_MODE_SOURCE_SLOT   ((uint8_t)0x02)
 KDF mode source key in a slot. More...
 
#define KDF_MODE_SOURCE_ALTKEYBUF   ((uint8_t)0x03)
 KDF mode source key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_MASK   ((uint8_t)0x1C)
 KDF mode target key mask. More...
 
#define KDF_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 KDF mode target key in TempKey. More...
 
#define KDF_MODE_TARGET_TEMPKEY_UP   ((uint8_t)0x04)
 KDF mode target key in upper TempKey. More...
 
#define KDF_MODE_TARGET_SLOT   ((uint8_t)0x08)
 KDF mode target key in slot. More...
 
#define KDF_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x0C)
 KDF mode target key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT   ((uint8_t)0x10)
 KDF mode target key in output buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT_ENC   ((uint8_t)0x14)
 KDF mode target key encrypted in output buffer. More...
 
#define KDF_MODE_ALG_MASK   ((uint8_t)0x60)
 KDF mode algorithm mask. More...
 
#define KDF_MODE_ALG_PRF   ((uint8_t)0x00)
 KDF mode PRF algorithm. More...
 
#define KDF_MODE_ALG_AES   ((uint8_t)0x20)
 KDF mode AES algorithm. More...
 
#define KDF_MODE_ALG_HKDF   ((uint8_t)0x40)
 KDF mode HKDF algorithm. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_MASK   ((uint32_t)0x00000003)
 KDF details for PRF, source key length mask. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_16   ((uint32_t)0x00000000)
 KDF details for PRF, source key length is 16 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_32   ((uint32_t)0x00000001)
 KDF details for PRF, source key length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_48   ((uint32_t)0x00000002)
 KDF details for PRF, source key length is 48 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_64   ((uint32_t)0x00000003)
 KDF details for PRF, source key length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_MASK   ((uint32_t)0x00000100)
 KDF details for PRF, target length mask. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_32   ((uint32_t)0x00000000)
 KDF details for PRF, target length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_64   ((uint32_t)0x00000100)
 KDF details for PRF, target length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_AEAD_MASK   ((uint32_t)0x00000600)
 KDF details for PRF, AEAD processing mask. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE0   ((uint32_t)0x00000000)
 KDF details for PRF, AEAD no processing. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE1   ((uint32_t)0x00000200)
 KDF details for PRF, AEAD First 32 go to target, second 32 go to output buffer. More...
 
#define KDF_DETAILS_AES_KEY_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for AES, key location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for HKDF, message location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_SLOT   ((uint32_t)0x00000000)
 KDF details for HKDF, message location in slot. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY   ((uint32_t)0x00000001)
 KDF details for HKDF, message location in TempKey. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_INPUT   ((uint32_t)0x00000002)
 KDF details for HKDF, message location in input parameter. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_IV   ((uint32_t)0x00000003)
 KDF details for HKDF, message location is a special IV function. More...
 
#define KDF_DETAILS_HKDF_ZERO_KEY   ((uint32_t)0x00000004)
 KDF details for HKDF, key is 32 bytes of zero. More...
 
Definitions for the Lock Command
#define LOCK_ZONE_IDX   ATCA_PARAM1_IDX
 Lock command index for zone. More...
 
#define LOCK_SUMMARY_IDX   ATCA_PARAM2_IDX
 Lock command index for summary. More...
 
#define LOCK_COUNT   ATCA_CMD_SIZE_MIN
 Lock command packet size. More...
 
#define LOCK_ZONE_CONFIG   ((uint8_t)0x00)
 Lock zone is Config. More...
 
#define LOCK_ZONE_DATA   ((uint8_t)0x01)
 Lock zone is OTP or Data. More...
 
#define LOCK_ZONE_DATA_SLOT   ((uint8_t)0x02)
 Lock slot of Data. More...
 
#define LOCK_ZONE_NO_CRC   ((uint8_t)0x80)
 Lock command: Ignore summary. More...
 
#define LOCK_ZONE_MASK   (0xBF)
 Lock parameter 1 bits 6 are 0. More...
 
#define ATCA_UNLOCKED   (0x55)
 Value indicating an unlocked zone. More...
 
#define ATCA_LOCKED   (0x00)
 Value indicating a locked zone. More...
 
#define LOCK_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Lock command response packet size. More...
 
Definitions for the MAC Command
#define MAC_MODE_IDX   ATCA_PARAM1_IDX
 MAC command index for mode. More...
 
#define MAC_KEYID_IDX   ATCA_PARAM2_IDX
 MAC command index for key id. More...
 
#define MAC_CHALLENGE_IDX   ATCA_DATA_IDX
 MAC command index for optional challenge. More...
 
#define MAC_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 MAC command packet size without challenge. More...
 
#define MAC_COUNT_LONG   (39)
 MAC command packet size with challenge. More...
 
#define MAC_MODE_CHALLENGE   ((uint8_t)0x00)
 MAC mode 0: first SHA block from data slot. More...
 
#define MAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 MAC mode bit 1: first SHA block from TempKey. More...
 
#define MAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 MAC mode bit 2: match TempKey.SourceFlag. More...
 
#define MAC_MODE_PTNONCE_TEMPKEY   ((uint8_t)0x06)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_PASSTHROUGH   ((uint8_t)0x07)
 MAC mode bit 0-2: pass-through mode. More...
 
#define MAC_MODE_INCLUDE_OTP_88   ((uint8_t)0x10)
 MAC mode bit 4: include first 88 OTP bits. More...
 
#define MAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 MAC mode bit 5: include first 64 OTP bits. More...
 
#define MAC_MODE_INCLUDE_SN   ((uint8_t)0x40)
 MAC mode bit 6: include serial number. More...
 
#define MAC_CHALLENGE_SIZE   (32)
 MAC size of challenge. More...
 
#define MAC_SIZE   (32)
 MAC size of response. More...
 
#define MAC_MODE_MASK   ((uint8_t)0x77)
 MAC mode bits 3 and 7 are 0. More...
 
#define MAC_RSP_SIZE   ATCA_RSP_SIZE_32
 MAC command response packet size. More...
 
Definitions for the Nonce Command
#define NONCE_MODE_IDX   ATCA_PARAM1_IDX
 Nonce command index for mode. More...
 
#define NONCE_PARAM2_IDX   ATCA_PARAM2_IDX
 Nonce command index for 2. parameter. More...
 
#define NONCE_INPUT_IDX   ATCA_DATA_IDX
 Nonce command index for input data. More...
 
#define NONCE_COUNT_SHORT   (ATCA_CMD_SIZE_MIN + 20)
 Nonce command packet size for 20 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG   (ATCA_CMD_SIZE_MIN + 32)
 Nonce command packet size for 32 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG_64   (ATCA_CMD_SIZE_MIN + 64)
 Nonce command packet size for 64 bytes of NumIn. More...
 
#define NONCE_MODE_MASK   ((uint8_t)0x03)
 Nonce mode bits 2 to 7 are 0. More...
 
#define NONCE_MODE_SEED_UPDATE   ((uint8_t)0x00)
 Nonce mode: update seed. More...
 
#define NONCE_MODE_NO_SEED_UPDATE   ((uint8_t)0x01)
 Nonce mode: do not update seed. More...
 
#define NONCE_MODE_INVALID   ((uint8_t)0x02)
 Nonce mode 2 is invalid. More...
 
#define NONCE_MODE_PASSTHROUGH   ((uint8_t)0x03)
 Nonce mode: pass-through. More...
 
#define NONCE_MODE_INPUT_LEN_MASK   ((uint8_t)0x20)
 Nonce mode: input size mask. More...
 
#define NONCE_MODE_INPUT_LEN_32   ((uint8_t)0x00)
 Nonce mode: input size is 32 bytes. More...
 
#define NONCE_MODE_INPUT_LEN_64   ((uint8_t)0x20)
 Nonce mode: input size is 64 bytes. More...
 
#define NONCE_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Nonce mode: target mask. More...
 
#define NONCE_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Nonce mode: target is TempKey. More...
 
#define NONCE_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Nonce mode: target is Message Digest Buffer. More...
 
#define NONCE_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x80)
 Nonce mode: target is Alternate Key Buffer. More...
 
#define NONCE_ZERO_CALC_MASK   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode mask. More...
 
#define NONCE_ZERO_CALC_RANDOM   ((uint16_t)0x0000)
 Nonce zero (param2): calculation mode random, use RNG in calculation and return RNG output. More...
 
#define NONCE_ZERO_CALC_TEMPKEY   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode TempKey, use TempKey in calculation and return new TempKey value. More...
 
#define NONCE_NUMIN_SIZE   (20)
 Nonce NumIn size for random modes. More...
 
#define NONCE_NUMIN_SIZE_PASSTHROUGH   (32)
 Nonce NumIn size for 32-byte pass-through mode. More...
 
#define NONCE_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 Nonce command response packet size with no output. More...
 
#define NONCE_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 Nonce command response packet size with output. More...
 
Definitions for the Pause Command
#define PAUSE_SELECT_IDX   ATCA_PARAM1_IDX
 Pause command index for Selector. More...
 
#define PAUSE_PARAM2_IDX   ATCA_PARAM2_IDX
 Pause command index for 2. parameter. More...
 
#define PAUSE_COUNT   ATCA_CMD_SIZE_MIN
 Pause command packet size. More...
 
#define PAUSE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Pause command response packet size. More...
 
Definitions for the PrivWrite Command
#define PRIVWRITE_ZONE_IDX   ATCA_PARAM1_IDX
 PrivWrite command index for zone. More...
 
#define PRIVWRITE_KEYID_IDX   ATCA_PARAM2_IDX
 PrivWrite command index for KeyID. More...
 
#define PRIVWRITE_VALUE_IDX   ( 5)
 PrivWrite command index for value. More...
 
#define PRIVWRITE_MAC_IDX   (41)
 PrivWrite command index for MAC. More...
 
#define PRIVWRITE_COUNT   (75)
 PrivWrite command packet size. More...
 
#define PRIVWRITE_ZONE_MASK   ((uint8_t)0x40)
 PrivWrite zone bits 0 to 5 and 7 are 0. More...
 
#define PRIVWRITE_MODE_ENCRYPT   ((uint8_t)0x40)
 PrivWrite mode: encrypted. More...
 
#define PRIVWRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 PrivWrite command response packet size. More...
 
Definitions for the Random Command
#define RANDOM_MODE_IDX   ATCA_PARAM1_IDX
 Random command index for mode. More...
 
#define RANDOM_PARAM2_IDX   ATCA_PARAM2_IDX
 Random command index for 2. parameter. More...
 
#define RANDOM_COUNT   ATCA_CMD_SIZE_MIN
 Random command packet size. More...
 
#define RANDOM_SEED_UPDATE   ((uint8_t)0x00)
 Random mode for automatic seed update. More...
 
#define RANDOM_NO_SEED_UPDATE   ((uint8_t)0x01)
 Random mode for no seed update. More...
 
#define RANDOM_NUM_SIZE   ((uint8_t)32)
 Number of bytes in the data packet of a random command. More...
 
#define RANDOM_RSP_SIZE   ATCA_RSP_SIZE_32
 Random command response packet size. More...
 
Definitions for the Read Command
#define READ_ZONE_IDX   ATCA_PARAM1_IDX
 Read command index for zone. More...
 
#define READ_ADDR_IDX   ATCA_PARAM2_IDX
 Read command index for address. More...
 
#define READ_COUNT   ATCA_CMD_SIZE_MIN
 Read command packet size. More...
 
#define READ_ZONE_MASK   ((uint8_t)0x83)
 Read zone bits 2 to 6 are 0. More...
 
#define READ_4_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Read command response packet size when reading 4 bytes. More...
 
#define READ_32_RSP_SIZE   ATCA_RSP_SIZE_32
 Read command response packet size when reading 32 bytes. More...
 
Definitions for the SecureBoot Command
#define SECUREBOOT_MODE_IDX   ATCA_PARAM1_IDX
 SecureBoot command index for mode. More...
 
#define SECUREBOOT_DIGEST_SIZE   (32)
 SecureBoot digest input size. More...
 
#define SECUREBOOT_SIGNATURE_SIZE   (64)
 SecureBoot signature input size. More...
 
#define SECUREBOOT_COUNT_DIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE)
 SecureBoot command packet size for just a digest. More...
 
#define SECUREBOOT_COUNT_DIG_SIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE + SECUREBOOT_SIGNATURE_SIZE)
 SecureBoot command packet size for a digest and signature. More...
 
#define SECUREBOOT_MAC_SIZE   (32)
 SecureBoot MAC output size. More...
 
#define SECUREBOOT_RSP_SIZE_NO_MAC   ATCA_RSP_SIZE_MIN
 SecureBoot response packet size for no MAC. More...
 
#define SECUREBOOT_RSP_SIZE_MAC   (ATCA_PACKET_OVERHEAD + SECUREBOOT_MAC_SIZE)
 SecureBoot response packet size with MAC. More...
 
#define SECUREBOOT_MODE_MASK   ((uint8_t)0x07)
 SecureBoot mode mask. More...
 
#define SECUREBOOT_MODE_FULL   ((uint8_t)0x05)
 SecureBoot mode Full. More...
 
#define SECUREBOOT_MODE_FULL_STORE   ((uint8_t)0x06)
 SecureBoot mode FullStore. More...
 
#define SECUREBOOT_MODE_FULL_COPY   ((uint8_t)0x07)
 SecureBoot mode FullCopy. More...
 
#define SECUREBOOT_MODE_PROHIBIT_FLAG   ((uint8_t)0x40)
 SecureBoot mode flag to prohibit SecureBoot until next power cycle. More...
 
#define SECUREBOOT_MODE_ENC_MAC_FLAG   ((uint8_t)0x80)
 SecureBoot mode flag for encrypted digest and returning validating MAC. More...
 
#define SECUREBOOTCONFIG_OFFSET   (70)
 SecureBootConfig byte offset into the configuration zone. More...
 
#define SECUREBOOTCONFIG_MODE_MASK   ((uint16_t)0x0003)
 Mask for SecureBootMode field in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_DISABLED   ((uint16_t)0x0000)
 Disabled SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_BOTH   ((uint16_t)0x0001)
 Both digest and signature always required SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_SIG   ((uint16_t)0x0002)
 Signature stored SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_DIG   ((uint16_t)0x0003)
 Digest stored SecureBootMode in SecureBootConfig value. More...
 
Definitions for the SelfTest Command
#define SELFTEST_MODE_IDX   ATCA_PARAM1_IDX
 SelfTest command index for mode. More...
 
#define SELFTEST_COUNT   ATCA_CMD_SIZE_MIN
 SelfTest command packet size. More...
 
#define SELFTEST_MODE_RNG   ((uint8_t)0x01)
 SelfTest mode RNG DRBG function. More...
 
#define SELFTEST_MODE_ECDSA_SIGN_VERIFY   ((uint8_t)0x02)
 SelfTest mode ECDSA verify function. More...
 
#define SELFTEST_MODE_ECDH   ((uint8_t)0x08)
 SelfTest mode ECDH function. More...
 
#define SELFTEST_MODE_AES   ((uint8_t)0x10)
 SelfTest mode AES encrypt function. More...
 
#define SELFTEST_MODE_SHA   ((uint8_t)0x20)
 SelfTest mode SHA function. More...
 
#define SELFTEST_MODE_ALL   ((uint8_t)0x3B)
 SelfTest mode all algorithms. More...
 
#define SELFTEST_RSP_SIZE   ATCA_RSP_SIZE_MIN
 SelfTest command response packet size. More...
 
Definitions for the SHA Command
#define SHA_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 
#define SHA_COUNT_LONG   ATCA_CMD_SIZE_MIN
 Just a starting size. More...
 
#define ATCA_SHA_DIGEST_SIZE   (32)
 
#define SHA_DATA_MAX   (64)
 
#define ATCA_SHA256_BLOCK_SIZE   (64)
 
#define SHA_CONTEXT_MAX_SIZE   (99)
 
#define SHA_MODE_MASK   ((uint8_t)0x07)
 Mask the bit 0-2. More...
 
#define SHA_MODE_SHA256_START   ((uint8_t)0x00)
 Initialization, does not accept a message. More...
 
#define SHA_MODE_SHA256_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_SHA256_END   ((uint8_t)0x02)
 Complete the calculation and return the digest. More...
 
#define SHA_MODE_SHA256_PUBLIC   ((uint8_t)0x03)
 Add 64 byte ECC public key in the slot to the SHA context. More...
 
#define SHA_MODE_HMAC_START   ((uint8_t)0x04)
 Initialization, HMAC calculation. More...
 
#define SHA_MODE_HMAC_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_HMAC_END   ((uint8_t)0x05)
 Complete the HMAC computation and return digest. More...
 
#define SHA_MODE_608_HMAC_END   ((uint8_t)0x02)
 Complete the HMAC computation and return digest... Different command on 608. More...
 
#define SHA_MODE_READ_CONTEXT   ((uint8_t)0x06)
 Read current SHA-256 context out of the device. More...
 
#define SHA_MODE_WRITE_CONTEXT   ((uint8_t)0x07)
 Restore a SHA-256 context into the device. More...
 
#define SHA_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Resulting digest target location mask. More...
 
#define SHA_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Place resulting digest both in Output buffer and TempKey. More...
 
#define SHA_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Place resulting digest both in Output buffer and Message Digest Buffer. More...
 
#define SHA_MODE_TARGET_OUT_ONLY   ((uint8_t)0xC0)
 Place resulting digest both in Output buffer ONLY. More...
 
#define SHA_RSP_SIZE   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
#define SHA_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 SHA command response packet size only status code. More...
 
#define SHA_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
Definitions for the Sign Command
#define SIGN_MODE_IDX   ATCA_PARAM1_IDX
 Sign command index for mode. More...
 
#define SIGN_KEYID_IDX   ATCA_PARAM2_IDX
 Sign command index for key id. More...
 
#define SIGN_COUNT   ATCA_CMD_SIZE_MIN
 Sign command packet size. More...
 
#define SIGN_MODE_MASK   ((uint8_t)0xE1)
 Sign mode bits 1 to 4 are 0. More...
 
#define SIGN_MODE_INTERNAL   ((uint8_t)0x00)
 Sign mode 0: internal. More...
 
#define SIGN_MODE_INVALIDATE   ((uint8_t)0x01)
 Sign mode bit 1: Signature will be used for Verify(Invalidate) More...
 
#define SIGN_MODE_INCLUDE_SN   ((uint8_t)0x40)
 Sign mode bit 6: include serial number. More...
 
#define SIGN_MODE_EXTERNAL   ((uint8_t)0x80)
 Sign mode bit 7: external. More...
 
#define SIGN_MODE_SOURCE_MASK   ((uint8_t)0x20)
 Sign mode message source mask. More...
 
#define SIGN_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 Sign mode message source is TempKey. More...
 
#define SIGN_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
 Sign mode message source is the Message Digest Buffer. More...
 
#define SIGN_RSP_SIZE   ATCA_RSP_SIZE_MAX
 Sign command response packet size. More...
 
Definitions for the UpdateExtra Command
#define UPDATE_MODE_IDX   ATCA_PARAM1_IDX
 UpdateExtra command index for mode. More...
 
#define UPDATE_VALUE_IDX   ATCA_PARAM2_IDX
 UpdateExtra command index for new value. More...
 
#define UPDATE_COUNT   ATCA_CMD_SIZE_MIN
 UpdateExtra command packet size. More...
 
#define UPDATE_MODE_USER_EXTRA   ((uint8_t)0x00)
 UpdateExtra mode update UserExtra (config byte 84) More...
 
#define UPDATE_MODE_SELECTOR   ((uint8_t)0x01)
 UpdateExtra mode update Selector (config byte 85) More...
 
#define UPDATE_MODE_USER_EXTRA_ADD   UPDATE_MODE_SELECTOR
 UpdateExtra mode update UserExtraAdd (config byte 85) More...
 
#define UPDATE_MODE_DEC_COUNTER   ((uint8_t)0x02)
 UpdateExtra mode: decrement counter. More...
 
#define UPDATE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 UpdateExtra command response packet size. More...
 
Definitions for the Verify Command
#define VERIFY_MODE_IDX   ATCA_PARAM1_IDX
 Verify command index for mode. More...
 
#define VERIFY_KEYID_IDX   ATCA_PARAM2_IDX
 Verify command index for key id. More...
 
#define VERIFY_DATA_IDX   ( 5)
 Verify command index for data. More...
 
#define VERIFY_256_STORED_COUNT   ( 71)
 Verify command packet size for 256-bit key in stored mode. More...
 
#define VERIFY_283_STORED_COUNT   ( 79)
 Verify command packet size for 283-bit key in stored mode. More...
 
#define VERIFY_256_VALIDATE_COUNT   ( 90)
 Verify command packet size for 256-bit key in validate mode. More...
 
#define VERIFY_283_VALIDATE_COUNT   ( 98)
 Verify command packet size for 283-bit key in validate mode. More...
 
#define VERIFY_256_EXTERNAL_COUNT   (135)
 Verify command packet size for 256-bit key in external mode. More...
 
#define VERIFY_283_EXTERNAL_COUNT   (151)
 Verify command packet size for 283-bit key in external mode. More...
 
#define VERIFY_256_KEY_SIZE   ( 64)
 Verify key size for 256-bit key. More...
 
#define VERIFY_283_KEY_SIZE   ( 72)
 Verify key size for 283-bit key. More...
 
#define VERIFY_256_SIGNATURE_SIZE   ( 64)
 Verify signature size for 256-bit key. More...
 
#define VERIFY_283_SIGNATURE_SIZE   ( 72)
 Verify signature size for 283-bit key. More...
 
#define VERIFY_OTHER_DATA_SIZE   ( 19)
 Verify size of "other data". More...
 
#define VERIFY_MODE_MASK   ((uint8_t)0x03)
 Verify mode bits 2 to 7 are 0. More...
 
#define VERIFY_MODE_STORED   ((uint8_t)0x00)
 Verify mode: stored. More...
 
#define VERIFY_MODE_VALIDATE_EXTERNAL   ((uint8_t)0x01)
 Verify mode: validate external. More...
 
#define VERIFY_MODE_EXTERNAL   ((uint8_t)0x02)
 Verify mode: external. More...
 
#define VERIFY_MODE_VALIDATE   ((uint8_t)0x03)
 Verify mode: validate. More...
 
#define VERIFY_MODE_INVALIDATE   ((uint8_t)0x07)
 Verify mode: invalidate. More...
 
#define VERIFY_MODE_SOURCE_MASK   ((uint8_t)0x20)
 Verify mode message source mask. More...
 
#define VERIFY_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 Verify mode message source is TempKey. More...
 
#define VERIFY_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
 Verify mode message source is the Message Digest Buffer. More...
 
#define VERIFY_MODE_MAC_FLAG   ((uint8_t)0x80)
 Verify mode: MAC. More...
 
#define VERIFY_KEY_B283   ((uint16_t)0x0000)
 Verify key type: B283. More...
 
#define VERIFY_KEY_K283   ((uint16_t)0x0001)
 Verify key type: K283. More...
 
#define VERIFY_KEY_P256   ((uint16_t)0x0004)
 Verify key type: P256. More...
 
#define VERIFY_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Verify command response packet size. More...
 
#define VERIFY_RSP_SIZE_MAC   ATCA_RSP_SIZE_32
 Verify command response packet size with validating MAC. More...
 
Definitions for the Write Command
#define WRITE_ZONE_IDX   ATCA_PARAM1_IDX
 Write command index for zone. More...
 
#define WRITE_ADDR_IDX   ATCA_PARAM2_IDX
 Write command index for address. More...
 
#define WRITE_VALUE_IDX   ATCA_DATA_IDX
 Write command index for data. More...
 
#define WRITE_MAC_VS_IDX   ( 9)
 Write command index for MAC following short data. More...
 
#define WRITE_MAC_VL_IDX   (37)
 Write command index for MAC following long data. More...
 
#define WRITE_MAC_SIZE   (32)
 Write MAC size. More...
 
#define WRITE_ZONE_MASK   ((uint8_t)0xC3)
 Write zone bits 2 to 5 are 0. More...
 
#define WRITE_ZONE_WITH_MAC   ((uint8_t)0x40)
 Write zone bit 6: write encrypted with MAC. More...
 
#define WRITE_ZONE_OTP   ((uint8_t)1)
 Write zone id OTP. More...
 
#define WRITE_ZONE_DATA   ((uint8_t)2)
 Write zone id data. More...
 
#define WRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Write command response packet size. More...
 
+ + + +

+Typedefs

typedef struct atca_commandATCACommand
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
 constructor for a Microchip CryptoAuth device More...
 
void deleteATCADevice (ATCADevice *ca_dev)
 destructor for a device NULLs reference after object is freed More...
 
ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
 Initializer for an Microchip CryptoAuth device. More...
 
ATCACommand atGetCommands (ATCADevice dev)
 returns a reference to the ATCACommand object for the device More...
 
ATCAIface atGetIFace (ATCADevice dev)
 returns a reference to the ATCAIface interface object for the device More...
 
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
 Release any resources associated with the device. More...
 
ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
 Initializer for ATCACommand. More...
 
ATCACommand newATCACommand (ATCADeviceType device_type)
 constructor for ATCACommand More...
 
void deleteATCACommand (ATCACommand *ca_cmd)
 ATCACommand destructor. More...
 
ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand CheckMAC method. More...
 
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Counter method. More...
 
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand DeriveKey method. More...
 
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDH method. More...
 
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
 ATCACommand Generate Digest method. More...
 
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Generate Key method. More...
 
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand HMAC method. More...
 
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Info method. More...
 
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Lock method. More...
 
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand MAC method. More...
 
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Nonce method. More...
 
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Pause method. More...
 
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand PrivWrite method. More...
 
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Random method. More...
 
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Read method. More...
 
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand SecureBoot method. More...
 
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
 ATCACommand SHA method. More...
 
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Sign method. More...
 
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand UpdateExtra method. More...
 
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDSA Verify method. More...
 
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand Write method. More...
 
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand KDF method. More...
 
bool atIsSHAFamily (ATCADeviceType device_type)
 determines if a given device type is a SHA device or a superset of a SHA device More...
 
bool atIsECCFamily (ATCADeviceType device_type)
 determines if a given device type is an ECC device or a superset of a ECC device More...
 
ATCA_STATUS isATCAError (uint8_t *data)
 checks for basic error frame in data More...
 
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
 Calculates CRC over the given raw data and returns the CRC in little-endian byte order. More...
 
void atCalcCrc (ATCAPacket *pkt)
 This function calculates CRC and adds it to the correct offset in the packet data. More...
 
ATCA_STATUS atCheckCrc (const uint8_t *response)
 This function checks the consistency of a response. More...
 

Detailed Description

-

Microchip CryptoAuth device object.

+

Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch.

+

This command object supports the ATSHA and ATECC device family. The command list is a superset of all device commands for this family. The command object differentiates the packet contents based on specific device type within the family.

-
+

Macro Definition Documentation

+ +

◆ SIGN_COUNT

+ +
+
+ + + + +
#define SIGN_COUNT   ATCA_CMD_SIZE_MIN
+
+ +

Sign command packet size.

+ +
+
+ +

◆ SIGN_KEYID_IDX

+ +
+
+ + + + +
#define SIGN_KEYID_IDX   ATCA_PARAM2_IDX
+
+ +

Sign command index for key id.

+ +
+
+ +

◆ SIGN_MODE_EXTERNAL

+ +
+
+ + + + +
#define SIGN_MODE_EXTERNAL   ((uint8_t)0x80)
+
+ +

Sign mode bit 7: external.

+ +
+
+ +

◆ SIGN_MODE_IDX

+ +
+
+ + + + +
#define SIGN_MODE_IDX   ATCA_PARAM1_IDX
+
+ +

Sign command index for mode.

+ +
+
+ +

◆ SIGN_MODE_INCLUDE_SN

+ +
+
+ + + + +
#define SIGN_MODE_INCLUDE_SN   ((uint8_t)0x40)
+
+ +

Sign mode bit 6: include serial number.

+ +
+
+ +

◆ SIGN_MODE_INTERNAL

+ +
+
+ + + + +
#define SIGN_MODE_INTERNAL   ((uint8_t)0x00)
+
+ +

Sign mode 0: internal.

+ +
+
+ +

◆ SIGN_MODE_INVALIDATE

+ +
+
+ + + + +
#define SIGN_MODE_INVALIDATE   ((uint8_t)0x01)
+
+ +

Sign mode bit 1: Signature will be used for Verify(Invalidate)

+ +
+
+ +

◆ SIGN_MODE_MASK

+ +
+
+ + + + +
#define SIGN_MODE_MASK   ((uint8_t)0xE1)
+
+ +

Sign mode bits 1 to 4 are 0.

+ +
+
+ +

◆ SIGN_MODE_SOURCE_MASK

+ +
+
+ + + + +
#define SIGN_MODE_SOURCE_MASK   ((uint8_t)0x20)
+
+ +

Sign mode message source mask.

+ +
+
+ +

◆ SIGN_MODE_SOURCE_MSGDIGBUF

+ +
+
+ + + + +
#define SIGN_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
+
+ +

Sign mode message source is the Message Digest Buffer.

+ +
+
+ +

◆ SIGN_MODE_SOURCE_TEMPKEY

+ +
+
+ + + + +
#define SIGN_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
+
+ +

Sign mode message source is TempKey.

+ +
+
+ +

◆ SIGN_RSP_SIZE

+ +
+
+ + + + +
#define SIGN_RSP_SIZE   ATCA_RSP_SIZE_MAX
+
+ +

Sign command response packet size.

+ +
+
+ +

◆ UPDATE_COUNT

+ +
+
+ + + + +
#define UPDATE_COUNT   ATCA_CMD_SIZE_MIN
+
+ +

UpdateExtra command packet size.

+ +
+
+ +

◆ UPDATE_MODE_DEC_COUNTER

+ +
+
+ + + + +
#define UPDATE_MODE_DEC_COUNTER   ((uint8_t)0x02)
+
+ +

UpdateExtra mode: decrement counter.

+ +
+
+ +

◆ UPDATE_MODE_IDX

+ +
+
+ + + + +
#define UPDATE_MODE_IDX   ATCA_PARAM1_IDX
+
+ +

UpdateExtra command index for mode.

+ +
+
+ +

◆ UPDATE_MODE_SELECTOR

+ +
+
+ + + + +
#define UPDATE_MODE_SELECTOR   ((uint8_t)0x01)
+
+ +

UpdateExtra mode update Selector (config byte 85)

+ +
+
+ +

◆ UPDATE_MODE_USER_EXTRA

+ +
+
+ + + + +
#define UPDATE_MODE_USER_EXTRA   ((uint8_t)0x00)
+
+ +

UpdateExtra mode update UserExtra (config byte 84)

+ +
+
+ +

◆ UPDATE_MODE_USER_EXTRA_ADD

+ +
+
+ + + + +
#define UPDATE_MODE_USER_EXTRA_ADD   UPDATE_MODE_SELECTOR
+
+ +

UpdateExtra mode update UserExtraAdd (config byte 85)

+ +
+
+ +

◆ UPDATE_RSP_SIZE

+ +
+
+ + + + +
#define UPDATE_RSP_SIZE   ATCA_RSP_SIZE_MIN
+
+ +

UpdateExtra command response packet size.

+ +
+
+ +

◆ UPDATE_VALUE_IDX

+ +
+
+ + + + +
#define UPDATE_VALUE_IDX   ATCA_PARAM2_IDX
+
+ +

UpdateExtra command index for new value.

+ +
+
+ +

◆ VERIFY_256_EXTERNAL_COUNT

+ +
+
+ + + + +
#define VERIFY_256_EXTERNAL_COUNT   (135)
+
+ +

Verify command packet size for 256-bit key in external mode.

+ +
+
+ +

◆ VERIFY_256_KEY_SIZE

+ +
+
+ + + + +
#define VERIFY_256_KEY_SIZE   ( 64)
+
+ +

Verify key size for 256-bit key.

+ +
+
+ +

◆ VERIFY_256_SIGNATURE_SIZE

+ +
+
+ + + + +
#define VERIFY_256_SIGNATURE_SIZE   ( 64)
+
+ +

Verify signature size for 256-bit key.

+ +
+
+ +

◆ VERIFY_256_STORED_COUNT

+ +
+
+ + + + +
#define VERIFY_256_STORED_COUNT   ( 71)
+
+ +

Verify command packet size for 256-bit key in stored mode.

+ +
+
+ +

◆ VERIFY_256_VALIDATE_COUNT

+ +
+
+ + + + +
#define VERIFY_256_VALIDATE_COUNT   ( 90)
+
+ +

Verify command packet size for 256-bit key in validate mode.

+ +
+
+ +

◆ VERIFY_283_EXTERNAL_COUNT

+ +
+
+ + + + +
#define VERIFY_283_EXTERNAL_COUNT   (151)
+
+ +

Verify command packet size for 283-bit key in external mode.

+ +
+
+ +

◆ VERIFY_283_KEY_SIZE

+ +
+
+ + + + +
#define VERIFY_283_KEY_SIZE   ( 72)
+
+ +

Verify key size for 283-bit key.

+ +
+
+ +

◆ VERIFY_283_SIGNATURE_SIZE

+ +
+
+ + + + +
#define VERIFY_283_SIGNATURE_SIZE   ( 72)
+
+ +

Verify signature size for 283-bit key.

+ +
+
+ +

◆ VERIFY_283_STORED_COUNT

+ +
+
+ + + + +
#define VERIFY_283_STORED_COUNT   ( 79)
+
+ +

Verify command packet size for 283-bit key in stored mode.

+ +
+
+ +

◆ VERIFY_283_VALIDATE_COUNT

+ +
+
+ + + + +
#define VERIFY_283_VALIDATE_COUNT   ( 98)
+
+ +

Verify command packet size for 283-bit key in validate mode.

+ +
+
+ +

◆ VERIFY_DATA_IDX

+ +
+
+ + + + +
#define VERIFY_DATA_IDX   ( 5)
+
+ +

Verify command index for data.

+ +
+
+ +

◆ VERIFY_KEY_B283

+ +
+
+ + + + +
#define VERIFY_KEY_B283   ((uint16_t)0x0000)
+
+ +

Verify key type: B283.

+ +
+
+ +

◆ VERIFY_KEY_K283

+ +
+
+ + + + +
#define VERIFY_KEY_K283   ((uint16_t)0x0001)
+
+ +

Verify key type: K283.

+ +
+
+ +

◆ VERIFY_KEY_P256

+ +
+
+ + + + +
#define VERIFY_KEY_P256   ((uint16_t)0x0004)
+
+ +

Verify key type: P256.

+ +
+
+ +

◆ VERIFY_KEYID_IDX

+ +
+
+ + + + +
#define VERIFY_KEYID_IDX   ATCA_PARAM2_IDX
+
+ +

Verify command index for key id.

+ +
+
+ +

◆ VERIFY_MODE_EXTERNAL

+ +
+
+ + + + +
#define VERIFY_MODE_EXTERNAL   ((uint8_t)0x02)
+
+ +

Verify mode: external.

+ +
+
+ +

◆ VERIFY_MODE_IDX

+ +
+
+ + + + +
#define VERIFY_MODE_IDX   ATCA_PARAM1_IDX
+
+ +

Verify command index for mode.

+ +
+
+ +

◆ VERIFY_MODE_INVALIDATE

+ +
+
+ + + + +
#define VERIFY_MODE_INVALIDATE   ((uint8_t)0x07)
+
+ +

Verify mode: invalidate.

+ +
+
+ +

◆ VERIFY_MODE_MAC_FLAG

+ +
+
+ + + + +
#define VERIFY_MODE_MAC_FLAG   ((uint8_t)0x80)
+
+ +

Verify mode: MAC.

+ +
+
+ +

◆ VERIFY_MODE_MASK

+ +
+
+ + + + +
#define VERIFY_MODE_MASK   ((uint8_t)0x03)
+
+ +

Verify mode bits 2 to 7 are 0.

+ +
+
+ +

◆ VERIFY_MODE_SOURCE_MASK

+ +
+
+ + + + +
#define VERIFY_MODE_SOURCE_MASK   ((uint8_t)0x20)
+
+ +

Verify mode message source mask.

+ +
+
+ +

◆ VERIFY_MODE_SOURCE_MSGDIGBUF

+ +
+
+ + + + +
#define VERIFY_MODE_SOURCE_MSGDIGBUF   ((uint8_t)0x20)
+
+ +

Verify mode message source is the Message Digest Buffer.

+ +
+
+ +

◆ VERIFY_MODE_SOURCE_TEMPKEY

+ +
+
+ + + + +
#define VERIFY_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
+
+ +

Verify mode message source is TempKey.

+ +
+
+ +

◆ VERIFY_MODE_STORED

+ +
+
+ + + + +
#define VERIFY_MODE_STORED   ((uint8_t)0x00)
+
+ +

Verify mode: stored.

+ +
+
+ +

◆ VERIFY_MODE_VALIDATE

+ +
+
+ + + + +
#define VERIFY_MODE_VALIDATE   ((uint8_t)0x03)
+
+ +

Verify mode: validate.

+ +
+
+ +

◆ VERIFY_MODE_VALIDATE_EXTERNAL

+ +
+
+ + + + +
#define VERIFY_MODE_VALIDATE_EXTERNAL   ((uint8_t)0x01)
+
+ +

Verify mode: validate external.

+ +
+
+ +

◆ VERIFY_OTHER_DATA_SIZE

+ +
+
+ + + + +
#define VERIFY_OTHER_DATA_SIZE   ( 19)
+
+ +

Verify size of "other data".

+ +
+
+ +

◆ VERIFY_RSP_SIZE

+ +
+
+ + + + +
#define VERIFY_RSP_SIZE   ATCA_RSP_SIZE_MIN
+
+ +

Verify command response packet size.

+ +
+
+ +

◆ VERIFY_RSP_SIZE_MAC

+ +
+
+ + + + +
#define VERIFY_RSP_SIZE_MAC   ATCA_RSP_SIZE_32
+
+ +

Verify command response packet size with validating MAC.

+ +
+
+ +

◆ WRITE_ADDR_IDX

+ +
+
+ + + + +
#define WRITE_ADDR_IDX   ATCA_PARAM2_IDX
+
+ +

Write command index for address.

+ +
+
+ +

◆ WRITE_MAC_SIZE

+ +
+
+ + + + +
#define WRITE_MAC_SIZE   (32)
+
+ +

Write MAC size.

+ +
+
+ +

◆ WRITE_MAC_VL_IDX

+ +
+
+ + + + +
#define WRITE_MAC_VL_IDX   (37)
+
+ +

Write command index for MAC following long data.

+ +
+
+ +

◆ WRITE_MAC_VS_IDX

+ +
+
+ + + + +
#define WRITE_MAC_VS_IDX   ( 9)
+
+ +

Write command index for MAC following short data.

+ +
+
+ +

◆ WRITE_RSP_SIZE

+ +
+
+ + + + +
#define WRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
+
+ +

Write command response packet size.

+ +
+
+ +

◆ WRITE_VALUE_IDX

+ +
+
+ + + + +
#define WRITE_VALUE_IDX   ATCA_DATA_IDX
+
+ +

Write command index for data.

+ +
+
+ +

◆ WRITE_ZONE_DATA

+ +
+
+ + + + +
#define WRITE_ZONE_DATA   ((uint8_t)2)
+
+ +

Write zone id data.

+ +
+
+ +

◆ WRITE_ZONE_IDX

+ +
+
+ + + + +
#define WRITE_ZONE_IDX   ATCA_PARAM1_IDX
+
+ +

Write command index for zone.

+ +
+
+ +

◆ WRITE_ZONE_MASK

+ +
+
+ + + + +
#define WRITE_ZONE_MASK   ((uint8_t)0xC3)
+
+ +

Write zone bits 2 to 5 are 0.

+ +
+
+ +

◆ WRITE_ZONE_OTP

+ +
+
+ + + + +
#define WRITE_ZONE_OTP   ((uint8_t)1)
+
+ +

Write zone id OTP.

+ +
+
+ +

◆ WRITE_ZONE_WITH_MAC

+ +
+
+ + + + +
#define WRITE_ZONE_WITH_MAC   ((uint8_t)0x40)
+
+ +

Write zone bit 6: write encrypted with MAC.

+ +
+
+
-
-
atca_device.h File Reference
+
atca_compiler.h File Reference
-

Microchip Crypto Auth device object. +

CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros. More...

-
#include "atca_command.h"
-#include "atca_iface.h"
-
+

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atca_device
 atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. More...
 
- - - -

-Typedefs

typedef struct atca_deviceATCADevice
 
- - - - - - - - - - - - - - - - - - - -

-Functions

ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
 Initializer for an Microchip CryptoAuth device. More...
 
ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
 constructor for a Microchip CryptoAuth device More...
 
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
 Release any resources associated with the device. More...
 
void deleteATCADevice (ATCADevice *ca_dev)
 destructor for a device NULLs reference after object is freed More...
 
ATCACommand atGetCommands (ATCADevice dev)
 returns a reference to the ATCACommand object for the device More...
 
ATCAIface atGetIFace (ATCADevice dev)
 returns a reference to the ATCAIface interface object for the device More...
 

Detailed Description

-

Microchip Crypto Auth device object.

+

CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros.

-Go to the documentation of this file.
1 
29 #ifndef ATCA_DEVICE_H
30 #define ATCA_DEVICE_H
31 
32 #include "atca_command.h"
33 #include "atca_iface.h"
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
45 {
48 };
49 
50 typedef struct atca_device * ATCADevice;
51 
55 void deleteATCADevice(ATCADevice *ca_dev);
56 
59 
60 
61 
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif
ATCA_STATUS releaseATCADevice(ATCADevice ca_dev)
Release any resources associated with the device.
Definition: atca_device.c:164
-
ATCACommand mCommands
Command set for a given CryptoAuth device.
Definition: atca_device.h:46
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
struct atca_device * ATCADevice
Definition: atca_device.h:50
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCAIface atGetIFace(ATCADevice dev)
returns a reference to the ATCAIface interface object for the device
Definition: atca_device.c:155
-
ATCAIface mIface
Physical interface.
Definition: atca_device.h:47
-
Definition: atca_iface.h:66
-
atca_command is the C object backing ATCACommand.
Definition: atca_command.h:52
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
void deleteATCADevice(ATCADevice *ca_dev)
destructor for a device NULLs reference after object is freed
Definition: atca_device.c:90
-
ATCA_STATUS initATCADevice(ATCAIfaceCfg *cfg, ATCADevice ca_dev)
Initializer for an Microchip CryptoAuth device.
Definition: atca_device.c:118
-
Microchip Crypto Auth hardware interface object.
-
ATCADevice newATCADevice(ATCAIfaceCfg *cfg)
constructor for a Microchip CryptoAuth device
Definition: atca_device.c:41
-
char * dev
Definition: hal_linux_kit_cdc.c:59
-
atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADev...
Definition: atca_device.h:44
-
ATCACommand atGetCommands(ATCADevice dev)
returns a reference to the ATCACommand object for the device
Definition: atca_device.c:146
-
+Go to the documentation of this file.
1 
31 #ifndef ATCA_COMPILER_H_
32 #define ATCA_COMPILER_H_
33 
34 #if defined(__clang__)
35 /* Clang/LLVM. ---------------------------------------------- */
36 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
37 #define ATCA_UINT32_HOST_TO_BE(x) (x)
38 #define ATCA_UINT32_BE_TO_HOST(x) (x)
39 #define ATCA_UINT64_HOST_TO_BE(x) (x)
40 #define ATCA_UINT64_BE_TO_HOST(x) (x)
41 #else
42 #define ATCA_UINT32_HOST_TO_BE(x) __builtin_bswap32(x)
43 #define ATCA_UINT32_BE_TO_HOST(x) __builtin_bswap32(x)
44 #define ATCA_UINT64_HOST_TO_BE(x) __builtin_bswap64(x)
45 #define ATCA_UINT64_BE_TO_HOST(x) __builtin_bswap64(x)
46 #endif
47 
48 #elif defined(__ICC) || defined(__INTEL_COMPILER)
49 /* Intel ICC/ICPC. ------------------------------------------ */
50 
51 #elif defined(__GNUC__) || defined(__GNUG__)
52 /* GNU GCC/G++. --------------------------------------------- */
53 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
54 #define ATCA_UINT32_HOST_TO_BE(x) (x)
55 #define ATCA_UINT32_BE_TO_HOST(x) (x)
56 #define ATCA_UINT64_HOST_TO_BE(x) (x)
57 #define ATCA_UINT64_BE_TO_HOST(x) (x)
58 #else
59 #define ATCA_UINT32_HOST_TO_BE(x) __builtin_bswap32(x)
60 #define ATCA_UINT32_BE_TO_HOST(x) __builtin_bswap32(x)
61 #define ATCA_UINT64_HOST_TO_BE(x) __builtin_bswap64(x)
62 #define ATCA_UINT64_BE_TO_HOST(x) __builtin_bswap64(x)
63 #endif
64 
65 #elif defined(__HP_cc) || defined(__HP_aCC)
66 /* Hewlett-Packard C/aC++. ---------------------------------- */
67 
68 #elif defined(__IBMC__) || defined(__IBMCPP__)
69 /* IBM XL C/C++. -------------------------------------------- */
70 
71 #elif defined(_MSC_VER)
72 /* Microsoft Visual Studio. --------------------------------- */
73 // MSVC is usually always little-endian architecture
74 #include <stdlib.h>
75 #define ATCA_UINT32_HOST_TO_BE(x) _byteswap_ulong(x)
76 #define ATCA_UINT32_BE_TO_HOST(x) _byteswap_ulong(x)
77 #define ATCA_UINT64_HOST_TO_BE(x) _byteswap_uint64(x)
78 #define ATCA_UINT64_BE_TO_HOST(x) _byteswap_uint64(x)
79 
80 #elif defined(__PGI)
81 /* Portland Group PGCC/PGCPP. ------------------------------- */
82 
83 #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
84 /* Oracle Solaris Studio. ----------------------------------- */
85 
86 #endif
87 
88 #endif /* ATCA_COMPILER_H_ */
-

Microchip Crypto Auth. +

Microchip CryptoAuth device object. More...

- -

Go to the source code of this file.

- - - - - +
#include <stdlib.h>
+#include "atca_device.h"
+

-Enumerations

enum  ATCADeviceType {
-  ATSHA204A, -ATECC108A, -ATECC508A, -ATECC608A, -
-  ATCA_DEV_UNKNOWN = 0x20 -
- }
 The supported Device type in Cryptoauthlib library. More...
 
+ + + + + + + + + + + + + + + + + + +

+Functions

ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
 constructor for a Microchip CryptoAuth device More...
 
void deleteATCADevice (ATCADevice *ca_dev)
 destructor for a device NULLs reference after object is freed More...
 
ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
 Initializer for an Microchip CryptoAuth device. More...
 
ATCACommand atGetCommands (ATCADevice dev)
 returns a reference to the ATCACommand object for the device More...
 
ATCAIface atGetIFace (ATCADevice dev)
 returns a reference to the ATCAIface interface object for the device More...
 
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
 Release any resources associated with the device. More...
 

Detailed Description

-

Microchip Crypto Auth.

+

Microchip CryptoAuth device object.

-

Implements an execution handler that executes a given command on a device and returns the results. +

Microchip Crypto Auth device object. More...

-
#include <stdlib.h>
-#include <string.h>
-#include "atca_command.h"
-#include "atca_device.h"
-#include "atca_execution.h"
-#include "atca_devtypes.h"
-#include "hal/atca_hal.h"
-
- - - - - - - +
#include "atca_command.h"
+#include "atca_iface.h"
+
+

Go to the source code of this file.

+

-Macros

#define ATCA_POLLING_INIT_TIME_MSEC   1
 
#define ATCA_POLLING_FREQUENCY_TIME_MSEC   2
 
#define ATCA_POLLING_MAX_TIME_MSEC   2500
 
+ + + + +

+Data Structures

struct  atca_device
 atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. More...
 
+ + +

+Typedefs

typedef struct atca_deviceATCADevice
 
- - - + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atca_execute_command (ATCAPacket *packet, ATCADevice device)
 Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state. More...
 
ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
 Initializer for an Microchip CryptoAuth device. More...
 
ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
 constructor for a Microchip CryptoAuth device More...
 
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
 Release any resources associated with the device. More...
 
void deleteATCADevice (ATCADevice *ca_dev)
 destructor for a device NULLs reference after object is freed More...
 
ATCACommand atGetCommands (ATCADevice dev)
 returns a reference to the ATCACommand object for the device More...
 
ATCAIface atGetIFace (ATCADevice dev)
 returns a reference to the ATCAIface interface object for the device More...
 

Detailed Description

-

Implements an execution handler that executes a given command on a device and returns the results.

-

This implementation wraps Polling and No polling (simple wait) schemes into a single method and use it across the library. Polling is used by default, however, by defining the ATCA_NO_POLL symbol the code will instead wait an estimated max execution time before requesting the result.

+

Microchip Crypto Auth device object.

-

Macro Definition Documentation

- -

◆ ATCA_POLLING_FREQUENCY_TIME_MSEC

- -
-
- - - - -
#define ATCA_POLLING_FREQUENCY_TIME_MSEC   2
-
- -
-
- -

◆ ATCA_POLLING_INIT_TIME_MSEC

- -
-
- - - - -
#define ATCA_POLLING_INIT_TIME_MSEC   1
-
- -
-
- -

◆ ATCA_POLLING_MAX_TIME_MSEC

- -
-
- - - - -
#define ATCA_POLLING_MAX_TIME_MSEC   2500
-
- -
-
-

Function Documentation

- -

◆ atca_execute_command()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS atca_execute_command (ATCAPacketpacket,
ATCADevice device 
)
-
- -

Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.

-
Parameters
- - - -
[in,out]packetAs input, the packet to be sent. As output, the data buffer in the packet structure will contain the response.
[in]deviceCryptoAuthentication device to send the command to.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-
+
-

Defines an execution handler that executes a given command on a device and returns the results. +

Microchip Crypto Auth. More...

-
#include "atca_status.h"
-#include "atca_command.h"
-#include "atca_device.h"
-
+

Go to the source code of this file.

- - - -

-Macros

#define ATCA_UNSUPPORTED_CMD   ((uint16_t)0xFFFF)
 
- - - - + + + +

-Functions

ATCA_STATUS atca_execute_command (ATCAPacket *packet, ATCADevice device)
 Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state. More...
 

+Enumerations

enum  ATCADeviceType {
+  ATSHA204A, +ATECC108A, +ATECC508A, +ATECC608A, +
+  ATCA_DEV_UNKNOWN = 0x20 +
+ }
 The supported Device type in Cryptoauthlib library. More...
 

Detailed Description

-

Defines an execution handler that executes a given command on a device and returns the results.

-

The basic flow is to wake the device, send the command, wait/poll for completion, and finally receives the response from the device and does basic checks before returning to caller.

-

This handler supports the ATSHA and ATECC device family.

+

Microchip Crypto Auth.

-

Macro Definition Documentation

- -

◆ ATCA_UNSUPPORTED_CMD

- -
-
- - - - -
#define ATCA_UNSUPPORTED_CMD   ((uint16_t)0xFFFF)
-
- -
-
-

Function Documentation

- -

◆ atca_execute_command()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS atca_execute_command (ATCAPacketpacket,
ATCADevice device 
)
-
- -

Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.

-
Parameters
- - - -
[in,out]packetAs input, the packet to be sent. As output, the data buffer in the packet structure will contain the response.
[in]deviceCryptoAuthentication device to send the command to.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-
+
-Go to the documentation of this file.
1 
36 #ifndef ATCA_EXECUTION_H
37 #define ATCA_EXECUTION_H
38 
39 #include "atca_status.h"
40 #include "atca_command.h"
41 #include "atca_device.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 #define ATCA_UNSUPPORTED_CMD ((uint16_t)0xFFFF)
48 
49 #ifdef ATCA_NO_POLL
50 
53 typedef struct
54 {
55  uint8_t opcode;
56  uint16_t execution_time_msec;
57 }device_execution_time_t;
58 
59 ATCA_STATUS atGetExecTime(uint8_t opcode, ATCACommand ca_cmd);
60 #endif
61 
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 #endif
68 
Microchip Crypto Auth device object.
-
ATCA_STATUS atca_execute_command(ATCAPacket *packet, ATCADevice device)
Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.
Definition: atca_execution.c:286
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
ATCA_STATUS
Definition: atca_status.h:41
-
an ATCA packet structure. This is a superset of the packet transmitted on the wire. It&#39;s also used as a buffer for receiving the response
Definition: atca_command.h:93
-
atca_command is the C object backing ATCACommand.
Definition: atca_command.h:52
-
Microchip Crypto Auth status codes.
-
atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADev...
Definition: atca_device.h:44
+Go to the documentation of this file.
1 
29 #ifndef ATCA_DEVTYPES_H_
30 #define ATCA_DEVTYPES_H_
31 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 
41 typedef enum
42 {
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif /* ATCA_DEVTYPES_H_ */
Definition: atca_devtypes.h:43
+
Definition: atca_devtypes.h:44
+
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
+
Definition: atca_devtypes.h:45
+
Definition: atca_devtypes.h:47
+
Definition: atca_devtypes.h:46
-
atca_iface.c File Reference
+
atca_execution.c File Reference
-

Microchip CryptoAuthLib hardware interface object. +

Implements an execution handler that executes a given command on a device and returns the results. More...

#include <stdlib.h>
-#include "atca_iface.h"
-#include "hal/atca_hal.h"
+#include <string.h>
+#include "atca_command.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+#include "atca_devtypes.h"
+#include "hal/atca_hal.h"
- - + + + + + +

Macros

#define ATCA_POST_DELAY_MSEC   25
 
#define ATCA_POLLING_INIT_TIME_MSEC   1
 
#define ATCA_POLLING_FREQUENCY_TIME_MSEC   2
 
#define ATCA_POLLING_MAX_TIME_MSEC   2500
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS _atinit (ATCAIface ca_iface, ATCAHAL_t *hal)
 
ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
 Initializer for ATCAIface objects. More...
 
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
 Constructor for ATCAIface objects. More...
 
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
 
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
 Sends the data to the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
 Receives data from the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
 
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
 
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
 
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
 Returns the logical interface configuration for the device. More...
 
void * atgetifacehaldat (ATCAIface ca_iface)
 Returns the HAL data pointer for the device. More...
 
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
 Instruct the HAL driver to release any resources associated with this interface. More...
 
void deleteATCAIface (ATCAIface *ca_iface)
 Instruct the HAL driver to release any resources associated with this interface, then delete the object. More...
 
ATCA_STATUS atca_execute_command (ATCAPacket *packet, ATCADevice device)
 Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state. More...
 

Detailed Description

-

Microchip CryptoAuthLib hardware interface object.

+

Implements an execution handler that executes a given command on a device and returns the results.

+

This implementation wraps Polling and No polling (simple wait) schemes into a single method and use it across the library. Polling is used by default, however, by defining the ATCA_NO_POLL symbol the code will instead wait an estimated max execution time before requesting the result.

-
+

Macro Definition Documentation

+ +

◆ ATCA_POLLING_FREQUENCY_TIME_MSEC

+ +
+
+ + + + +
#define ATCA_POLLING_FREQUENCY_TIME_MSEC   2
+
+ +
+
+ +

◆ ATCA_POLLING_INIT_TIME_MSEC

+ +
+
+ + + + +
#define ATCA_POLLING_INIT_TIME_MSEC   1
+
+ +
+
+ +

◆ ATCA_POLLING_MAX_TIME_MSEC

+ +
+
+ + + + +
#define ATCA_POLLING_MAX_TIME_MSEC   2500
+
+ +
+
+

Function Documentation

+ +

◆ atca_execute_command()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS atca_execute_command (ATCAPacketpacket,
ATCADevice device 
)
+
+ +

Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.

+
Parameters
+ + + +
[in,out]packetAs input, the packet to be sent. As output, the data buffer in the packet structure will contain the response.
[in]deviceCryptoAuthentication device to send the command to.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+
-

Microchip Crypto Auth hardware interface object. +

Defines an execution handler that executes a given command on a device and returns the results. More...

-
#include "atca_command.h"
+
#include "atca_status.h"
+#include "atca_command.h"
+#include "atca_device.h"

Go to the source code of this file.

- - - - - - -

-Data Structures

struct  ATCAIfaceCfg
 
struct  atca_iface
 atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods More...
 
- - - -

-Typedefs

typedef struct atca_ifaceATCAIface
 
- - - + + +

-Enumerations

enum  ATCAIfaceType {
-  ATCA_I2C_IFACE, -ATCA_SWI_IFACE, -ATCA_UART_IFACE, -ATCA_SPI_IFACE, -
-  ATCA_HID_IFACE, -ATCA_CUSTOM_IFACE, -ATCA_UNKNOWN_IFACE -
- }
 

+Macros

#define ATCA_UNSUPPORTED_CMD   ((uint16_t)0xFFFF)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
 Initializer for ATCAIface objects. More...
 
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
 Constructor for ATCAIface objects. More...
 
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
 Instruct the HAL driver to release any resources associated with this interface. More...
 
void deleteATCAIface (ATCAIface *ca_iface)
 Instruct the HAL driver to release any resources associated with this interface, then delete the object. More...
 
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
 
ATCA_STATUS atpostinit (ATCAIface ca_iface)
 
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
 Sends the data to the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
 Receives data from the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
 
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
 
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
 
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
 Returns the logical interface configuration for the device. More...
 
void * atgetifacehaldat (ATCAIface ca_iface)
 Returns the HAL data pointer for the device. More...
 
ATCA_STATUS atca_execute_command (ATCAPacket *packet, ATCADevice device)
 Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state. More...
 

Detailed Description

-

Microchip Crypto Auth hardware interface object.

+

Defines an execution handler that executes a given command on a device and returns the results.

+

The basic flow is to wake the device, send the command, wait/poll for completion, and finally receives the response from the device and does basic checks before returning to caller.

+

This handler supports the ATSHA and ATECC device family.

-
+

Macro Definition Documentation

+ +

◆ ATCA_UNSUPPORTED_CMD

+ +
+
+ + + + +
#define ATCA_UNSUPPORTED_CMD   ((uint16_t)0xFFFF)
+
+ +
+
+

Function Documentation

+ +

◆ atca_execute_command()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS atca_execute_command (ATCAPacketpacket,
ATCADevice device 
)
+
+ +

Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.

+
Parameters
+ + + +
[in,out]packetAs input, the packet to be sent. As output, the data buffer in the packet structure will contain the response.
[in]deviceCryptoAuthentication device to send the command to.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+
-Go to the documentation of this file.
1 
29 #ifndef ATCA_IFACE_H
30 #define ATCA_IFACE_H
31 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 #include "atca_command.h"
43 
44 typedef enum
45 {
52  // additional physical interface types here
55 
56 /* ATCAIfaceCfg is a mediator object between a completely abstract notion of a
57  physical interface and an actual physical interface.
58 
59  The main purpose of it is to keep hardware specifics from bleeding into the
60  higher levels - hardware specifics could include things like framework
61  specific items (ASF SERCOM) vs a non-Microchip I2C library constant that
62  defines an I2C port. But I2C has roughly the same parameters regardless of
63  architecture and framework.
64  */
65 
66 typedef struct
67 {
68 
69  ATCAIfaceType iface_type; // active iface - how to interpret the union below
70  ATCADeviceType devtype; // explicit device type
71 
72  union // each instance of an iface cfg defines a single type of interface
73  {
74  struct ATCAI2C
75  {
76  uint8_t slave_address; // 8-bit slave address
77  uint8_t bus; // logical i2c bus number, 0-based - HAL will map this to a pin pair for SDA SCL
78  uint32_t baud; // typically 400000
79  } atcai2c;
80 
81  struct ATCASWI
82  {
83  uint8_t bus; // logical SWI bus - HAL will map this to a pin or uart port
84  } atcaswi;
85 
86  struct ATCAUART
87  {
88  int port; // logic port number
89  uint32_t baud; // typically 115200
90  uint8_t wordsize; // usually 8
91  uint8_t parity; // 0 == even, 1 == odd, 2 == none
92  uint8_t stopbits; // 0,1,2
93  } atcauart;
94 
95  struct ATCAHID
96  {
97  int idx; // HID enumeration index
98  uint32_t vid; // Vendor ID of kit (0x03EB for CK101)
99  uint32_t pid; // Product ID of kit (0x2312 for CK101)
100  uint32_t packetsize; // Size of the USB packet
101  uint8_t guid[16]; // The GUID for this HID device
102  } atcahid;
103 
104  struct ATCACUSTOM
105  {
106  ATCA_STATUS (*halinit)(void *hal, void *cfg);
107  ATCA_STATUS (*halpostinit)(void *iface);
108  ATCA_STATUS (*halsend)(void *iface, uint8_t *txdata, int txlength);
109  ATCA_STATUS (*halreceive)(void *iface, uint8_t* rxdata, uint16_t* rxlength);
110  ATCA_STATUS (*halwake)(void *iface);
111  ATCA_STATUS (*halidle)(void *iface);
112  ATCA_STATUS (*halsleep)(void *iface);
113  ATCA_STATUS (*halrelease)(void* hal_data);
114  } atcacustom;
115 
116  };
117 
118  uint16_t wake_delay; // microseconds of tWHI + tWLO which varies based on chip type
119  int rx_retries; // the number of retries to attempt for receiving bytes
120  void * cfg_data; // opaque data used by HAL in device discovery
121 } ATCAIfaceCfg;
122 typedef struct atca_iface * ATCAIface;
123 
124 
130 {
132  ATCAIfaceCfg *mIfaceCFG; // points to previous defined/given Cfg object, caller manages this
133 
134  ATCA_STATUS (*atinit)(void *hal, ATCAIfaceCfg *);
136  ATCA_STATUS (*atsend)(ATCAIface hal, uint8_t *txdata, int txlength);
137  ATCA_STATUS (*atreceive)(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength);
141 
142  // treat as private
143  void *hal_data; // generic pointer used by HAL to point to architecture specific structure
144  // no ATCA object should touch this except HAL, HAL manages this pointer and memory it points to
145 };
146 
150 void deleteATCAIface(ATCAIface *ca_iface);
151 
152 // IFace methods
153 ATCA_STATUS atinit(ATCAIface ca_iface);
155 ATCA_STATUS atsend(ATCAIface ca_iface, uint8_t *txdata, int txlength);
156 ATCA_STATUS atreceive(ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength);
157 ATCA_STATUS atwake(ATCAIface ca_iface);
158 ATCA_STATUS atidle(ATCAIface ca_iface);
159 ATCA_STATUS atsleep(ATCAIface ca_iface);
160 
161 // accessors
163 void* atgetifacehaldat(ATCAIface ca_iface);
164 
165 
166 #ifdef __cplusplus
167 }
168 #endif
169 
170 #endif
171 
172 
173 
ATCA_STATUS(* atinit)(void *hal, ATCAIfaceCfg *)
Definition: atca_iface.h:134
-
uint8_t wordsize
Definition: atca_iface.h:90
-
int rx_retries
Definition: atca_iface.h:119
-
int idx
Definition: atca_iface.h:97
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
ATCA_STATUS(* atsend)(ATCAIface hal, uint8_t *txdata, int txlength)
Definition: atca_iface.h:136
-
ATCA_STATUS(* atwake)(ATCAIface hal)
Definition: atca_iface.h:138
-
Definition: atca_iface.h:49
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS releaseATCAIface(ATCAIface ca_iface)
Instruct the HAL driver to release any resources associated with this interface.
Definition: atca_iface.c:228
-
ATCAIfaceType iface_type
Definition: atca_iface.h:69
-
ATCA_STATUS(* atpostinit)(ATCAIface hal)
Definition: atca_iface.h:135
-
Definition: atca_iface.h:47
-
uint8_t slave_address
Definition: atca_iface.h:76
-
ATCA_STATUS atsend(ATCAIface ca_iface, uint8_t *txdata, int txlength)
Sends the data to the device by calling intermediate HAL wrapper function.
Definition: atca_iface.c:132
-
ATCA_STATUS initATCAIface(ATCAIfaceCfg *cfg, ATCAIface ca_iface)
Initializer for ATCAIface objects.
Definition: atca_iface.c:56
-
uint16_t wake_delay
Definition: atca_iface.h:118
-
uint32_t vid
Definition: atca_iface.h:98
-
ATCA_STATUS atwake(ATCAIface ca_iface)
Wakes up the device by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:156
-
ATCAIfaceType mType
Definition: atca_iface.h:131
-
void * hal_data
Definition: atca_iface.h:143
-
Definition: atca_iface.h:66
-
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
-
ATCA_STATUS atidle(ATCAIface ca_iface)
Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:179
-
ATCAIfaceCfg * atgetifacecfg(ATCAIface ca_iface)
Returns the logical interface configuration for the device.
Definition: atca_iface.c:208
-
ATCA_STATUS atreceive(ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
Receives data from the device by calling intermediate HAL wrapper function.
Definition: atca_iface.c:145
-
uint32_t pid
Definition: atca_iface.h:99
-
ATCA_STATUS(* atsleep)(ATCAIface hal)
Definition: atca_iface.h:140
-
uint32_t packetsize
Definition: atca_iface.h:100
-
Definition: atca_iface.h:50
-
uint8_t stopbits
Definition: atca_iface.h:92
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atca_iface * ATCAIface
Definition: atca_iface.h:122
-
ATCA_STATUS(* atidle)(ATCAIface hal)
Definition: atca_iface.h:139
-
ATCADeviceType devtype
Definition: atca_iface.h:70
-
Definition: atca_iface.h:48
-
ATCA_STATUS(* atreceive)(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength)
Definition: atca_iface.h:137
-
Definition: atca_iface.h:51
-
void * atgetifacehaldat(ATCAIface ca_iface)
Returns the HAL data pointer for the device.
Definition: atca_iface.c:218
-
Definition: atca_iface.h:46
-
int port
Definition: atca_iface.h:88
-
ATCA_STATUS atsleep(ATCAIface ca_iface)
Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:194
-
void deleteATCAIface(ATCAIface *ca_iface)
Instruct the HAL driver to release any resources associated with this interface, then delete the obje...
Definition: atca_iface.c:243
-
ATCAIfaceCfg * mIfaceCFG
Definition: atca_iface.h:132
-
Definition: atca_iface.h:53
-
ATCAIfaceType
Definition: atca_iface.h:44
-
ATCAIface newATCAIface(ATCAIfaceCfg *cfg)
Constructor for ATCAIface objects.
Definition: atca_iface.c:82
-
ATCA_STATUS atinit(ATCAIface ca_iface)
Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:106
-
uint8_t bus
Definition: atca_iface.h:77
-
void * cfg_data
Definition: atca_iface.h:120
-
uint8_t parity
Definition: atca_iface.h:91
-
uint32_t baud
Definition: atca_iface.h:78
-
ATCA_STATUS atpostinit(ATCAIface ca_iface)
-
Definition: hal_all_platforms_kit_hidapi.h:48
+Go to the documentation of this file.
1 
36 #ifndef ATCA_EXECUTION_H
37 #define ATCA_EXECUTION_H
38 
39 #include "atca_status.h"
40 #include "atca_command.h"
41 #include "atca_device.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 #define ATCA_UNSUPPORTED_CMD ((uint16_t)0xFFFF)
48 
49 #ifdef ATCA_NO_POLL
50 
53 typedef struct
54 {
55  uint8_t opcode;
56  uint16_t execution_time_msec;
57 }device_execution_time_t;
58 
59 ATCA_STATUS atGetExecTime(uint8_t opcode, ATCACommand ca_cmd);
60 #endif
61 
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 #endif
68 
ATCA_STATUS
Definition: atca_status.h:41
+
an ATCA packet structure. This is a superset of the packet transmitted on the wire. It&#39;s also used as a buffer for receiving the response
Definition: atca_command.h:93
+
atca_command is the C object backing ATCACommand.
Definition: atca_command.h:52
+
atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADev...
Definition: atca_device.h:44
+
Microchip Crypto Auth status codes.
+
ATCA_STATUS atca_execute_command(ATCAPacket *packet, ATCADevice device)
Wakes up device, sends the packet, waits for command completion, receives response, and puts the device into the idle state.
Definition: atca_execution.c:286
+
Microchip Crypto Auth device object.
+
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-

Microchip Crypto Auth status codes. +

Microchip CryptoAuthLib hardware interface object. More...

-
#include <stdint.h>
-#include "atca_bool.h"
-
-

Go to the source code of this file.

- - - - +
#include <stdlib.h>
+#include "atca_iface.h"
+#include "hal/atca_hal.h"
+

-Enumerations

enum  ATCA_STATUS {
-  ATCA_SUCCESS = 0x00, -ATCA_CONFIG_ZONE_LOCKED = 0x01, -ATCA_DATA_ZONE_LOCKED = 0x02, -ATCA_WAKE_FAILED = 0xD0, -
-  ATCA_CHECKMAC_VERIFY_FAILED = 0xD1, -ATCA_PARSE_ERROR = 0xD2, -ATCA_STATUS_CRC = 0xD4, -ATCA_STATUS_UNKNOWN = 0xD5, -
-  ATCA_STATUS_ECC = 0xD6, -ATCA_STATUS_SELFTEST_ERROR = 0xD7, -ATCA_FUNC_FAIL = 0xE0, -ATCA_GEN_FAIL = 0xE1, -
-  ATCA_BAD_PARAM = 0xE2, -ATCA_INVALID_ID = 0xE3, -ATCA_INVALID_SIZE = 0xE4, -ATCA_RX_CRC_ERROR = 0xE5, -
-  ATCA_RX_FAIL = 0xE6, -ATCA_RX_NO_RESPONSE = 0xE7, -ATCA_RESYNC_WITH_WAKEUP = 0xE8, -ATCA_PARITY_ERROR = 0xE9, -
-  ATCA_TX_TIMEOUT = 0xEA, -ATCA_RX_TIMEOUT = 0xEB, -ATCA_TOO_MANY_COMM_RETRIES = 0xEC, -ATCA_SMALL_BUFFER = 0xED, -
-  ATCA_COMM_FAIL = 0xF0, -ATCA_TIMEOUT = 0xF1, -ATCA_BAD_OPCODE = 0xF2, -ATCA_WAKE_SUCCESS = 0xF3, -
-  ATCA_EXECUTION_ERROR = 0xF4, -ATCA_UNIMPLEMENTED = 0xF5, -ATCA_ASSERT_FAILURE = 0xF6, -ATCA_TX_FAIL = 0xF7, -
-  ATCA_NOT_LOCKED = 0xF8, -ATCA_NO_DEVICES = 0xF9, -ATCA_HEALTH_TEST_ERROR = 0xFA, -ATCA_ALLOC_FAILURE = 0xFB -
- }
 
+ + + +

+Macros

#define ATCA_POST_DELAY_MSEC   25
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS _atinit (ATCAIface ca_iface, ATCAHAL_t *hal)
 
ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
 Initializer for ATCAIface objects. More...
 
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
 Constructor for ATCAIface objects. More...
 
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
 
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
 Sends the data to the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
 Receives data from the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
 
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
 
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
 
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
 Returns the logical interface configuration for the device. More...
 
void * atgetifacehaldat (ATCAIface ca_iface)
 Returns the HAL data pointer for the device. More...
 
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
 Instruct the HAL driver to release any resources associated with this interface. More...
 
void deleteATCAIface (ATCAIface *ca_iface)
 Instruct the HAL driver to release any resources associated with this interface, then delete the object. More...
 

Detailed Description

-

Microchip Crypto Auth status codes.

+

Microchip CryptoAuthLib hardware interface object.

-

Enumeration Type Documentation

- -

◆ ATCA_STATUS

- -
-
- - - - -
enum ATCA_STATUS
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Enumerator
ATCA_SUCCESS 

Function succeeded.

-
ATCA_CONFIG_ZONE_LOCKED 
ATCA_DATA_ZONE_LOCKED 
ATCA_WAKE_FAILED 

response status byte indicates CheckMac failure (status byte = 0x01)

-
ATCA_CHECKMAC_VERIFY_FAILED 

response status byte indicates CheckMac failure (status byte = 0x01)

-
ATCA_PARSE_ERROR 

response status byte indicates parsing error (status byte = 0x03)

-
ATCA_STATUS_CRC 

response status byte indicates DEVICE did not receive data properly (status byte = 0xFF)

-
ATCA_STATUS_UNKNOWN 

response status byte is unknown

-
ATCA_STATUS_ECC 

response status byte is ECC fault (status byte = 0x05)

-
ATCA_STATUS_SELFTEST_ERROR 

response status byte is Self Test Error, chip in failure mode (status byte = 0x07)

-
ATCA_FUNC_FAIL 

Function could not execute due to incorrect condition / state.

-
ATCA_GEN_FAIL 

unspecified error

-
ATCA_BAD_PARAM 

bad argument (out of range, null pointer, etc.)

-
ATCA_INVALID_ID 

invalid device id, id not set

-
ATCA_INVALID_SIZE 

Count value is out of range or greater than buffer size.

-
ATCA_RX_CRC_ERROR 

CRC error in data received from device.

-
ATCA_RX_FAIL 

Timed out while waiting for response. Number of bytes received is > 0.

-
ATCA_RX_NO_RESPONSE 

Not an error while the Command layer is polling for a command response.

-
ATCA_RESYNC_WITH_WAKEUP 

Re-synchronization succeeded, but only after generating a Wake-up.

-
ATCA_PARITY_ERROR 

for protocols needing parity

-
ATCA_TX_TIMEOUT 

for Microchip PHY protocol, timeout on transmission waiting for master

-
ATCA_RX_TIMEOUT 

for Microchip PHY protocol, timeout on receipt waiting for master

-
ATCA_TOO_MANY_COMM_RETRIES 

Device did not respond too many times during a transmission. Could indicate no device present.

-
ATCA_SMALL_BUFFER 

Supplied buffer is too small for data required.

-
ATCA_COMM_FAIL 

Communication with device failed. Same as in hardware dependent modules.

-
ATCA_TIMEOUT 

Timed out while waiting for response. Number of bytes received is 0.

-
ATCA_BAD_OPCODE 

opcode is not supported by the device

-
ATCA_WAKE_SUCCESS 

received proper wake token

-
ATCA_EXECUTION_ERROR 

chip was in a state where it could not execute the command, response status byte indicates command execution error (status byte = 0x0F)

-
ATCA_UNIMPLEMENTED 

Function or some element of it hasn't been implemented yet.

-
ATCA_ASSERT_FAILURE 

Code failed run-time consistency check.

-
ATCA_TX_FAIL 

Failed to write.

-
ATCA_NOT_LOCKED 

required zone was not locked

-
ATCA_NO_DEVICES 

For protocols that support device discovery (kit protocol), no devices were found.

-
ATCA_HEALTH_TEST_ERROR 

random number generator health test error

-
ATCA_ALLOC_FAILURE 

Couldn't allocate required memory.

-
- -
-
-
+
-

Declarations common to all atcacert code. +

Microchip Crypto Auth hardware interface object. More...

-
#include <stddef.h>
-#include <stdint.h>
+
#include "atca_command.h"

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +

-Macros

#define FALSE   (0)
 
#define TRUE   (1)
 
#define ATCACERT_E_SUCCESS   0
 Operation completed successfully. More...
 
#define ATCACERT_E_ERROR   1
 General error. More...
 
#define ATCACERT_E_BAD_PARAMS   2
 Invalid/bad parameter passed to function. More...
 
#define ATCACERT_E_BUFFER_TOO_SMALL   3
 Supplied buffer for output is too small to hold the result. More...
 
#define ATCACERT_E_DECODING_ERROR   4
 Data being decoded/parsed has an invalid format. More...
 
#define ATCACERT_E_INVALID_DATE   5
 Date is invalid. More...
 
#define ATCACERT_E_UNIMPLEMENTED   6
 Function is unimplemented for the current configuration. More...
 
#define ATCACERT_E_UNEXPECTED_ELEM_SIZE   7
 A certificate element size was not what was expected. More...
 
#define ATCACERT_E_ELEM_MISSING   8
 The certificate element isn't defined for the certificate definition. More...
 
#define ATCACERT_E_ELEM_OUT_OF_BOUNDS   9
 Certificate element is out of bounds for the given certificate. More...
 
#define ATCACERT_E_BAD_CERT   10
 Certificate structure is bad in some way. More...
 
#define ATCACERT_E_WRONG_CERT_DEF   11
 
#define ATCACERT_E_VERIFY_FAILED   12
 Certificate or challenge/response verification failed. More...
 

+Data Structures

struct  ATCAIfaceCfg
 
struct  atca_iface
 atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods More...
 
+ + + +

+Typedefs

typedef struct atca_ifaceATCAIface
 
+ + + +

+Enumerations

enum  ATCAIfaceType {
+  ATCA_I2C_IFACE, +ATCA_SWI_IFACE, +ATCA_UART_IFACE, +ATCA_SPI_IFACE, +
+  ATCA_HID_IFACE, +ATCA_CUSTOM_IFACE, +ATCA_UNKNOWN_IFACE +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
 Initializer for ATCAIface objects. More...
 
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
 Constructor for ATCAIface objects. More...
 
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
 Instruct the HAL driver to release any resources associated with this interface. More...
 
void deleteATCAIface (ATCAIface *ca_iface)
 Instruct the HAL driver to release any resources associated with this interface, then delete the object. More...
 
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
 
ATCA_STATUS atpostinit (ATCAIface ca_iface)
 
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
 Sends the data to the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
 Receives data from the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
 
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
 
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
 
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
 Returns the logical interface configuration for the device. More...
 
void * atgetifacehaldat (ATCAIface ca_iface)
 Returns the HAL data pointer for the device. More...
 

Detailed Description

-

Declarations common to all atcacert code.

-

These are common definitions used by all the atcacert code.

+

Microchip Crypto Auth hardware interface object.

-Go to the documentation of this file.
1 
30 #ifndef ATCACERT_H
31 #define ATCACERT_H
32 
33 #include <stddef.h>
34 #include <stdint.h>
35 
43 #ifndef FALSE
44 #define FALSE (0)
45 #endif
46 #ifndef TRUE
47 #define TRUE (1)
48 #endif
49 
50 #define ATCACERT_E_SUCCESS 0
51 #define ATCACERT_E_ERROR 1
52 #define ATCACERT_E_BAD_PARAMS 2
53 #define ATCACERT_E_BUFFER_TOO_SMALL 3
54 #define ATCACERT_E_DECODING_ERROR 4
55 #define ATCACERT_E_INVALID_DATE 5
56 #define ATCACERT_E_UNIMPLEMENTED 6
57 #define ATCACERT_E_UNEXPECTED_ELEM_SIZE 7
58 #define ATCACERT_E_ELEM_MISSING 8
59 #define ATCACERT_E_ELEM_OUT_OF_BOUNDS 9
60 #define ATCACERT_E_BAD_CERT 10
61 #define ATCACERT_E_WRONG_CERT_DEF 11
62 #define ATCACERT_E_VERIFY_FAILED 12
63 
64 
65 #endif
+Go to the documentation of this file.
1 
29 #ifndef ATCA_IFACE_H
30 #define ATCA_IFACE_H
31 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 #include "atca_command.h"
43 
44 typedef enum
45 {
52  // additional physical interface types here
55 
56 /* ATCAIfaceCfg is a mediator object between a completely abstract notion of a
57  physical interface and an actual physical interface.
58 
59  The main purpose of it is to keep hardware specifics from bleeding into the
60  higher levels - hardware specifics could include things like framework
61  specific items (ASF SERCOM) vs a non-Microchip I2C library constant that
62  defines an I2C port. But I2C has roughly the same parameters regardless of
63  architecture and framework.
64  */
65 
66 typedef struct
67 {
68 
69  ATCAIfaceType iface_type; // active iface - how to interpret the union below
70  ATCADeviceType devtype; // explicit device type
71 
72  union // each instance of an iface cfg defines a single type of interface
73  {
74  struct ATCAI2C
75  {
76  uint8_t slave_address; // 8-bit slave address
77  uint8_t bus; // logical i2c bus number, 0-based - HAL will map this to a pin pair for SDA SCL
78  uint32_t baud; // typically 400000
79  } atcai2c;
80 
81  struct ATCASWI
82  {
83  uint8_t bus; // logical SWI bus - HAL will map this to a pin or uart port
84  } atcaswi;
85 
86  struct ATCAUART
87  {
88  int port; // logic port number
89  uint32_t baud; // typically 115200
90  uint8_t wordsize; // usually 8
91  uint8_t parity; // 0 == even, 1 == odd, 2 == none
92  uint8_t stopbits; // 0,1,2
93  } atcauart;
94 
95  struct ATCAHID
96  {
97  int idx; // HID enumeration index
98  uint32_t vid; // Vendor ID of kit (0x03EB for CK101)
99  uint32_t pid; // Product ID of kit (0x2312 for CK101)
100  uint32_t packetsize; // Size of the USB packet
101  uint8_t guid[16]; // The GUID for this HID device
102  } atcahid;
103 
104  struct ATCACUSTOM
105  {
106  ATCA_STATUS (*halinit)(void *hal, void *cfg);
107  ATCA_STATUS (*halpostinit)(void *iface);
108  ATCA_STATUS (*halsend)(void *iface, uint8_t *txdata, int txlength);
109  ATCA_STATUS (*halreceive)(void *iface, uint8_t* rxdata, uint16_t* rxlength);
110  ATCA_STATUS (*halwake)(void *iface);
111  ATCA_STATUS (*halidle)(void *iface);
112  ATCA_STATUS (*halsleep)(void *iface);
113  ATCA_STATUS (*halrelease)(void* hal_data);
114  } atcacustom;
115 
116  };
117 
118  uint16_t wake_delay; // microseconds of tWHI + tWLO which varies based on chip type
119  int rx_retries; // the number of retries to attempt for receiving bytes
120  void * cfg_data; // opaque data used by HAL in device discovery
121 } ATCAIfaceCfg;
122 typedef struct atca_iface * ATCAIface;
123 
124 
130 {
132  ATCAIfaceCfg *mIfaceCFG; // points to previous defined/given Cfg object, caller manages this
133 
134  ATCA_STATUS (*atinit)(void *hal, ATCAIfaceCfg *);
136  ATCA_STATUS (*atsend)(ATCAIface hal, uint8_t *txdata, int txlength);
137  ATCA_STATUS (*atreceive)(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength);
141 
142  // treat as private
143  void *hal_data; // generic pointer used by HAL to point to architecture specific structure
144  // no ATCA object should touch this except HAL, HAL manages this pointer and memory it points to
145 };
146 
150 void deleteATCAIface(ATCAIface *ca_iface);
151 
152 // IFace methods
153 ATCA_STATUS atinit(ATCAIface ca_iface);
155 ATCA_STATUS atsend(ATCAIface ca_iface, uint8_t *txdata, int txlength);
156 ATCA_STATUS atreceive(ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength);
157 ATCA_STATUS atwake(ATCAIface ca_iface);
158 ATCA_STATUS atidle(ATCAIface ca_iface);
159 ATCA_STATUS atsleep(ATCAIface ca_iface);
160 
161 // accessors
163 void* atgetifacehaldat(ATCAIface ca_iface);
164 
165 
166 #ifdef __cplusplus
167 }
168 #endif
169 
170 #endif
171 
172 
173 
ATCAIfaceCfg * mIfaceCFG
Definition: atca_iface.h:132
+
ATCAIfaceCfg * atgetifacecfg(ATCAIface ca_iface)
Returns the logical interface configuration for the device.
Definition: atca_iface.c:208
+
Definition: atca_iface.h:51
+
ATCA_STATUS atwake(ATCAIface ca_iface)
Wakes up the device by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:156
+
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS atsend(ATCAIface ca_iface, uint8_t *txdata, int txlength)
Sends the data to the device by calling intermediate HAL wrapper function.
Definition: atca_iface.c:132
+
ATCA_STATUS(* atidle)(ATCAIface hal)
Definition: atca_iface.h:139
+
uint8_t parity
Definition: atca_iface.h:91
+
void * atgetifacehaldat(ATCAIface ca_iface)
Returns the HAL data pointer for the device.
Definition: atca_iface.c:218
+
Definition: atca_iface.h:66
+
ATCA_STATUS releaseATCAIface(ATCAIface ca_iface)
Instruct the HAL driver to release any resources associated with this interface.
Definition: atca_iface.c:228
+
ATCA_STATUS atpostinit(ATCAIface ca_iface)
+
ATCA_STATUS(* atinit)(void *hal, ATCAIfaceCfg *)
Definition: atca_iface.h:134
+
int idx
Definition: atca_iface.h:97
+
ATCA_STATUS(* atpostinit)(ATCAIface hal)
Definition: atca_iface.h:135
+
Definition: hal_all_platforms_kit_hidapi.h:48
+
uint32_t vid
Definition: atca_iface.h:98
+
Definition: atca_iface.h:48
+
ATCA_STATUS(* atsleep)(ATCAIface hal)
Definition: atca_iface.h:140
+
struct atca_iface * ATCAIface
Definition: atca_iface.h:122
+
void * cfg_data
Definition: atca_iface.h:120
+
ATCA_STATUS(* atreceive)(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength)
Definition: atca_iface.h:137
+
ATCA_STATUS atreceive(ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
Receives data from the device by calling intermediate HAL wrapper function.
Definition: atca_iface.c:145
+
uint8_t wordsize
Definition: atca_iface.h:90
+
uint32_t pid
Definition: atca_iface.h:99
+
Definition: atca_iface.h:49
+
int port
Definition: atca_iface.h:88
+
ATCA_STATUS atidle(ATCAIface ca_iface)
Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:179
+
Definition: atca_iface.h:46
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
ATCA_STATUS initATCAIface(ATCAIfaceCfg *cfg, ATCAIface ca_iface)
Initializer for ATCAIface objects.
Definition: atca_iface.c:56
+
int rx_retries
Definition: atca_iface.h:119
+
Definition: atca_iface.h:47
+
ATCA_STATUS atsleep(ATCAIface ca_iface)
Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:194
+
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
+
uint8_t stopbits
Definition: atca_iface.h:92
+
uint32_t baud
Definition: atca_iface.h:78
+
uint16_t wake_delay
Definition: atca_iface.h:118
+
ATCA_STATUS(* atwake)(ATCAIface hal)
Definition: atca_iface.h:138
+
ATCADeviceType devtype
Definition: atca_iface.h:70
+
ATCA_STATUS(* atsend)(ATCAIface hal, uint8_t *txdata, int txlength)
Definition: atca_iface.h:136
+
ATCAIfaceType mType
Definition: atca_iface.h:131
+
uint8_t bus
Definition: atca_iface.h:77
+
uint8_t slave_address
Definition: atca_iface.h:76
+
ATCA_STATUS atinit(ATCAIface ca_iface)
Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API...
Definition: atca_iface.c:106
+
Definition: atca_iface.h:53
+
void * hal_data
Definition: atca_iface.h:143
+
ATCAIface newATCAIface(ATCAIfaceCfg *cfg)
Constructor for ATCAIface objects.
Definition: atca_iface.c:82
+
Definition: atca_iface.h:50
+
uint32_t packetsize
Definition: atca_iface.h:100
+
ATCAIfaceType
Definition: atca_iface.h:44
+
ATCAIfaceType iface_type
Definition: atca_iface.h:69
+
void deleteATCAIface(ATCAIface *ca_iface)
Instruct the HAL driver to release any resources associated with this interface, then delete the obje...
Definition: atca_iface.c:243
+
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
+
-

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device. +

Microchip Crypto Auth status codes. More...

-
#include <stdlib.h>
-#include "atcacert_client.h"
-#include "atcacert_pem.h"
-#include "cryptoauthlib.h"
-#include "basic/atca_basic.h"
-
- - - - - - - - - - - - - - - - +
#include <stdint.h>
+#include "atca_bool.h"
+
+

Go to the source code of this file.

+

-Functions

int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host. More...
 
int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device. More...
 
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition. More...
 
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
+ + +

+Enumerations

enum  ATCA_STATUS {
+  ATCA_SUCCESS = 0x00, +ATCA_CONFIG_ZONE_LOCKED = 0x01, +ATCA_DATA_ZONE_LOCKED = 0x02, +ATCA_WAKE_FAILED = 0xD0, +
+  ATCA_CHECKMAC_VERIFY_FAILED = 0xD1, +ATCA_PARSE_ERROR = 0xD2, +ATCA_STATUS_CRC = 0xD4, +ATCA_STATUS_UNKNOWN = 0xD5, +
+  ATCA_STATUS_ECC = 0xD6, +ATCA_STATUS_SELFTEST_ERROR = 0xD7, +ATCA_FUNC_FAIL = 0xE0, +ATCA_GEN_FAIL = 0xE1, +
+  ATCA_BAD_PARAM = 0xE2, +ATCA_INVALID_ID = 0xE3, +ATCA_INVALID_SIZE = 0xE4, +ATCA_RX_CRC_ERROR = 0xE5, +
+  ATCA_RX_FAIL = 0xE6, +ATCA_RX_NO_RESPONSE = 0xE7, +ATCA_RESYNC_WITH_WAKEUP = 0xE8, +ATCA_PARITY_ERROR = 0xE9, +
+  ATCA_TX_TIMEOUT = 0xEA, +ATCA_RX_TIMEOUT = 0xEB, +ATCA_TOO_MANY_COMM_RETRIES = 0xEC, +ATCA_SMALL_BUFFER = 0xED, +
+  ATCA_COMM_FAIL = 0xF0, +ATCA_TIMEOUT = 0xF1, +ATCA_BAD_OPCODE = 0xF2, +ATCA_WAKE_SUCCESS = 0xF3, +
+  ATCA_EXECUTION_ERROR = 0xF4, +ATCA_UNIMPLEMENTED = 0xF5, +ATCA_ASSERT_FAILURE = 0xF6, +ATCA_TX_FAIL = 0xF7, +
+  ATCA_NOT_LOCKED = 0xF8, +ATCA_NO_DEVICES = 0xF9, +ATCA_HEALTH_TEST_ERROR = 0xFA, +ATCA_ALLOC_FAILURE = 0xFB +
+ }
 

Detailed Description

-

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.

+

Microchip Crypto Auth status codes.

-
+

Enumeration Type Documentation

+ +

◆ ATCA_STATUS

+ +
+
+ + + + +
enum ATCA_STATUS
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
ATCA_SUCCESS 

Function succeeded.

+
ATCA_CONFIG_ZONE_LOCKED 
ATCA_DATA_ZONE_LOCKED 
ATCA_WAKE_FAILED 

response status byte indicates CheckMac failure (status byte = 0x01)

+
ATCA_CHECKMAC_VERIFY_FAILED 

response status byte indicates CheckMac failure (status byte = 0x01)

+
ATCA_PARSE_ERROR 

response status byte indicates parsing error (status byte = 0x03)

+
ATCA_STATUS_CRC 

response status byte indicates DEVICE did not receive data properly (status byte = 0xFF)

+
ATCA_STATUS_UNKNOWN 

response status byte is unknown

+
ATCA_STATUS_ECC 

response status byte is ECC fault (status byte = 0x05)

+
ATCA_STATUS_SELFTEST_ERROR 

response status byte is Self Test Error, chip in failure mode (status byte = 0x07)

+
ATCA_FUNC_FAIL 

Function could not execute due to incorrect condition / state.

+
ATCA_GEN_FAIL 

unspecified error

+
ATCA_BAD_PARAM 

bad argument (out of range, null pointer, etc.)

+
ATCA_INVALID_ID 

invalid device id, id not set

+
ATCA_INVALID_SIZE 

Count value is out of range or greater than buffer size.

+
ATCA_RX_CRC_ERROR 

CRC error in data received from device.

+
ATCA_RX_FAIL 

Timed out while waiting for response. Number of bytes received is > 0.

+
ATCA_RX_NO_RESPONSE 

Not an error while the Command layer is polling for a command response.

+
ATCA_RESYNC_WITH_WAKEUP 

Re-synchronization succeeded, but only after generating a Wake-up.

+
ATCA_PARITY_ERROR 

for protocols needing parity

+
ATCA_TX_TIMEOUT 

for Microchip PHY protocol, timeout on transmission waiting for master

+
ATCA_RX_TIMEOUT 

for Microchip PHY protocol, timeout on receipt waiting for master

+
ATCA_TOO_MANY_COMM_RETRIES 

Device did not respond too many times during a transmission. Could indicate no device present.

+
ATCA_SMALL_BUFFER 

Supplied buffer is too small for data required.

+
ATCA_COMM_FAIL 

Communication with device failed. Same as in hardware dependent modules.

+
ATCA_TIMEOUT 

Timed out while waiting for response. Number of bytes received is 0.

+
ATCA_BAD_OPCODE 

opcode is not supported by the device

+
ATCA_WAKE_SUCCESS 

received proper wake token

+
ATCA_EXECUTION_ERROR 

chip was in a state where it could not execute the command, response status byte indicates command execution error (status byte = 0x0F)

+
ATCA_UNIMPLEMENTED 

Function or some element of it hasn't been implemented yet.

+
ATCA_ASSERT_FAILURE 

Code failed run-time consistency check.

+
ATCA_TX_FAIL 

Failed to write.

+
ATCA_NOT_LOCKED 

required zone was not locked

+
ATCA_NO_DEVICES 

For protocols that support device discovery (kit protocol), no devices were found.

+
ATCA_HEALTH_TEST_ERROR 

random number generator health test error

+
ATCA_ALLOC_FAILURE 

Couldn't allocate required memory.

+
+ +
+
+
@@ -90,50 +90,50 @@
atca_status.h
-Go to the documentation of this file.
1 
29 #ifndef _ATCA_STATUS_H
30 #define _ATCA_STATUS_H
31 
32 #include <stdint.h>
33 #include "atca_bool.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /* all status codes for the ATCA lib are defined here */
40 
41 typedef enum
42 {
43  ATCA_SUCCESS = 0x00,
49  ATCA_STATUS_CRC = 0xD4,
51  ATCA_STATUS_ECC = 0xD6,
53  ATCA_FUNC_FAIL = 0xE0,
54  ATCA_GEN_FAIL = 0xE1,
55  ATCA_BAD_PARAM = 0xE2,
56  ATCA_INVALID_ID = 0xE3,
59  ATCA_RX_FAIL = 0xE6,
63  ATCA_TX_TIMEOUT = 0xEA,
64  ATCA_RX_TIMEOUT = 0xEB,
67  ATCA_COMM_FAIL = 0xF0,
68  ATCA_TIMEOUT = 0xF1,
69  ATCA_BAD_OPCODE = 0xF2,
74  ATCA_TX_FAIL = 0xF7,
75  ATCA_NOT_LOCKED = 0xF8,
76  ATCA_NO_DEVICES = 0xF9,
79 } ATCA_STATUS;
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 #endif
response status byte indicates DEVICE did not receive data properly (status byte = 0xFF) ...
Definition: atca_status.h:49
-
random number generator health test error
Definition: atca_status.h:77
-
for protocols needing parity
Definition: atca_status.h:62
-
invalid device id, id not set
Definition: atca_status.h:56
-
CRC error in data received from device.
Definition: atca_status.h:58
-
Timed out while waiting for response. Number of bytes received is 0.
Definition: atca_status.h:68
-
Not an error while the Command layer is polling for a command response.
Definition: atca_status.h:60
-
for Microchip PHY protocol, timeout on receipt waiting for master
Definition: atca_status.h:64
-
Re-synchronization succeeded, but only after generating a Wake-up.
Definition: atca_status.h:61
-
ATCA_STATUS
Definition: atca_status.h:41
-
unspecified error
Definition: atca_status.h:54
-
response status byte indicates parsing error (status byte = 0x03)
Definition: atca_status.h:48
-
response status byte is unknown
Definition: atca_status.h:50
-
Supplied buffer is too small for data required.
Definition: atca_status.h:66
-
Code failed run-time consistency check.
Definition: atca_status.h:73
-
required zone was not locked
Definition: atca_status.h:75
-
For protocols that support device discovery (kit protocol), no devices were found.
Definition: atca_status.h:76
-
Function could not execute due to incorrect condition / state.
Definition: atca_status.h:53
-
Definition: atca_status.h:44
-
Device did not respond too many times during a transmission. Could indicate no device present...
Definition: atca_status.h:65
-
response status byte indicates CheckMac failure (status byte = 0x01)
Definition: atca_status.h:47
-
bad argument (out of range, null pointer, etc.)
Definition: atca_status.h:55
-
chip was in a state where it could not execute the command, response status byte indicates command ex...
Definition: atca_status.h:71
-
opcode is not supported by the device
Definition: atca_status.h:69
-
Function succeeded.
Definition: atca_status.h:43
-
Count value is out of range or greater than buffer size.
Definition: atca_status.h:57
-
Couldn&#39;t allocate required memory.
Definition: atca_status.h:78
-
response status byte indicates CheckMac failure (status byte = 0x01)
Definition: atca_status.h:46
-
response status byte is ECC fault (status byte = 0x05)
Definition: atca_status.h:51
-
Timed out while waiting for response. Number of bytes received is > 0.
Definition: atca_status.h:59
-
bool define for systems that don&#39;t have it
-
Definition: atca_status.h:45
-
Communication with device failed. Same as in hardware dependent modules.
Definition: atca_status.h:67
-
received proper wake token
Definition: atca_status.h:70
-
Function or some element of it hasn&#39;t been implemented yet.
Definition: atca_status.h:72
-
response status byte is Self Test Error, chip in failure mode (status byte = 0x07) ...
Definition: atca_status.h:52
-
Failed to write.
Definition: atca_status.h:74
-
for Microchip PHY protocol, timeout on transmission waiting for master
Definition: atca_status.h:63
+Go to the documentation of this file.
1 
29 #ifndef _ATCA_STATUS_H
30 #define _ATCA_STATUS_H
31 
32 #include <stdint.h>
33 #include "atca_bool.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /* all status codes for the ATCA lib are defined here */
40 
41 typedef enum
42 {
43  ATCA_SUCCESS = 0x00,
49  ATCA_STATUS_CRC = 0xD4,
51  ATCA_STATUS_ECC = 0xD6,
53  ATCA_FUNC_FAIL = 0xE0,
54  ATCA_GEN_FAIL = 0xE1,
55  ATCA_BAD_PARAM = 0xE2,
56  ATCA_INVALID_ID = 0xE3,
59  ATCA_RX_FAIL = 0xE6,
63  ATCA_TX_TIMEOUT = 0xEA,
64  ATCA_RX_TIMEOUT = 0xEB,
67  ATCA_COMM_FAIL = 0xF0,
68  ATCA_TIMEOUT = 0xF1,
69  ATCA_BAD_OPCODE = 0xF2,
74  ATCA_TX_FAIL = 0xF7,
75  ATCA_NOT_LOCKED = 0xF8,
76  ATCA_NO_DEVICES = 0xF9,
79 } ATCA_STATUS;
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 #endif
ATCA_STATUS
Definition: atca_status.h:41
+
For protocols that support device discovery (kit protocol), no devices were found.
Definition: atca_status.h:76
+
Count value is out of range or greater than buffer size.
Definition: atca_status.h:57
+
response status byte indicates CheckMac failure (status byte = 0x01)
Definition: atca_status.h:46
+
opcode is not supported by the device
Definition: atca_status.h:69
+
response status byte is ECC fault (status byte = 0x05)
Definition: atca_status.h:51
+
Timed out while waiting for response. Number of bytes received is > 0.
Definition: atca_status.h:59
+
Function succeeded.
Definition: atca_status.h:43
+
Communication with device failed. Same as in hardware dependent modules.
Definition: atca_status.h:67
+
required zone was not locked
Definition: atca_status.h:75
+
for protocols needing parity
Definition: atca_status.h:62
+
Function could not execute due to incorrect condition / state.
Definition: atca_status.h:53
+
response status byte is Self Test Error, chip in failure mode (status byte = 0x07) ...
Definition: atca_status.h:52
+
Failed to write.
Definition: atca_status.h:74
+
Not an error while the Command layer is polling for a command response.
Definition: atca_status.h:60
+
for Microchip PHY protocol, timeout on receipt waiting for master
Definition: atca_status.h:64
+
received proper wake token
Definition: atca_status.h:70
+
unspecified error
Definition: atca_status.h:54
+
Supplied buffer is too small for data required.
Definition: atca_status.h:66
+
bool define for systems that don&#39;t have it
+
CRC error in data received from device.
Definition: atca_status.h:58
+
Definition: atca_status.h:45
+
Function or some element of it hasn&#39;t been implemented yet.
Definition: atca_status.h:72
+
invalid device id, id not set
Definition: atca_status.h:56
+
Definition: atca_status.h:44
+
Device did not respond too many times during a transmission. Could indicate no device present...
Definition: atca_status.h:65
+
for Microchip PHY protocol, timeout on transmission waiting for master
Definition: atca_status.h:63
+
chip was in a state where it could not execute the command, response status byte indicates command ex...
Definition: atca_status.h:71
+
Code failed run-time consistency check.
Definition: atca_status.h:73
+
response status byte indicates DEVICE did not receive data properly (status byte = 0xFF) ...
Definition: atca_status.h:49
+
response status byte indicates parsing error (status byte = 0x03)
Definition: atca_status.h:48
+
response status byte is unknown
Definition: atca_status.h:50
+
random number generator health test error
Definition: atca_status.h:77
+
Couldn&#39;t allocate required memory.
Definition: atca_status.h:78
+
Timed out while waiting for response. Number of bytes received is 0.
Definition: atca_status.h:68
+
response status byte indicates CheckMac failure (status byte = 0x01)
Definition: atca_status.h:47
+
bad argument (out of range, null pointer, etc.)
Definition: atca_status.h:55
+
Re-synchronization succeeded, but only after generating a Wake-up.
Definition: atca_status.h:61
-

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device. +

Declarations common to all atcacert code. More...

#include <stddef.h>
#include <stdint.h>
-#include "atcacert_def.h"

Go to the source code of this file.

- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Functions

int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device. More...
 
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition. More...
 
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host. More...
 

+Macros

#define FALSE   (0)
 
#define TRUE   (1)
 
#define ATCACERT_E_SUCCESS   0
 Operation completed successfully. More...
 
#define ATCACERT_E_ERROR   1
 General error. More...
 
#define ATCACERT_E_BAD_PARAMS   2
 Invalid/bad parameter passed to function. More...
 
#define ATCACERT_E_BUFFER_TOO_SMALL   3
 Supplied buffer for output is too small to hold the result. More...
 
#define ATCACERT_E_DECODING_ERROR   4
 Data being decoded/parsed has an invalid format. More...
 
#define ATCACERT_E_INVALID_DATE   5
 Date is invalid. More...
 
#define ATCACERT_E_UNIMPLEMENTED   6
 Function is unimplemented for the current configuration. More...
 
#define ATCACERT_E_UNEXPECTED_ELEM_SIZE   7
 A certificate element size was not what was expected. More...
 
#define ATCACERT_E_ELEM_MISSING   8
 The certificate element isn't defined for the certificate definition. More...
 
#define ATCACERT_E_ELEM_OUT_OF_BOUNDS   9
 Certificate element is out of bounds for the given certificate. More...
 
#define ATCACERT_E_BAD_CERT   10
 Certificate structure is bad in some way. More...
 
#define ATCACERT_E_WRONG_CERT_DEF   11
 
#define ATCACERT_E_VERIFY_FAILED   12
 Certificate or challenge/response verification failed. More...
 

Detailed Description

-

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.

+

Declarations common to all atcacert code.

+

These are common definitions used by all the atcacert code.

-Go to the documentation of this file.
1 
31 #ifndef ATCACERT_CLIENT_H
32 #define ATCACERT_CLIENT_H
33 
34 #include <stddef.h>
35 #include <stdint.h>
36 #include "atcacert_def.h"
37 
38 // Inform function naming when compiling in C++
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
73 int atcacert_read_cert(const atcacert_def_t* cert_def,
74  const uint8_t ca_public_key[64],
75  uint8_t* cert,
76  size_t* cert_size);
77 
89 int atcacert_write_cert(const atcacert_def_t* cert_def,
90  const uint8_t* cert,
91  size_t cert_size);
92 
104 int atcacert_create_csr(const atcacert_def_t* csr_def, uint8_t* csr, size_t* csr_size);
105 
117 int atcacert_create_csr_pem(const atcacert_def_t* csr_def, char* csr, size_t* csr_size);
118 
133 int atcacert_get_response(uint8_t device_private_key_slot,
134  const uint8_t challenge[32],
135  uint8_t response[64]);
136 
138 #ifdef __cplusplus
139 }
140 #endif
141 
142 #endif
int atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves readin...
Definition: atcacert_client.c:182
-
Definition: atcacert_def.h:149
-
int atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
Reads the certificate specified by the certificate definition from the ATECC508A device.
Definition: atcacert_client.c:50
-
int atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves readin...
Definition: atcacert_client.c:218
-
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
-
int atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
Take a full certificate and write it to the ATECC508A device according to the certificate definition...
Definition: atcacert_client.c:125
-
int atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
Calculates the response to a challenge sent from the host.
Definition: atcacert_client.c:38
-
+Go to the documentation of this file.
1 
30 #ifndef ATCACERT_H
31 #define ATCACERT_H
32 
33 #include <stddef.h>
34 #include <stdint.h>
35 
43 #ifndef FALSE
44 #define FALSE (0)
45 #endif
46 #ifndef TRUE
47 #define TRUE (1)
48 #endif
49 
50 #define ATCACERT_E_SUCCESS 0
51 #define ATCACERT_E_ERROR 1
52 #define ATCACERT_E_BAD_PARAMS 2
53 #define ATCACERT_E_BUFFER_TOO_SMALL 3
54 #define ATCACERT_E_DECODING_ERROR 4
55 #define ATCACERT_E_INVALID_DATE 5
56 #define ATCACERT_E_UNIMPLEMENTED 6
57 #define ATCACERT_E_UNEXPECTED_ELEM_SIZE 7
58 #define ATCACERT_E_ELEM_MISSING 8
59 #define ATCACERT_E_ELEM_OUT_OF_BOUNDS 9
60 #define ATCACERT_E_BAD_CERT 10
61 #define ATCACERT_E_WRONG_CERT_DEF 11
62 #define ATCACERT_E_VERIFY_FAILED 12
63 
64 
65 #endif
-

Date handling with regard to certificates. +

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device. More...

-
#include <string.h>
-#include "atcacert_date.h"
+
#include <stdlib.h>
+#include "atcacert_client.h"
+#include "atcacert_pem.h"
+#include "cryptoauthlib.h"
+#include "basic/atca_basic.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
 Format a timestamp according to the format type. More...
 
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
 Parse a formatted timestamp according to the specified format. More...
 
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
 Return the maximum date available for the given format. More...
 
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
 
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
 
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
 
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
 
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
 
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
 Encode the issue and expire dates in the format used by the compressed certificate. More...
 
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
 Decode the issue and expire dates from the format used by the compressed certificate. More...
 
- - - + + + + + + + + + + + + + + +

-Variables

const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
 
int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host. More...
 
int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device. More...
 
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition. More...
 
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 

Detailed Description

-

Date handling with regard to certificates.

+

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.

-

Declarations for date handling with regard to certificates. +

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device. More...

#include <stddef.h>
-#include "atcacert.h"
+#include <stdint.h>
+#include "atcacert_def.h"

Go to the source code of this file.

- - - -

-Data Structures

struct  atcacert_tm_utc_s
 
- - - - - - - - - - - - - - - -

-Macros

#define DATEFMT_ISO8601_SEP_SIZE   (20)
 
#define DATEFMT_RFC5280_UTC_SIZE   (13)
 
#define DATEFMT_POSIX_UINT32_BE_SIZE   (4)
 
#define DATEFMT_POSIX_UINT32_LE_SIZE   (4)
 
#define DATEFMT_RFC5280_GEN_SIZE   (15)
 
#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE
 
#define ATCACERT_DATE_FORMAT_SIZES_COUNT   5
 
- - - - - -

-Typedefs

typedef struct atcacert_tm_utc_s atcacert_tm_utc_t
 
typedef enum atcacert_date_format_e atcacert_date_format_t
 
- - - -

-Enumerations

enum  atcacert_date_format_e {
-  DATEFMT_ISO8601_SEP, -DATEFMT_RFC5280_UTC, -DATEFMT_POSIX_UINT32_BE, -DATEFMT_POSIX_UINT32_LE, -
-  DATEFMT_RFC5280_GEN -
- }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
 Format a timestamp according to the format type. More...
 
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
 Parse a formatted timestamp according to the specified format. More...
 
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
 Encode the issue and expire dates in the format used by the compressed certificate. More...
 
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
 Decode the issue and expire dates from the format used by the compressed certificate. More...
 
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
 Return the maximum date available for the given format. More...
 
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
 
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
 
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
 
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
 
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
 
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
 
- - - + + + + + + + + + + + + + + +

-Variables

const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
 
int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device. More...
 
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition. More...
 
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host. More...
 

Detailed Description

-

Declarations for date handling with regard to certificates.

+

Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.

-Go to the documentation of this file.
1 
28 #ifndef ATCACERT_DATE_H
29 #define ATCACERT_DATE_H
30 
31 #include <stddef.h>
32 #include "atcacert.h"
33 
34 
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
52 typedef struct atcacert_tm_utc_s
53 {
54  int tm_sec; // 0 to 59
55  int tm_min; // 0 to 59
56  int tm_hour; // 0 to 23
57  int tm_mday; // 1 to 31
58  int tm_mon; // 0 to 11
59  int tm_year; // years since 1900
61 
66 {
73 
74 #define DATEFMT_ISO8601_SEP_SIZE (20)
75 #define DATEFMT_RFC5280_UTC_SIZE (13)
76 #define DATEFMT_POSIX_UINT32_BE_SIZE (4)
77 #define DATEFMT_POSIX_UINT32_LE_SIZE (4)
78 #define DATEFMT_RFC5280_GEN_SIZE (15)
79 #define DATEFMT_MAX_SIZE DATEFMT_ISO8601_SEP_SIZE
80 #define ATCACERT_DATE_FORMAT_SIZES_COUNT 5
81 
83 
96  const atcacert_tm_utc_t* timestamp,
97  uint8_t* formatted_date,
98  size_t* formatted_date_size);
99 
111  const uint8_t* formatted_date,
112  size_t formatted_date_size,
113  atcacert_tm_utc_t* timestamp);
114 
126 int atcacert_date_enc_compcert(const atcacert_tm_utc_t * issue_date,
127  uint8_t expire_years,
128  uint8_t enc_dates[3]);
129 
143 int atcacert_date_dec_compcert(const uint8_t enc_dates[3],
144  atcacert_date_format_t expire_date_format,
145  atcacert_tm_utc_t* issue_date,
146  atcacert_tm_utc_t* expire_date);
147 
157 
159  uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]);
160 
161 int atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE],
162  atcacert_tm_utc_t* timestamp);
163 
165  uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]);
166 
167 int atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE],
168  atcacert_tm_utc_t* timestamp);
169 
171  uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]);
172 
173 int atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE],
174  atcacert_tm_utc_t* timestamp);
175 
177  uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]);
178 
179 int atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE],
180  atcacert_tm_utc_t* timestamp);
181 
183  uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]);
184 
185 int atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE],
186  atcacert_tm_utc_t* timestamp);
187 
188 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif
POSIX (aka UNIX) date format. Seconds since Jan 1, 1970. 32 bit unsigned integer, little endian...
Definition: atcacert_date.h:70
-
int tm_mon
Definition: atcacert_date.h:58
-
int atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:972
-
int atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:312
-
int atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
Definition: atcacert_date.c:537
-
int atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
Format a timestamp according to the format type.
Definition: atcacert_date.c:40
-
struct atcacert_tm_utc_s atcacert_tm_utc_t
-
#define DATEFMT_POSIX_UINT32_LE_SIZE
Definition: atcacert_date.h:77
-
int atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:464
-
ISO8601 full date YYYY-MM-DDThh:mm:ssZ.
Definition: atcacert_date.h:67
-
atcacert_date_format_e
Definition: atcacert_date.h:65
-
#define DATEFMT_RFC5280_UTC_SIZE
Definition: atcacert_date.h:75
-
int atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
Definition: atcacert_date.c:402
-
int tm_sec
Definition: atcacert_date.h:54
-
int tm_year
Definition: atcacert_date.h:59
-
RFC 5280 (X.509) 4.1.2.5.1 UTCTime format YYMMDDhhmmssZ.
Definition: atcacert_date.h:68
-
int atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:928
-
int tm_min
Definition: atcacert_date.h:55
-
RFC 5280 (X.509) 4.1.2.5.2 GeneralizedTime format YYYYMMDDhhmmssZ.
Definition: atcacert_date.h:71
-
POSIX (aka UNIX) date format. Seconds since Jan 1, 1970. 32 bit unsigned integer, big endian...
Definition: atcacert_date.h:69
-
Definition: atcacert_date.h:52
-
int atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
Definition: atcacert_date.c:873
-
int atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
Decode the issue and expire dates from the format used by the compressed certificate.
Definition: atcacert_date.c:1047
-
enum atcacert_date_format_e atcacert_date_format_t
-
#define ATCACERT_DATE_FORMAT_SIZES_COUNT
Definition: atcacert_date.h:80
-
const size_t ATCACERT_DATE_FORMAT_SIZES[ATCACERT_DATE_FORMAT_SIZES_COUNT]
Definition: atcacert_date.c:32
-
int atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
Definition: atcacert_date.c:947
-
#define DATEFMT_POSIX_UINT32_BE_SIZE
Definition: atcacert_date.h:76
-
int atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:591
-
int tm_mday
Definition: atcacert_date.h:57
-
int atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
Encode the issue and expire dates in the format used by the compressed certificate.
Definition: atcacert_date.c:991
-
int atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
Parse a formatted timestamp according to the specified format.
Definition: atcacert_date.c:74
-
int atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
Return the maximum date available for the given format.
Definition: atcacert_date.c:102
-
Declarations common to all atcacert code.
-
int atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
Definition: atcacert_date.c:248
-
#define DATEFMT_ISO8601_SEP_SIZE
Definition: atcacert_date.h:74
-
#define DATEFMT_RFC5280_GEN_SIZE
Definition: atcacert_date.h:78
-
int tm_hour
Definition: atcacert_date.h:56
+Go to the documentation of this file.
1 
31 #ifndef ATCACERT_CLIENT_H
32 #define ATCACERT_CLIENT_H
33 
34 #include <stddef.h>
35 #include <stdint.h>
36 #include "atcacert_def.h"
37 
38 // Inform function naming when compiling in C++
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
73 int atcacert_read_cert(const atcacert_def_t* cert_def,
74  const uint8_t ca_public_key[64],
75  uint8_t* cert,
76  size_t* cert_size);
77 
89 int atcacert_write_cert(const atcacert_def_t* cert_def,
90  const uint8_t* cert,
91  size_t cert_size);
92 
104 int atcacert_create_csr(const atcacert_def_t* csr_def, uint8_t* csr, size_t* csr_size);
105 
117 int atcacert_create_csr_pem(const atcacert_def_t* csr_def, char* csr, size_t* csr_size);
118 
133 int atcacert_get_response(uint8_t device_private_key_slot,
134  const uint8_t challenge[32],
135  uint8_t response[64]);
136 
138 #ifdef __cplusplus
139 }
140 #endif
141 
142 #endif
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
+
int atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
Reads the certificate specified by the certificate definition from the ATECC508A device.
Definition: atcacert_client.c:50
+
int atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves readin...
Definition: atcacert_client.c:182
+
int atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves readin...
Definition: atcacert_client.c:218
+
int atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
Calculates the response to a challenge sent from the host.
Definition: atcacert_client.c:38
+
Definition: atcacert_def.h:149
+
int atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
Take a full certificate and write it to the ATECC508A device according to the certificate definition...
Definition: atcacert_client.c:125
-

Main certificate definition implementation. +

Date handling with regard to certificates. More...

-
#include "atcacert_def.h"
-#include "crypto/atca_crypto_sw_sha1.h"
-#include "crypto/atca_crypto_sw_sha2.h"
-#include "atcacert_der.h"
-#include "atcacert_date.h"
-#include <string.h>
+
#include <string.h>
+#include "atcacert_date.h"
- - - - - -

-Macros

#define ATCACERT_MIN(x, y)   ((x) < (y) ? (x) : (y))
 
#define ATCACERT_MAX(x, y)   ((x) >= (y) ? (x) : (y))
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
 Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list. More...
 
int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
 Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list. More...
 
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
 Starts the certificate rebuilding process. More...
 
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
 Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate. More...
 
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
 Completes any final certificate processing required after all data from the device has been incorporated. More...
 
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
 
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
 Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device. More...
 
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
 Sets the subject public key and subject key ID in a certificate. More...
 
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
 Gets the subject public key from a certificate. More...
 
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
 Gets the subject key ID from a certificate. More...
 
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
 Sets the signature in a certificate. This may alter the size of the X.509 certificates. More...
 
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
 Gets the signature from a certificate. More...
 
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
 Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits. More...
 
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
 Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. More...
 
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
 Sets the certificate serial number in a certificate. More...
 
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
 Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the. More...
 
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
 Gets the certificate serial number from a certificate. More...
 
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
 Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it. More...
 
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
 Sets the authority key ID in a certificate. More...
 
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
 Gets the authority key ID from a certificate. More...
 
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
 Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match. More...
 
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
 Generate the compressed certificate for the given certificate. More...
 
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
 Get a pointer to the TBS data in a certificate. More...
 
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
 Get the SHA256 digest of certificate's TBS data. More...
 
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
 Sets an element in a certificate. The data_size must match the size in cert_loc. More...
 
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
 Gets an element from a certificate. More...
 
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
 Calculates the key ID for a given public ECC P256 key. More...
 
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
 Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform. More...
 
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
 Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform. More...
 
int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
 Format a timestamp according to the format type. More...
 
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
 Parse a formatted timestamp according to the specified format. More...
 
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
 Return the maximum date available for the given format. More...
 
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
 
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
 
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
 
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
 
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
 
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
 Encode the issue and expire dates in the format used by the compressed certificate. More...
 
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
 Decode the issue and expire dates from the format used by the compressed certificate. More...
 
+ + +

+Variables

const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
 

Detailed Description

-

Main certificate definition implementation.

+

Date handling with regard to certificates.

-

Macro Definition Documentation

- -

◆ ATCACERT_MAX

- -
-
- - - - - - - - - - - - - - - - - - -
#define ATCACERT_MAX( x,
 
)   ((x) >= (y) ? (x) : (y))
-
- -
-
- -

◆ ATCACERT_MIN

- -
-
- - - - - - - - - - - - - - - - - - -
#define ATCACERT_MIN( x,
 
)   ((x) < (y) ? (x) : (y))
-
- -
-
-
+
-

Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices. +

Declarations for date handling with regard to certificates. More...

#include <stddef.h>
-#include <stdint.h>
-#include "atcacert.h"
-#include "atcacert_date.h"
+#include "atcacert.h"

Go to the source code of this file.

- - - - - - - - - +

Data Structures

struct  atcacert_device_loc_s
 
struct  atcacert_cert_loc_s
 
struct  atcacert_cert_element_s
 
struct  atcacert_def_s
 
struct  atcacert_build_state_s
struct  atcacert_tm_utc_s
 
+ + + + + + + + + + + + + + + +

+Macros

#define DATEFMT_ISO8601_SEP_SIZE   (20)
 
#define DATEFMT_RFC5280_UTC_SIZE   (13)
 
#define DATEFMT_POSIX_UINT32_BE_SIZE   (4)
 
#define DATEFMT_POSIX_UINT32_LE_SIZE   (4)
 
#define DATEFMT_RFC5280_GEN_SIZE   (15)
 
#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE
 
#define ATCACERT_DATE_FORMAT_SIZES_COUNT   5
 
- - - - - - - - - - - - - - - - - - + + + +

Typedefs

typedef enum atcacert_cert_type_e atcacert_cert_type_t
 
typedef enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
 
typedef enum atcacert_device_zone_e atcacert_device_zone_t
 
typedef enum atcacert_std_cert_element_e atcacert_std_cert_element_t
 
typedef struct atcacert_device_loc_s atcacert_device_loc_t
 
typedef struct atcacert_cert_loc_s atcacert_cert_loc_t
 
typedef struct atcacert_cert_element_s atcacert_cert_element_t
 
typedef struct atcacert_def_s atcacert_def_t
 
typedef struct atcacert_build_state_s atcacert_build_state_t
 
typedef struct atcacert_tm_utc_s atcacert_tm_utc_t
 
typedef enum atcacert_date_format_e atcacert_date_format_t
 
- - - - - - - - +

Enumerations

enum  atcacert_cert_type_e { CERTTYPE_X509, -CERTTYPE_CUSTOM - }
 
enum  atcacert_cert_sn_src_e {
-  SNSRC_STORED = 0x0, -SNSRC_STORED_DYNAMIC = 0x7, -SNSRC_DEVICE_SN = 0x8, -SNSRC_SIGNER_ID = 0x9, -
-  SNSRC_PUB_KEY_HASH = 0xA, -SNSRC_DEVICE_SN_HASH = 0xB, -SNSRC_PUB_KEY_HASH_POS = 0xC, -SNSRC_DEVICE_SN_HASH_POS = 0xD, +
enum  atcacert_date_format_e {
+  DATEFMT_ISO8601_SEP, +DATEFMT_RFC5280_UTC, +DATEFMT_POSIX_UINT32_BE, +DATEFMT_POSIX_UINT32_LE,
-  SNSRC_PUB_KEY_HASH_RAW = 0xE, -SNSRC_DEVICE_SN_HASH_RAW = 0xF +  DATEFMT_RFC5280_GEN
}
 
enum  atcacert_device_zone_e { DEVZONE_CONFIG = 0x00, -DEVZONE_OTP = 0x01, -DEVZONE_DATA = 0x02, -DEVZONE_NONE = 0x07 - }
 
enum  atcacert_std_cert_element_e {
-  STDCERT_PUBLIC_KEY, -STDCERT_SIGNATURE, -STDCERT_ISSUE_DATE, -STDCERT_EXPIRE_DATE, -
-  STDCERT_SIGNER_ID, -STDCERT_CERT_SN, -STDCERT_AUTH_KEY_ID, -STDCERT_SUBJ_KEY_ID, -
-  STDCERT_NUM_ELEMENTS -
- }
 
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
 Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list. More...
 
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
 Starts the certificate rebuilding process. More...
 
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
 Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate. More...
 
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
 Completes any final certificate processing required after all data from the device has been incorporated. More...
 
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
 Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device. More...
 
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
 Sets the subject public key and subject key ID in a certificate. More...
 
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
 Gets the subject public key from a certificate. More...
 
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
 Gets the subject key ID from a certificate. More...
 
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
 Sets the signature in a certificate. This may alter the size of the X.509 certificates. More...
 
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
 Gets the signature from a certificate. More...
 
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
 Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits. More...
 
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
 Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. More...
 
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
 Sets the certificate serial number in a certificate. More...
 
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
 Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the. More...
 
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
 Gets the certificate serial number from a certificate. More...
 
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
 Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it. More...
 
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
 Sets the authority key ID in a certificate. More...
 
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
 Gets the authority key ID from a certificate. More...
 
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
 Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match. More...
 
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
 Generate the compressed certificate for the given certificate. More...
 
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
 Get a pointer to the TBS data in a certificate. More...
 
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
 Get the SHA256 digest of certificate's TBS data. More...
 
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
 Sets an element in a certificate. The data_size must match the size in cert_loc. More...
 
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
 Gets an element from a certificate. More...
 
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
 Calculates the key ID for a given public ECC P256 key. More...
 
int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
 Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list. More...
 
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
 
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
 Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform. More...
 
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
 Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform. More...
 
int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
 Format a timestamp according to the format type. More...
 
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
 Parse a formatted timestamp according to the specified format. More...
 
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
 Encode the issue and expire dates in the format used by the compressed certificate. More...
 
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
 Decode the issue and expire dates from the format used by the compressed certificate. More...
 
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
 Return the maximum date available for the given format. More...
 
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
 
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
 
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
 
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
 
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
 
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
 
+ + +

+Variables

const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
 

Detailed Description

-

Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices.

-

Only the dynamic elements of a certificate (the parts of the certificate that change from device to device) are stored on the ATECC device. The definitions here describe the form of the certificate, and where the dynamic elements can be found both on the ATECC device itself and in the certificate template.

-

This also defines utility functions for working with the certificates and their definitions.

+

Declarations for date handling with regard to certificates.

-Go to the documentation of this file.
1 
39 #ifndef ATCACERT_DEF_H
40 #define ATCACERT_DEF_H
41 
42 #include <stddef.h>
43 #include <stdint.h>
44 #include "atcacert.h"
45 #include "atcacert_date.h"
46 
59 {
63 
68 {
69  SNSRC_STORED = 0x0,
80 
85 {
86  DEVZONE_CONFIG = 0x00,
87  DEVZONE_OTP = 0x01,
88  DEVZONE_DATA = 0x02,
89  DEVZONE_NONE = 0x07
91 
96 {
107 
108 // Some of these structures may need to be byte-accurate
109 
110 #pragma pack(push, 1)
111 
115 typedef struct atcacert_device_loc_s
116 {
118  uint8_t slot;
119  uint8_t is_genkey;
120  uint16_t offset;
121  uint16_t count;
123 
127 typedef struct atcacert_cert_loc_s
128 {
129  uint16_t offset;
130  uint16_t count;
132 
137 {
138  char id[16];
142 
149 typedef struct atcacert_def_s
150 {
152  uint8_t template_id;
153  uint8_t chain_id;
160  uint8_t expire_years;
166  const uint8_t* cert_template;
168  const struct atcacert_def_s* ca_cert_def;
170 
175 {
177  uint8_t* cert;
178  size_t* cert_size;
179  size_t max_cert_size;
180  uint8_t is_device_sn;
181  uint8_t device_sn[9];
183 
184 #pragma pack(pop)
185 
186 // Inform function naming when compiling in C++
187 #ifdef __cplusplus
188 extern "C" {
189 #endif
190 
210 int atcacert_get_device_locs(const atcacert_def_t* cert_def,
211  atcacert_device_loc_t* device_locs,
212  size_t* device_locs_count,
213  size_t device_locs_max_count,
214  size_t block_size);
215 
234  const atcacert_def_t* cert_def,
235  uint8_t* cert,
236  size_t* cert_size,
237  const uint8_t ca_public_key[64]);
238 
252  const atcacert_device_loc_t* device_loc,
253  const uint8_t* device_data);
254 
268 
286 int atcacert_get_device_data(const atcacert_def_t* cert_def,
287  const uint8_t* cert,
288  size_t cert_size,
289  const atcacert_device_loc_t* device_loc,
290  uint8_t* device_data);
291 
302 int atcacert_set_subj_public_key(const atcacert_def_t* cert_def,
303  uint8_t* cert,
304  size_t cert_size,
305  const uint8_t subj_public_key[64]);
306 
318 int atcacert_get_subj_public_key(const atcacert_def_t * cert_def,
319  const uint8_t * cert,
320  size_t cert_size,
321  uint8_t subj_public_key[64]);
322 
333 int atcacert_get_subj_key_id(const atcacert_def_t * cert_def,
334  const uint8_t * cert,
335  size_t cert_size,
336  uint8_t subj_key_id[20]);
337 
350 int atcacert_set_signature(const atcacert_def_t* cert_def,
351  uint8_t* cert,
352  size_t* cert_size,
353  size_t max_cert_size,
354  const uint8_t signature[64]);
355 
367 int atcacert_get_signature(const atcacert_def_t * cert_def,
368  const uint8_t * cert,
369  size_t cert_size,
370  uint8_t signature[64]);
371 
383 int atcacert_set_issue_date(const atcacert_def_t* cert_def,
384  uint8_t* cert,
385  size_t cert_size,
386  const atcacert_tm_utc_t* timestamp);
387 
399 int atcacert_get_issue_date(const atcacert_def_t* cert_def,
400  const uint8_t* cert,
401  size_t cert_size,
402  atcacert_tm_utc_t* timestamp);
403 
415 int atcacert_set_expire_date(const atcacert_def_t* cert_def,
416  uint8_t* cert,
417  size_t cert_size,
418  const atcacert_tm_utc_t* timestamp);
419 
431 int atcacert_get_expire_date(const atcacert_def_t* cert_def,
432  const uint8_t* cert,
433  size_t cert_size,
434  atcacert_tm_utc_t* timestamp);
435 
446 int atcacert_set_signer_id(const atcacert_def_t* cert_def,
447  uint8_t* cert,
448  size_t cert_size,
449  const uint8_t signer_id[2]);
450 
461 int atcacert_get_signer_id(const atcacert_def_t * cert_def,
462  const uint8_t * cert,
463  size_t cert_size,
464  uint8_t signer_id[2]);
465 
478 int atcacert_set_cert_sn(const atcacert_def_t* cert_def,
479  uint8_t* cert,
480  size_t* cert_size,
481  size_t max_cert_size,
482  const uint8_t* cert_sn,
483  size_t cert_sn_size);
484 
502 int atcacert_gen_cert_sn(const atcacert_def_t* cert_def,
503  uint8_t* cert,
504  size_t cert_size,
505  const uint8_t device_sn[9]);
506 
519 int atcacert_get_cert_sn(const atcacert_def_t* cert_def,
520  const uint8_t* cert,
521  size_t cert_size,
522  uint8_t* cert_sn,
523  size_t* cert_sn_size);
524 
537 int atcacert_set_auth_key_id(const atcacert_def_t* cert_def,
538  uint8_t* cert,
539  size_t cert_size,
540  const uint8_t auth_public_key[64]);
541 
552 int atcacert_set_auth_key_id_raw(const atcacert_def_t* cert_def,
553  uint8_t* cert,
554  size_t cert_size,
555  const uint8_t* auth_key_id);
556 
567 int atcacert_get_auth_key_id(const atcacert_def_t * cert_def,
568  const uint8_t * cert,
569  size_t cert_size,
570  uint8_t auth_key_id[20]);
571 
587 int atcacert_set_comp_cert(const atcacert_def_t* cert_def,
588  uint8_t* cert,
589  size_t* cert_size,
590  size_t max_cert_size,
591  const uint8_t comp_cert[72]);
592 
603 int atcacert_get_comp_cert(const atcacert_def_t * cert_def,
604  const uint8_t * cert,
605  size_t cert_size,
606  uint8_t comp_cert[72]);
607 
619 int atcacert_get_tbs(const atcacert_def_t* cert_def,
620  const uint8_t* cert,
621  size_t cert_size,
622  const uint8_t** tbs,
623  size_t* tbs_size);
624 
635 int atcacert_get_tbs_digest(const atcacert_def_t * cert_def,
636  const uint8_t * cert,
637  size_t cert_size,
638  uint8_t tbs_digest[32]);
639 
653 int atcacert_set_cert_element(const atcacert_def_t* cert_def,
654  const atcacert_cert_loc_t* cert_loc,
655  uint8_t* cert,
656  size_t cert_size,
657  const uint8_t* data,
658  size_t data_size);
659 
673 int atcacert_get_cert_element(const atcacert_def_t* cert_def,
674  const atcacert_cert_loc_t* cert_loc,
675  const uint8_t* cert,
676  size_t cert_size,
677  uint8_t* data,
678  size_t data_size);
679 
680 
681 // Below are utility functions for dealing with various bits for data conversion and wrangling
682 
697 int atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]);
698 
722  size_t* device_locs_count,
723  size_t device_locs_max_count,
724  const atcacert_device_loc_t* device_loc,
725  size_t block_size);
726 
728  const atcacert_device_loc_t* device_loc2);
729 
741 void atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]);
742 
753 void atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]);
754 
756 #ifdef __cplusplus
757 }
758 #endif
759 
760 #endif
761 
int atcacert_cert_build_finish(atcacert_build_state_t *build_state)
Completes any final certificate processing required after all data from the device has been incorpora...
Definition: atcacert_def.c:464
-
Depreciated, don&#39;t use. Cert serial number is the SHA256(Subject public key + Encoded dates)...
Definition: atcacert_def.h:77
-
uint8_t expire_years
Number of years the certificate is valid for (5-bit value). 0 means no expiration.
Definition: atcacert_def.h:160
-
uint8_t private_key_slot
If this is a device certificate template, this is the device slot for the device private key...
Definition: atcacert_def.h:154
-
Definition: atcacert_def.h:174
-
int atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
Sets the signature in a certificate. This may alter the size of the X.509 certificates.
Definition: atcacert_def.c:672
-
enum atcacert_cert_type_e atcacert_cert_type_t
-
enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
-
Definition: atcacert_def.h:100
-
Cert serial number is 0x40(MSB) + 2-byte signer ID. Only applies to signer certificates.
Definition: atcacert_def.h:72
-
uint8_t * cert
Buffer to contain the rebuilt certificate.
Definition: atcacert_def.h:177
-
int atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
Sets the subject public key and subject key ID in a certificate.
Definition: atcacert_def.c:612
-
Custom format.
Definition: atcacert_def.h:61
-
struct atcacert_build_state_s atcacert_build_state_t
-
Definition: atcacert_def.h:97
-
uint8_t is_device_sn
Indicates the structure contains the device SN.
Definition: atcacert_def.h:180
-
uint16_t cert_template_size
Size of the certificate template in cert_template in bytes.
Definition: atcacert_def.h:167
-
int atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits.
Definition: atcacert_def.c:945
-
Definition: atcacert_def.h:115
-
int atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
Gets the subject key ID from a certificate.
Definition: atcacert_def.c:659
-
int atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
Sets the certificate serial number by generating it from other information in the certificate using t...
Definition: atcacert_def.c:1118
-
void atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64])
Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key...
Definition: atcacert_def.c:1630
-
const uint8_t * cert_template
Pointer to the actual certificate template data.
Definition: atcacert_def.h:166
-
Cert serial is stored on the device with the first byte being the DER size (X509 certs only)...
Definition: atcacert_def.h:70
-
Depreciated, don&#39;t use. Cert serial number is the SHA256(Device SN + Encoded dates), with MSBit set to 0 to ensure it&#39;s positive. Only applies to device certificates.
Definition: atcacert_def.h:76
-
uint8_t device_sn[9]
Storage for the device SN, when it&#39;s found.
Definition: atcacert_def.h:181
-
Definition: atcacert_def.h:149
-
One Time Programmable zone.
Definition: atcacert_def.h:87
-
int atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
Gets the certificate serial number from a certificate.
Definition: atcacert_def.c:1254
-
struct atcacert_def_s atcacert_def_t
-
atcacert_device_zone_e
Definition: atcacert_def.h:84
-
Definition: atcacert_def.h:104
-
const atcacert_cert_element_t * cert_elements
Additional certificate elements outside of the standard certificate contents.
Definition: atcacert_def.h:164
-
Data zone (slots).
Definition: atcacert_def.h:88
-
Definition: atcacert_def.h:98
-
const struct atcacert_def_s * ca_cert_def
Certificate definition of the CA certificate.
Definition: atcacert_def.h:168
-
struct atcacert_device_loc_s atcacert_device_loc_t
-
int atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20])
Calculates the key ID for a given public ECC P256 key.
Definition: atcacert_def.c:1607
-
int atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
Gets an element from a certificate.
Definition: atcacert_def.c:1571
-
uint16_t count
Byte count. Set to 0 if it doesn&#39;t exist.
Definition: atcacert_def.h:130
-
Declarations for date handling with regard to certificates.
-
uint8_t slot
Slot within the data zone. Only applies if zone is DEVZONE_DATA.
Definition: atcacert_def.h:118
-
void atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72])
Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices...
Definition: atcacert_def.c:1622
-
atcacert_cert_loc_t cert_loc
Location in the certificate template for the element.
Definition: atcacert_def.h:140
-
enum atcacert_device_zone_e atcacert_device_zone_t
-
int atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
Gets the signature from a certificate.
Definition: atcacert_def.c:743
-
Definition: atcacert_def.h:99
-
size_t * cert_size
Current size of the certificate in bytes.
Definition: atcacert_def.h:178
-
Depreciated, don&#39;t use. Cert serial number is the SHA256(Subject public key + Encoded dates)...
Definition: atcacert_def.h:75
-
atcacert_date_format_t issue_date_format
Format of the issue date in the certificate.
Definition: atcacert_def.h:157
-
atcacert_cert_type_e
Definition: atcacert_def.h:58
-
int atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
Definition: atcacert_def.c:488
-
Definition: atcacert_def.h:136
-
Definition: atcacert_def.h:102
-
int atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format spec...
Definition: atcacert_def.c:848
-
int atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
Sets the signature, issue date, expire date, and signer ID found in the compressed certificate...
Definition: atcacert_def.c:1338
-
int atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
Gets the issue date from a certificate. Will be parsed according to the date format specified in the ...
Definition: atcacert_def.c:808
-
Cert serial is stored on the device.
Definition: atcacert_def.h:69
-
Definition: atcacert_date.h:52
-
int atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format spec...
Definition: atcacert_def.c:774
-
Cert serial number is 0x40(MSB) + 9-byte device serial number. Only applies to device certificates...
Definition: atcacert_def.h:71
-
enum atcacert_date_format_e atcacert_date_format_t
-
uint16_t offset
Byte offset in the zone.
Definition: atcacert_def.h:120
-
atcacert_std_cert_element_e
Definition: atcacert_def.h:95
-
int atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. ...
Definition: atcacert_def.c:1004
-
atcacert_cert_loc_t std_cert_elements[STDCERT_NUM_ELEMENTS]
Where in the certificate template the standard cert elements are inserted.
Definition: atcacert_def.h:163
-
Depreciated, don&#39;t use. Cert serial number is the SHA256(Device SN + Encoded dates). Only applies to device certificates.
Definition: atcacert_def.h:78
-
int atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
Process information read from the ATECC device. If it contains information for the certificate...
Definition: atcacert_def.c:336
-
atcacert_device_loc_t device_loc
Location in the device for the element.
Definition: atcacert_def.h:139
-
struct atcacert_cert_element_s atcacert_cert_element_t
-
int atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
Add all the device locations required to rebuild the specified certificate (cert_def) to a device loc...
Definition: atcacert_def.c:119
-
Configuration zone.
Definition: atcacert_def.h:86
-
uint8_t template_id
ID for the this certificate definition (4-bit value).
Definition: atcacert_def.h:152
-
Definition: atcacert_def.h:127
-
int atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
Generate the compressed certificate for the given certificate.
Definition: atcacert_def.c:1414
-
const atcacert_def_t * cert_def
Certificate definition for the certificate being rebuilt.
Definition: atcacert_def.h:176
-
Special value used to indicate there is no device location.
Definition: atcacert_def.h:89
-
Standard X509 certificate.
Definition: atcacert_def.h:60
-
atcacert_cert_type_t type
Certificate type.
Definition: atcacert_def.h:151
-
int atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
Sets the authority key ID in a certificate.
Definition: atcacert_def.c:1304
-
int atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
Get the SHA256 digest of certificate&#39;s TBS data.
Definition: atcacert_def.c:1497
-
int atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
Gets the expire date from a certificate. Will be parsed according to the date format specified in the...
Definition: atcacert_def.c:882
-
int atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
Merge a new device location into a list of device locations. If the new location overlaps with an exi...
Definition: atcacert_def.c:38
-
int atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
Get a pointer to the TBS data in a certificate.
Definition: atcacert_def.c:1471
-
uint16_t count
Byte count.
Definition: atcacert_def.h:121
-
struct atcacert_cert_loc_s atcacert_cert_loc_t
-
int atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
Sets an element in a certificate. The data_size must match the size in cert_loc.
Definition: atcacert_def.c:1526
-
atcacert_cert_sn_src_e
Definition: atcacert_def.h:67
-
int atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
Sets the certificate serial number in a certificate.
Definition: atcacert_def.c:1038
-
atcacert_device_zone_t zone
Zone in the device.
Definition: atcacert_def.h:117
-
atcacert_date_format_t expire_date_format
format of the expire date in the certificate.
Definition: atcacert_def.h:158
-
uint8_t is_genkey
If true, use GenKey command to get the contents instead of Read.
Definition: atcacert_def.h:119
-
Cert serial number is the SHA256(Subject public key + Encoded dates), with uppermost 2 bits set to 01...
Definition: atcacert_def.h:73
-
int atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ...
Definition: atcacert_def.c:1276
-
atcacert_cert_sn_src_t sn_source
Where the certificate serial number comes from (4-bit value).
Definition: atcacert_def.h:155
-
uint8_t chain_id
ID for the certificate chain this definition is a part of (4-bit value).
Definition: atcacert_def.h:153
-
Special item to give the number of elements in this enum.
Definition: atcacert_def.h:105
-
Declarations common to all atcacert code.
-
atcacert_cert_loc_t tbs_cert_loc
Location in the certificate for the TBS (to be signed) portion.
Definition: atcacert_def.h:159
-
Definition: atcacert_def.h:101
-
uint8_t cert_elements_count
Number of additional certificate elements in cert_elements.
Definition: atcacert_def.h:165
-
Definition: atcacert_def.h:103
-
uint16_t offset
Byte offset in the certificate template.
Definition: atcacert_def.h:129
-
int atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
Gets the authority key ID from a certificate.
Definition: atcacert_def.c:1325
-
atcacert_device_loc_t public_key_dev_loc
Where on the device the public key can be found.
Definition: atcacert_def.h:161
-
int atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
Gets the dynamic data that would be saved to the specified device location. This function is primaril...
Definition: atcacert_def.c:519
-
int atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
Gets the subject public key from a certificate.
Definition: atcacert_def.c:646
-
size_t max_cert_size
Max size of the cert buffer in bytes.
Definition: atcacert_def.h:179
-
atcacert_device_loc_t cert_sn_dev_loc
Only applies when sn_source is SNSRC_STORED or SNSRC_STORED_DYNAMIC. Describes where to get the certi...
Definition: atcacert_def.h:156
-
int atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
Starts the certificate rebuilding process.
Definition: atcacert_def.c:270
-
Cert serial number is the SHA256(Device SN + Encoded dates), with uppermost 2 bits set to 01...
Definition: atcacert_def.h:74
-
atcacert_device_loc_t comp_cert_dev_loc
Where on the device the compressed cert can be found.
Definition: atcacert_def.h:162
-
enum atcacert_std_cert_element_e atcacert_std_cert_element_t
+Go to the documentation of this file.
1 
28 #ifndef ATCACERT_DATE_H
29 #define ATCACERT_DATE_H
30 
31 #include <stddef.h>
32 #include "atcacert.h"
33 
34 
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
52 typedef struct atcacert_tm_utc_s
53 {
54  int tm_sec; // 0 to 59
55  int tm_min; // 0 to 59
56  int tm_hour; // 0 to 23
57  int tm_mday; // 1 to 31
58  int tm_mon; // 0 to 11
59  int tm_year; // years since 1900
61 
66 {
73 
74 #define DATEFMT_ISO8601_SEP_SIZE (20)
75 #define DATEFMT_RFC5280_UTC_SIZE (13)
76 #define DATEFMT_POSIX_UINT32_BE_SIZE (4)
77 #define DATEFMT_POSIX_UINT32_LE_SIZE (4)
78 #define DATEFMT_RFC5280_GEN_SIZE (15)
79 #define DATEFMT_MAX_SIZE DATEFMT_ISO8601_SEP_SIZE
80 #define ATCACERT_DATE_FORMAT_SIZES_COUNT 5
81 
83 
96  const atcacert_tm_utc_t* timestamp,
97  uint8_t* formatted_date,
98  size_t* formatted_date_size);
99 
111  const uint8_t* formatted_date,
112  size_t formatted_date_size,
113  atcacert_tm_utc_t* timestamp);
114 
126 int atcacert_date_enc_compcert(const atcacert_tm_utc_t * issue_date,
127  uint8_t expire_years,
128  uint8_t enc_dates[3]);
129 
143 int atcacert_date_dec_compcert(const uint8_t enc_dates[3],
144  atcacert_date_format_t expire_date_format,
145  atcacert_tm_utc_t* issue_date,
146  atcacert_tm_utc_t* expire_date);
147 
157 
159  uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]);
160 
161 int atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE],
162  atcacert_tm_utc_t* timestamp);
163 
165  uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]);
166 
167 int atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE],
168  atcacert_tm_utc_t* timestamp);
169 
171  uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]);
172 
173 int atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE],
174  atcacert_tm_utc_t* timestamp);
175 
177  uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]);
178 
179 int atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE],
180  atcacert_tm_utc_t* timestamp);
181 
183  uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]);
184 
185 int atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE],
186  atcacert_tm_utc_t* timestamp);
187 
188 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif
int tm_min
Definition: atcacert_date.h:55
+
int atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:312
+
POSIX (aka UNIX) date format. Seconds since Jan 1, 1970. 32 bit unsigned integer, big endian...
Definition: atcacert_date.h:69
+
int atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
Definition: atcacert_date.c:947
+
int atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:464
+
POSIX (aka UNIX) date format. Seconds since Jan 1, 1970. 32 bit unsigned integer, little endian...
Definition: atcacert_date.h:70
+
int atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
Encode the issue and expire dates in the format used by the compressed certificate.
Definition: atcacert_date.c:991
+
int tm_year
Definition: atcacert_date.h:59
+
RFC 5280 (X.509) 4.1.2.5.2 GeneralizedTime format YYYYMMDDhhmmssZ.
Definition: atcacert_date.h:71
+
Definition: atcacert_date.h:52
+
int atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:972
+
int atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
Decode the issue and expire dates from the format used by the compressed certificate.
Definition: atcacert_date.c:1047
+
int atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
Return the maximum date available for the given format.
Definition: atcacert_date.c:102
+
int atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
Definition: atcacert_date.c:873
+
int tm_sec
Definition: atcacert_date.h:54
+
int tm_hour
Definition: atcacert_date.h:56
+
int atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
Definition: atcacert_date.c:402
+
int tm_mon
Definition: atcacert_date.h:58
+
#define DATEFMT_POSIX_UINT32_BE_SIZE
Definition: atcacert_date.h:76
+
atcacert_date_format_e
Definition: atcacert_date.h:65
+
#define DATEFMT_RFC5280_GEN_SIZE
Definition: atcacert_date.h:78
+
int tm_mday
Definition: atcacert_date.h:57
+
#define DATEFMT_RFC5280_UTC_SIZE
Definition: atcacert_date.h:75
+
int atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
Definition: atcacert_date.c:537
+
#define ATCACERT_DATE_FORMAT_SIZES_COUNT
Definition: atcacert_date.h:80
+
int atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:591
+
#define DATEFMT_POSIX_UINT32_LE_SIZE
Definition: atcacert_date.h:77
+
int atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
Format a timestamp according to the format type.
Definition: atcacert_date.c:40
+
int atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
Parse a formatted timestamp according to the specified format.
Definition: atcacert_date.c:74
+
RFC 5280 (X.509) 4.1.2.5.1 UTCTime format YYMMDDhhmmssZ.
Definition: atcacert_date.h:68
+
int atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
Definition: atcacert_date.c:248
+
Declarations common to all atcacert code.
+
ISO8601 full date YYYY-MM-DDThh:mm:ssZ.
Definition: atcacert_date.h:67
+
const size_t ATCACERT_DATE_FORMAT_SIZES[ATCACERT_DATE_FORMAT_SIZES_COUNT]
Definition: atcacert_date.c:32
+
int atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
Definition: atcacert_date.c:928
+
struct atcacert_tm_utc_s atcacert_tm_utc_t
+
#define DATEFMT_ISO8601_SEP_SIZE
Definition: atcacert_date.h:74
+
enum atcacert_date_format_e atcacert_date_format_t
-

functions required to work with DER encoded data related to X.509 certificates. +

Main certificate definition implementation. More...

-
#include "atcacert_der.h"
+
#include "atcacert_def.h"
+#include "crypto/atca_crypto_sw_sha1.h"
+#include "crypto/atca_crypto_sw_sha2.h"
+#include "atcacert_der.h"
+#include "atcacert_date.h"
#include <string.h>
+ + + + + +

+Macros

#define ATCACERT_MIN(x, y)   ((x) < (y) ? (x) : (y))
 
#define ATCACERT_MAX(x, y)   ((x) >= (y) ? (x) : (y))
 
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
 Encode a length in DER format. More...
 
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
 Decode a DER format length. More...
 
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
 
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
 Encode an ASN.1 integer in DER format, including tag and length fields. More...
 
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
 Decode an ASN.1 DER encoded integer. More...
 
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
 Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates. More...
 
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
 Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates. More...
 
int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
 Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list. More...
 
int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
 Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list. More...
 
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
 Starts the certificate rebuilding process. More...
 
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
 Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate. More...
 
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
 Completes any final certificate processing required after all data from the device has been incorporated. More...
 
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
 
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
 Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device. More...
 
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
 Sets the subject public key and subject key ID in a certificate. More...
 
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
 Gets the subject public key from a certificate. More...
 
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
 Gets the subject key ID from a certificate. More...
 
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
 Sets the signature in a certificate. This may alter the size of the X.509 certificates. More...
 
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
 Gets the signature from a certificate. More...
 
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
 Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits. More...
 
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
 Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. More...
 
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
 Sets the certificate serial number in a certificate. More...
 
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
 Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the. More...
 
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
 Gets the certificate serial number from a certificate. More...
 
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
 Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it. More...
 
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
 Sets the authority key ID in a certificate. More...
 
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
 Gets the authority key ID from a certificate. More...
 
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
 Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match. More...
 
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
 Generate the compressed certificate for the given certificate. More...
 
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
 Get a pointer to the TBS data in a certificate. More...
 
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
 Get the SHA256 digest of certificate's TBS data. More...
 
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
 Sets an element in a certificate. The data_size must match the size in cert_loc. More...
 
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
 Gets an element from a certificate. More...
 
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
 Calculates the key ID for a given public ECC P256 key. More...
 
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
 Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform. More...
 
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
 Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform. More...
 

Detailed Description

-

functions required to work with DER encoded data related to X.509 certificates.

+

Main certificate definition implementation.

-
+

Macro Definition Documentation

+ +

◆ ATCACERT_MAX

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ATCACERT_MAX( x,
 
)   ((x) >= (y) ? (x) : (y))
+
+ +
+
+ +

◆ ATCACERT_MIN

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ATCACERT_MIN( x,
 
)   ((x) < (y) ? (x) : (y))
+
+ +
+
+
-

function declarations required to work with DER encoded data related to X.509 certificates. +

Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices. More...

#include <stddef.h>
#include <stdint.h>
-#include "atcacert.h"
+#include "atcacert.h"
+#include "atcacert_date.h"

Go to the source code of this file.

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

+Data Structures

struct  atcacert_device_loc_s
 
struct  atcacert_cert_loc_s
 
struct  atcacert_cert_element_s
 
struct  atcacert_def_s
 
struct  atcacert_build_state_s
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum atcacert_cert_type_e atcacert_cert_type_t
 
typedef enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
 
typedef enum atcacert_device_zone_e atcacert_device_zone_t
 
typedef enum atcacert_std_cert_element_e atcacert_std_cert_element_t
 
typedef struct atcacert_device_loc_s atcacert_device_loc_t
 
typedef struct atcacert_cert_loc_s atcacert_cert_loc_t
 
typedef struct atcacert_cert_element_s atcacert_cert_element_t
 
typedef struct atcacert_def_s atcacert_def_t
 
typedef struct atcacert_build_state_s atcacert_build_state_t
 
+ + + + + + + + + +

+Enumerations

enum  atcacert_cert_type_e { CERTTYPE_X509, +CERTTYPE_CUSTOM + }
 
enum  atcacert_cert_sn_src_e {
+  SNSRC_STORED = 0x0, +SNSRC_STORED_DYNAMIC = 0x7, +SNSRC_DEVICE_SN = 0x8, +SNSRC_SIGNER_ID = 0x9, +
+  SNSRC_PUB_KEY_HASH = 0xA, +SNSRC_DEVICE_SN_HASH = 0xB, +SNSRC_PUB_KEY_HASH_POS = 0xC, +SNSRC_DEVICE_SN_HASH_POS = 0xD, +
+  SNSRC_PUB_KEY_HASH_RAW = 0xE, +SNSRC_DEVICE_SN_HASH_RAW = 0xF +
+ }
 
enum  atcacert_device_zone_e { DEVZONE_CONFIG = 0x00, +DEVZONE_OTP = 0x01, +DEVZONE_DATA = 0x02, +DEVZONE_NONE = 0x07 + }
 
enum  atcacert_std_cert_element_e {
+  STDCERT_PUBLIC_KEY, +STDCERT_SIGNATURE, +STDCERT_ISSUE_DATE, +STDCERT_EXPIRE_DATE, +
+  STDCERT_SIGNER_ID, +STDCERT_CERT_SN, +STDCERT_AUTH_KEY_ID, +STDCERT_SUBJ_KEY_ID, +
+  STDCERT_NUM_ELEMENTS +
+ }
 
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
 Encode a length in DER format. More...
 
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
 Decode a DER format length. More...
 
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
 
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
 Encode an ASN.1 integer in DER format, including tag and length fields. More...
 
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
 Decode an ASN.1 DER encoded integer. More...
 
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
 Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates. More...
 
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
 Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates. More...
 
int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
 Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list. More...
 
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
 Starts the certificate rebuilding process. More...
 
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
 Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate. More...
 
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
 Completes any final certificate processing required after all data from the device has been incorporated. More...
 
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
 Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device. More...
 
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
 Sets the subject public key and subject key ID in a certificate. More...
 
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
 Gets the subject public key from a certificate. More...
 
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
 Gets the subject key ID from a certificate. More...
 
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
 Sets the signature in a certificate. This may alter the size of the X.509 certificates. More...
 
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
 Gets the signature from a certificate. More...
 
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
 Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits. More...
 
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
 Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. More...
 
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
 Sets the certificate serial number in a certificate. More...
 
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
 Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the. More...
 
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
 Gets the certificate serial number from a certificate. More...
 
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
 Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it. More...
 
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
 Sets the authority key ID in a certificate. More...
 
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
 Gets the authority key ID from a certificate. More...
 
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
 Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match. More...
 
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
 Generate the compressed certificate for the given certificate. More...
 
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
 Get a pointer to the TBS data in a certificate. More...
 
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
 Get the SHA256 digest of certificate's TBS data. More...
 
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
 Sets an element in a certificate. The data_size must match the size in cert_loc. More...
 
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
 Gets an element from a certificate. More...
 
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
 Calculates the key ID for a given public ECC P256 key. More...
 
int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
 Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list. More...
 
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
 
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
 Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform. More...
 
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
 Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform. More...
 

Detailed Description

-

function declarations required to work with DER encoded data related to X.509 certificates.

+

Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices.

+

Only the dynamic elements of a certificate (the parts of the certificate that change from device to device) are stored on the ATECC device. The definitions here describe the form of the certificate, and where the dynamic elements can be found both on the ATECC device itself and in the certificate template.

+

This also defines utility functions for working with the certificates and their definitions.

-Go to the documentation of this file.
1 
29 #ifndef ATCACERT_DER_H
30 #define ATCACERT_DER_H
31 
32 #include <stddef.h>
33 #include <stdint.h>
34 #include "atcacert.h"
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
61 int atcacert_der_enc_length(uint32_t length, uint8_t* der_length, size_t* der_length_size);
62 
75 int atcacert_der_dec_length(const uint8_t* der_length, size_t* der_length_size, uint32_t* length);
76 
77 int atcacert_der_adjust_length(uint8_t* der_length, size_t* der_length_size, int delta_length, uint32_t* new_length);
78 
94 int atcacert_der_enc_integer(const uint8_t* int_data,
95  size_t int_data_size,
96  uint8_t is_unsigned,
97  uint8_t* der_int,
98  size_t* der_int_size);
99 
116 int atcacert_der_dec_integer(const uint8_t* der_int,
117  size_t* der_int_size,
118  uint8_t* int_data,
119  size_t* int_data_size);
120 
137 int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64],
138  uint8_t* der_sig,
139  size_t* der_sig_size);
140 
156 int atcacert_der_dec_ecdsa_sig_value(const uint8_t * der_sig,
157  size_t * der_sig_size,
158  uint8_t raw_sig[64]);
159 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif
int atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates.
Definition: atcacert_der.c:381
-
int atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size)
Encode a length in DER format.
Definition: atcacert_der.c:32
-
int atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
Decode an ASN.1 DER encoded integer.
Definition: atcacert_der.c:250
-
int atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
Encode an ASN.1 integer in DER format, including tag and length fields.
Definition: atcacert_der.c:183
-
int atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
Decode a DER format length.
Definition: atcacert_der.c:88
-
Declarations common to all atcacert code.
-
int atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
Definition: atcacert_der.c:141
-
int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates.
Definition: atcacert_der.c:311
+Go to the documentation of this file.
1 
39 #ifndef ATCACERT_DEF_H
40 #define ATCACERT_DEF_H
41 
42 #include <stddef.h>
43 #include <stdint.h>
44 #include "atcacert.h"
45 #include "atcacert_date.h"
46 
59 {
63 
68 {
69  SNSRC_STORED = 0x0,
80 
85 {
86  DEVZONE_CONFIG = 0x00,
87  DEVZONE_OTP = 0x01,
88  DEVZONE_DATA = 0x02,
89  DEVZONE_NONE = 0x07
91 
96 {
107 
108 // Some of these structures may need to be byte-accurate
109 
110 #pragma pack(push, 1)
111 
115 typedef struct atcacert_device_loc_s
116 {
118  uint8_t slot;
119  uint8_t is_genkey;
120  uint16_t offset;
121  uint16_t count;
123 
127 typedef struct atcacert_cert_loc_s
128 {
129  uint16_t offset;
130  uint16_t count;
132 
137 {
138  char id[16];
142 
149 typedef struct atcacert_def_s
150 {
152  uint8_t template_id;
153  uint8_t chain_id;
160  uint8_t expire_years;
166  const uint8_t* cert_template;
168  const struct atcacert_def_s* ca_cert_def;
170 
175 {
177  uint8_t* cert;
178  size_t* cert_size;
179  size_t max_cert_size;
180  uint8_t is_device_sn;
181  uint8_t device_sn[9];
183 
184 #pragma pack(pop)
185 
186 // Inform function naming when compiling in C++
187 #ifdef __cplusplus
188 extern "C" {
189 #endif
190 
210 int atcacert_get_device_locs(const atcacert_def_t* cert_def,
211  atcacert_device_loc_t* device_locs,
212  size_t* device_locs_count,
213  size_t device_locs_max_count,
214  size_t block_size);
215 
234  const atcacert_def_t* cert_def,
235  uint8_t* cert,
236  size_t* cert_size,
237  const uint8_t ca_public_key[64]);
238 
252  const atcacert_device_loc_t* device_loc,
253  const uint8_t* device_data);
254 
268 
286 int atcacert_get_device_data(const atcacert_def_t* cert_def,
287  const uint8_t* cert,
288  size_t cert_size,
289  const atcacert_device_loc_t* device_loc,
290  uint8_t* device_data);
291 
302 int atcacert_set_subj_public_key(const atcacert_def_t* cert_def,
303  uint8_t* cert,
304  size_t cert_size,
305  const uint8_t subj_public_key[64]);
306 
318 int atcacert_get_subj_public_key(const atcacert_def_t * cert_def,
319  const uint8_t * cert,
320  size_t cert_size,
321  uint8_t subj_public_key[64]);
322 
333 int atcacert_get_subj_key_id(const atcacert_def_t * cert_def,
334  const uint8_t * cert,
335  size_t cert_size,
336  uint8_t subj_key_id[20]);
337 
350 int atcacert_set_signature(const atcacert_def_t* cert_def,
351  uint8_t* cert,
352  size_t* cert_size,
353  size_t max_cert_size,
354  const uint8_t signature[64]);
355 
367 int atcacert_get_signature(const atcacert_def_t * cert_def,
368  const uint8_t * cert,
369  size_t cert_size,
370  uint8_t signature[64]);
371 
383 int atcacert_set_issue_date(const atcacert_def_t* cert_def,
384  uint8_t* cert,
385  size_t cert_size,
386  const atcacert_tm_utc_t* timestamp);
387 
399 int atcacert_get_issue_date(const atcacert_def_t* cert_def,
400  const uint8_t* cert,
401  size_t cert_size,
402  atcacert_tm_utc_t* timestamp);
403 
415 int atcacert_set_expire_date(const atcacert_def_t* cert_def,
416  uint8_t* cert,
417  size_t cert_size,
418  const atcacert_tm_utc_t* timestamp);
419 
431 int atcacert_get_expire_date(const atcacert_def_t* cert_def,
432  const uint8_t* cert,
433  size_t cert_size,
434  atcacert_tm_utc_t* timestamp);
435 
446 int atcacert_set_signer_id(const atcacert_def_t* cert_def,
447  uint8_t* cert,
448  size_t cert_size,
449  const uint8_t signer_id[2]);
450 
461 int atcacert_get_signer_id(const atcacert_def_t * cert_def,
462  const uint8_t * cert,
463  size_t cert_size,
464  uint8_t signer_id[2]);
465 
478 int atcacert_set_cert_sn(const atcacert_def_t* cert_def,
479  uint8_t* cert,
480  size_t* cert_size,
481  size_t max_cert_size,
482  const uint8_t* cert_sn,
483  size_t cert_sn_size);
484 
502 int atcacert_gen_cert_sn(const atcacert_def_t* cert_def,
503  uint8_t* cert,
504  size_t cert_size,
505  const uint8_t device_sn[9]);
506 
519 int atcacert_get_cert_sn(const atcacert_def_t* cert_def,
520  const uint8_t* cert,
521  size_t cert_size,
522  uint8_t* cert_sn,
523  size_t* cert_sn_size);
524 
537 int atcacert_set_auth_key_id(const atcacert_def_t* cert_def,
538  uint8_t* cert,
539  size_t cert_size,
540  const uint8_t auth_public_key[64]);
541 
552 int atcacert_set_auth_key_id_raw(const atcacert_def_t* cert_def,
553  uint8_t* cert,
554  size_t cert_size,
555  const uint8_t* auth_key_id);
556 
567 int atcacert_get_auth_key_id(const atcacert_def_t * cert_def,
568  const uint8_t * cert,
569  size_t cert_size,
570  uint8_t auth_key_id[20]);
571 
587 int atcacert_set_comp_cert(const atcacert_def_t* cert_def,
588  uint8_t* cert,
589  size_t* cert_size,
590  size_t max_cert_size,
591  const uint8_t comp_cert[72]);
592 
603 int atcacert_get_comp_cert(const atcacert_def_t * cert_def,
604  const uint8_t * cert,
605  size_t cert_size,
606  uint8_t comp_cert[72]);
607 
619 int atcacert_get_tbs(const atcacert_def_t* cert_def,
620  const uint8_t* cert,
621  size_t cert_size,
622  const uint8_t** tbs,
623  size_t* tbs_size);
624 
635 int atcacert_get_tbs_digest(const atcacert_def_t * cert_def,
636  const uint8_t * cert,
637  size_t cert_size,
638  uint8_t tbs_digest[32]);
639 
653 int atcacert_set_cert_element(const atcacert_def_t* cert_def,
654  const atcacert_cert_loc_t* cert_loc,
655  uint8_t* cert,
656  size_t cert_size,
657  const uint8_t* data,
658  size_t data_size);
659 
673 int atcacert_get_cert_element(const atcacert_def_t* cert_def,
674  const atcacert_cert_loc_t* cert_loc,
675  const uint8_t* cert,
676  size_t cert_size,
677  uint8_t* data,
678  size_t data_size);
679 
680 
681 // Below are utility functions for dealing with various bits for data conversion and wrangling
682 
697 int atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]);
698 
722  size_t* device_locs_count,
723  size_t device_locs_max_count,
724  const atcacert_device_loc_t* device_loc,
725  size_t block_size);
726 
728  const atcacert_device_loc_t* device_loc2);
729 
741 void atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]);
742 
753 void atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]);
754 
756 #ifdef __cplusplus
757 }
758 #endif
759 
760 #endif
761 
struct atcacert_def_s atcacert_def_t
+
uint8_t expire_years
Number of years the certificate is valid for (5-bit value). 0 means no expiration.
Definition: atcacert_def.h:160
+
atcacert_cert_sn_src_e
Definition: atcacert_def.h:67
+
Depreciated, don&#39;t use. Cert serial number is the SHA256(Device SN + Encoded dates). Only applies to device certificates.
Definition: atcacert_def.h:78
+
int atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
Gets the subject public key from a certificate.
Definition: atcacert_def.c:646
+
atcacert_device_loc_t cert_sn_dev_loc
Only applies when sn_source is SNSRC_STORED or SNSRC_STORED_DYNAMIC. Describes where to get the certi...
Definition: atcacert_def.h:156
+
int atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format spec...
Definition: atcacert_def.c:774
+
Definition: atcacert_def.h:102
+
int atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
Sets the certificate serial number by generating it from other information in the certificate using t...
Definition: atcacert_def.c:1118
+
Depreciated, don&#39;t use. Cert serial number is the SHA256(Subject public key + Encoded dates)...
Definition: atcacert_def.h:77
+
int atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
Starts the certificate rebuilding process.
Definition: atcacert_def.c:270
+
Definition: atcacert_def.h:103
+
enum atcacert_std_cert_element_e atcacert_std_cert_element_t
+
Cert serial number is 0x40(MSB) + 2-byte signer ID. Only applies to signer certificates.
Definition: atcacert_def.h:72
+
int atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
Gets the expire date from a certificate. Will be parsed according to the date format specified in the...
Definition: atcacert_def.c:882
+
int atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
Add all the device locations required to rebuild the specified certificate (cert_def) to a device loc...
Definition: atcacert_def.c:119
+
int atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
Sets an element in a certificate. The data_size must match the size in cert_loc.
Definition: atcacert_def.c:1526
+
const atcacert_cert_element_t * cert_elements
Additional certificate elements outside of the standard certificate contents.
Definition: atcacert_def.h:164
+
int atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
Process information read from the ATECC device. If it contains information for the certificate...
Definition: atcacert_def.c:336
+
size_t * cert_size
Current size of the certificate in bytes.
Definition: atcacert_def.h:178
+
int atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
Merge a new device location into a list of device locations. If the new location overlaps with an exi...
Definition: atcacert_def.c:38
+
uint8_t * cert
Buffer to contain the rebuilt certificate.
Definition: atcacert_def.h:177
+
Special item to give the number of elements in this enum.
Definition: atcacert_def.h:105
+
Depreciated, don&#39;t use. Cert serial number is the SHA256(Device SN + Encoded dates), with MSBit set to 0 to ensure it&#39;s positive. Only applies to device certificates.
Definition: atcacert_def.h:76
+
struct atcacert_cert_element_s atcacert_cert_element_t
+
Definition: atcacert_def.h:104
+
uint8_t cert_elements_count
Number of additional certificate elements in cert_elements.
Definition: atcacert_def.h:165
+
Definition: atcacert_def.h:99
+
uint8_t template_id
ID for the this certificate definition (4-bit value).
Definition: atcacert_def.h:152
+
struct atcacert_cert_loc_s atcacert_cert_loc_t
+
Definition: atcacert_date.h:52
+
uint8_t device_sn[9]
Storage for the device SN, when it&#39;s found.
Definition: atcacert_def.h:181
+
Cert serial number is the SHA256(Subject public key + Encoded dates), with uppermost 2 bits set to 01...
Definition: atcacert_def.h:73
+
int atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
Gets the subject key ID from a certificate.
Definition: atcacert_def.c:659
+
const struct atcacert_def_s * ca_cert_def
Certificate definition of the CA certificate.
Definition: atcacert_def.h:168
+
atcacert_device_loc_t public_key_dev_loc
Where on the device the public key can be found.
Definition: atcacert_def.h:161
+
uint16_t offset
Byte offset in the zone.
Definition: atcacert_def.h:120
+
uint8_t chain_id
ID for the certificate chain this definition is a part of (4-bit value).
Definition: atcacert_def.h:153
+
Definition: atcacert_def.h:174
+
int atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. ...
Definition: atcacert_def.c:1004
+
atcacert_date_format_t expire_date_format
format of the expire date in the certificate.
Definition: atcacert_def.h:158
+
Definition: atcacert_def.h:127
+
Depreciated, don&#39;t use. Cert serial number is the SHA256(Subject public key + Encoded dates)...
Definition: atcacert_def.h:75
+
enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
+
int atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20])
Calculates the key ID for a given public ECC P256 key.
Definition: atcacert_def.c:1607
+
int atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
Gets the authority key ID from a certificate.
Definition: atcacert_def.c:1325
+
int atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
Generate the compressed certificate for the given certificate.
Definition: atcacert_def.c:1414
+
const atcacert_def_t * cert_def
Certificate definition for the certificate being rebuilt.
Definition: atcacert_def.h:176
+
int atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
Gets the dynamic data that would be saved to the specified device location. This function is primaril...
Definition: atcacert_def.c:519
+
Cert serial number is 0x40(MSB) + 9-byte device serial number. Only applies to device certificates...
Definition: atcacert_def.h:71
+
int atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
Gets an element from a certificate.
Definition: atcacert_def.c:1571
+
int atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
Sets the signature, issue date, expire date, and signer ID found in the compressed certificate...
Definition: atcacert_def.c:1338
+
const uint8_t * cert_template
Pointer to the actual certificate template data.
Definition: atcacert_def.h:166
+
int atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
Gets the issue date from a certificate. Will be parsed according to the date format specified in the ...
Definition: atcacert_def.c:808
+
One Time Programmable zone.
Definition: atcacert_def.h:87
+
uint16_t count
Byte count.
Definition: atcacert_def.h:121
+
Definition: atcacert_def.h:100
+
Custom format.
Definition: atcacert_def.h:61
+
atcacert_cert_loc_t std_cert_elements[STDCERT_NUM_ELEMENTS]
Where in the certificate template the standard cert elements are inserted.
Definition: atcacert_def.h:163
+
Definition: atcacert_def.h:98
+
int atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
Get the SHA256 digest of certificate&#39;s TBS data.
Definition: atcacert_def.c:1497
+
enum atcacert_device_zone_e atcacert_device_zone_t
+
atcacert_date_format_t issue_date_format
Format of the issue date in the certificate.
Definition: atcacert_def.h:157
+
int atcacert_cert_build_finish(atcacert_build_state_t *build_state)
Completes any final certificate processing required after all data from the device has been incorpora...
Definition: atcacert_def.c:464
+
Configuration zone.
Definition: atcacert_def.h:86
+
int atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format spec...
Definition: atcacert_def.c:848
+
int atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits.
Definition: atcacert_def.c:945
+
size_t max_cert_size
Max size of the cert buffer in bytes.
Definition: atcacert_def.h:179
+
atcacert_device_zone_e
Definition: atcacert_def.h:84
+
Cert serial number is the SHA256(Device SN + Encoded dates), with uppermost 2 bits set to 01...
Definition: atcacert_def.h:74
+
Declarations for date handling with regard to certificates.
+
struct atcacert_build_state_s atcacert_build_state_t
+
Cert serial is stored on the device.
Definition: atcacert_def.h:69
+
Definition: atcacert_def.h:149
+
atcacert_cert_loc_t cert_loc
Location in the certificate template for the element.
Definition: atcacert_def.h:140
+
int atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ...
Definition: atcacert_def.c:1276
+
void atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72])
Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices...
Definition: atcacert_def.c:1622
+
Declarations common to all atcacert code.
+
Definition: atcacert_def.h:115
+
int atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
Gets the signature from a certificate.
Definition: atcacert_def.c:743
+
int atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
Get a pointer to the TBS data in a certificate.
Definition: atcacert_def.c:1471
+
uint16_t offset
Byte offset in the certificate template.
Definition: atcacert_def.h:129
+
uint8_t slot
Slot within the data zone. Only applies if zone is DEVZONE_DATA.
Definition: atcacert_def.h:118
+
Definition: atcacert_def.h:97
+
Standard X509 certificate.
Definition: atcacert_def.h:60
+
uint16_t cert_template_size
Size of the certificate template in cert_template in bytes.
Definition: atcacert_def.h:167
+
uint16_t count
Byte count. Set to 0 if it doesn&#39;t exist.
Definition: atcacert_def.h:130
+
Definition: atcacert_def.h:136
+
uint8_t is_device_sn
Indicates the structure contains the device SN.
Definition: atcacert_def.h:180
+
Definition: atcacert_def.h:101
+
atcacert_device_zone_t zone
Zone in the device.
Definition: atcacert_def.h:117
+
struct atcacert_device_loc_s atcacert_device_loc_t
+
atcacert_device_loc_t comp_cert_dev_loc
Where on the device the compressed cert can be found.
Definition: atcacert_def.h:162
+
atcacert_cert_type_t type
Certificate type.
Definition: atcacert_def.h:151
+
int atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
Gets the certificate serial number from a certificate.
Definition: atcacert_def.c:1254
+
atcacert_device_loc_t device_loc
Location in the device for the element.
Definition: atcacert_def.h:139
+
uint8_t is_genkey
If true, use GenKey command to get the contents instead of Read.
Definition: atcacert_def.h:119
+
int atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
Sets the subject public key and subject key ID in a certificate.
Definition: atcacert_def.c:612
+
int atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
Sets the signature in a certificate. This may alter the size of the X.509 certificates.
Definition: atcacert_def.c:672
+
int atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
Sets the certificate serial number in a certificate.
Definition: atcacert_def.c:1038
+
Special value used to indicate there is no device location.
Definition: atcacert_def.h:89
+
Data zone (slots).
Definition: atcacert_def.h:88
+
atcacert_cert_type_e
Definition: atcacert_def.h:58
+
atcacert_std_cert_element_e
Definition: atcacert_def.h:95
+
void atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64])
Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key...
Definition: atcacert_def.c:1630
+
atcacert_cert_loc_t tbs_cert_loc
Location in the certificate for the TBS (to be signed) portion.
Definition: atcacert_def.h:159
+
Cert serial is stored on the device with the first byte being the DER size (X509 certs only)...
Definition: atcacert_def.h:70
+
enum atcacert_cert_type_e atcacert_cert_type_t
+
uint8_t private_key_slot
If this is a device certificate template, this is the device slot for the device private key...
Definition: atcacert_def.h:154
+
enum atcacert_date_format_e atcacert_date_format_t
+
atcacert_cert_sn_src_t sn_source
Where the certificate serial number comes from (4-bit value).
Definition: atcacert_def.h:155
+
int atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
Sets the authority key ID in a certificate.
Definition: atcacert_def.c:1304
+
int atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
Definition: atcacert_def.c:488
-

host side methods using CryptoAuth hardware +

functions required to work with DER encoded data related to X.509 certificates. More...

-
#include "atcacert_host_hw.h"
-#include "basic/atca_basic.h"
-#include "crypto/atca_crypto_sw_sha2.h"
+
#include "atcacert_der.h"
+#include <string.h>
- - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using the host's ATECC device for crypto functions. More...
 
int atcacert_gen_challenge_hw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using the RNG on the host's ATECC device. More...
 
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using the host's ATECC device for crypto functions. More...
 
int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
 Encode a length in DER format. More...
 
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
 Decode a DER format length. More...
 
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
 
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
 Encode an ASN.1 integer in DER format, including tag and length fields. More...
 
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
 Decode an ASN.1 DER encoded integer. More...
 
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
 Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates. More...
 
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
 Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates. More...
 

Detailed Description

-

host side methods using CryptoAuth hardware

+

functions required to work with DER encoded data related to X.509 certificates.

-

host side methods using CryptoAuth hardware +

function declarations required to work with DER encoded data related to X.509 certificates. More...

#include <stddef.h>
#include <stdint.h>
-#include "atcacert_def.h"
+#include "atcacert.h"

Go to the source code of this file.

- - - - - - - - - + + + + + + + + + + + + + + + + + + + +

Functions

int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using the host's ATECC device for crypto functions. More...
 
int atcacert_gen_challenge_hw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using the RNG on the host's ATECC device. More...
 
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using the host's ATECC device for crypto functions. More...
 
int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
 Encode a length in DER format. More...
 
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
 Decode a DER format length. More...
 
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
 
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
 Encode an ASN.1 integer in DER format, including tag and length fields. More...
 
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
 Decode an ASN.1 DER encoded integer. More...
 
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
 Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates. More...
 
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
 Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates. More...
 

Detailed Description

-

host side methods using CryptoAuth hardware

+

function declarations required to work with DER encoded data related to X.509 certificates.

-Go to the documentation of this file.
1 
27 #ifndef ATCACERT_HOST_HA_H
28 #define ATCACERT_HOST_HA_H
29 
30 #include <stddef.h>
31 #include <stdint.h>
32 #include "atcacert_def.h"
33 
34 // Inform function naming when compiling in C++
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
63 int atcacert_verify_cert_hw(const atcacert_def_t* cert_def,
64  const uint8_t* cert,
65  size_t cert_size,
66  const uint8_t ca_public_key[64]);
67 
68 
77 int atcacert_gen_challenge_hw(uint8_t challenge[32]);
78 
79 
97 int atcacert_verify_response_hw(const uint8_t device_public_key[64],
98  const uint8_t challenge[32],
99  const uint8_t response[64]);
100 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif
Definition: atcacert_def.h:149
-
int atcacert_gen_challenge_hw(uint8_t challenge[32])
Generate a random challenge to be sent to the client using the RNG on the host&#39;s ATECC device...
Definition: atcacert_host_hw.c:75
-
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
-
int atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
Verify a client&#39;s response to a challenge using the host&#39;s ATECC device for crypto functions...
Definition: atcacert_host_hw.c:86
-
int atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
Verify a certificate against its certificate authority&#39;s public key using the host&#39;s ATECC device for...
Definition: atcacert_host_hw.c:36
+Go to the documentation of this file.
1 
29 #ifndef ATCACERT_DER_H
30 #define ATCACERT_DER_H
31 
32 #include <stddef.h>
33 #include <stdint.h>
34 #include "atcacert.h"
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
61 int atcacert_der_enc_length(uint32_t length, uint8_t* der_length, size_t* der_length_size);
62 
75 int atcacert_der_dec_length(const uint8_t* der_length, size_t* der_length_size, uint32_t* length);
76 
77 int atcacert_der_adjust_length(uint8_t* der_length, size_t* der_length_size, int delta_length, uint32_t* new_length);
78 
94 int atcacert_der_enc_integer(const uint8_t* int_data,
95  size_t int_data_size,
96  uint8_t is_unsigned,
97  uint8_t* der_int,
98  size_t* der_int_size);
99 
116 int atcacert_der_dec_integer(const uint8_t* der_int,
117  size_t* der_int_size,
118  uint8_t* int_data,
119  size_t* int_data_size);
120 
137 int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64],
138  uint8_t* der_sig,
139  size_t* der_sig_size);
140 
156 int atcacert_der_dec_ecdsa_sig_value(const uint8_t * der_sig,
157  size_t * der_sig_size,
158  uint8_t raw_sig[64]);
159 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif
int atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
Decode an ASN.1 DER encoded integer.
Definition: atcacert_der.c:250
+
int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates.
Definition: atcacert_der.c:311
+
int atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
Decode a DER format length.
Definition: atcacert_der.c:88
+
int atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
Definition: atcacert_der.c:141
+
int atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates.
Definition: atcacert_der.c:381
+
Declarations common to all atcacert code.
+
int atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size)
Encode a length in DER format.
Definition: atcacert_der.c:32
+
int atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
Encode an ASN.1 integer in DER format, including tag and length fields.
Definition: atcacert_der.c:183
-

host side methods using software implementations +

host side methods using CryptoAuth hardware More...

-
#include "atcacert_host_sw.h"
-#include "crypto/atca_crypto_sw_sha2.h"
-#include "crypto/atca_crypto_sw_ecdsa.h"
-#include "crypto/atca_crypto_sw_rand.h"
+ - - - - - - - - - + + + + + + + + +

Functions

int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using software crypto functions.The function is currently not implemented. More...
 
int atcacert_gen_challenge_sw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using a software PRNG.The function is currently not implemented. More...
 
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using software crypto functions.The function is currently not implemented. More...
 
int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using the host's ATECC device for crypto functions. More...
 
int atcacert_gen_challenge_hw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using the RNG on the host's ATECC device. More...
 
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using the host's ATECC device for crypto functions. More...
 

Detailed Description

-

host side methods using software implementations

+

host side methods using CryptoAuth hardware

-

Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library. +

host side methods using CryptoAuth hardware More...

#include <stddef.h>
#include <stdint.h>
-#include "atcacert_def.h"
+#include "atcacert_def.h"

Go to the source code of this file.

- - - - - - - - - + + + + + + + + +

Functions

int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using software crypto functions.The function is currently not implemented. More...
 
int atcacert_gen_challenge_sw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using a software PRNG.The function is currently not implemented. More...
 
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using software crypto functions.The function is currently not implemented. More...
 
int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using the host's ATECC device for crypto functions. More...
 
int atcacert_gen_challenge_hw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using the RNG on the host's ATECC device. More...
 
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using the host's ATECC device for crypto functions. More...
 

Detailed Description

-

Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library.

+

host side methods using CryptoAuth hardware

-Go to the documentation of this file.
1 
29 #ifndef ATCACERT_HOST_SOFT_H
30 #define ATCACERT_HOST_SOFT_H
31 
32 #include <stddef.h>
33 #include <stdint.h>
34 #include "atcacert_def.h"
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 
64 int atcacert_verify_cert_sw(const atcacert_def_t* cert_def,
65  const uint8_t* cert,
66  size_t cert_size,
67  const uint8_t ca_public_key[64]);
68 
69 
70 
78 int atcacert_gen_challenge_sw(uint8_t challenge[32]);
79 
80 
81 
82 
97 int atcacert_verify_response_sw(const uint8_t device_public_key[64],
98  const uint8_t challenge[32],
99  const uint8_t response[64]);
100 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif
Definition: atcacert_def.h:149
-
int atcacert_gen_challenge_sw(uint8_t challenge[32])
Generate a random challenge to be sent to the client using a software PRNG.The function is currently ...
Definition: atcacert_host_sw.c:75
-
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
-
int atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
Verify a certificate against its certificate authority&#39;s public key using software crypto functions...
Definition: atcacert_host_sw.c:38
-
int atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
Verify a client&#39;s response to a challenge using software crypto functions.The function is currently n...
Definition: atcacert_host_sw.c:87
+Go to the documentation of this file.
1 
27 #ifndef ATCACERT_HOST_HA_H
28 #define ATCACERT_HOST_HA_H
29 
30 #include <stddef.h>
31 #include <stdint.h>
32 #include "atcacert_def.h"
33 
34 // Inform function naming when compiling in C++
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
63 int atcacert_verify_cert_hw(const atcacert_def_t* cert_def,
64  const uint8_t* cert,
65  size_t cert_size,
66  const uint8_t ca_public_key[64]);
67 
68 
77 int atcacert_gen_challenge_hw(uint8_t challenge[32]);
78 
79 
97 int atcacert_verify_response_hw(const uint8_t device_public_key[64],
98  const uint8_t challenge[32],
99  const uint8_t response[64]);
100 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
+
int atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
Verify a client&#39;s response to a challenge using the host&#39;s ATECC device for crypto functions...
Definition: atcacert_host_hw.c:86
+
int atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
Verify a certificate against its certificate authority&#39;s public key using the host&#39;s ATECC device for...
Definition: atcacert_host_hw.c:36
+
Definition: atcacert_def.h:149
+
int atcacert_gen_challenge_hw(uint8_t challenge[32])
Generate a random challenge to be sent to the client using the RNG on the host&#39;s ATECC device...
Definition: atcacert_host_hw.c:75
-
#include "atcacert.h"
-#include "atcacert_pem.h"
-#include "../basic/atca_helpers.h"
+ +

host side methods using software implementations +More...

+ - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

int atcacert_encode_pem (const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
 Encode a DER data in PEM format. More...
 
int atcacert_decode_pem (const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
 Decode PEM data into DER format. More...
 
int atcacert_encode_pem_cert (const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
 Encode a DER certificate in PEM format. More...
 
int atcacert_encode_pem_csr (const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
 Encode a DER CSR in PEM format. More...
 
int atcacert_decode_pem_cert (const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
 Decode a PEM certificate into DER format. More...
 
int atcacert_decode_pem_csr (const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
 Extract the CSR certificate bytes from a PEM encoded CSR certificate. More...
 
int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using software crypto functions.The function is currently not implemented. More...
 
int atcacert_gen_challenge_sw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using a software PRNG.The function is currently not implemented. More...
 
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using software crypto functions.The function is currently not implemented. More...
 
-

Function Documentation

- -

◆ atcacert_decode_pem()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem (const char * pem,
size_t pem_size,
uint8_t * der,
size_t * der_size,
const char * header,
const char * footer 
)
-
- -

Decode PEM data into DER format.

-
Parameters
- - - - - - - -
[in]pemPEM data to decode to DER.
[in]pem_sizePEM data size in bytes.
[out]derDER data is returned here.
[in,out]der_sizeAs input, the size of the der buffer. As output, the size of the DER data.
[in]headerHeader to find the beginning of the PEM data.
[in]footerFooter to find the end of the PEM data.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_decode_pem_cert()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem_cert (const char * pem_cert,
size_t pem_cert_size,
uint8_t * der_cert,
size_t * der_cert_size 
)
-
- -

Decode a PEM certificate into DER format.

-
Parameters
- - - - - -
[in]pem_certPEM certificate to decode to DER.
[in]pem_cert_sizePEM certificate size in bytes.
[out]der_certDER certificate is returned here.
[in,out]der_cert_sizeAs input, the size of the der_cert buffer. As output, the size of the DER certificate.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_decode_pem_csr()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem_csr (const char * pem_csr,
size_t pem_csr_size,
uint8_t * der_csr,
size_t * der_csr_size 
)
-
- -

Extract the CSR certificate bytes from a PEM encoded CSR certificate.

-
Parameters
- - - - - -
[in]pem_csrPEM CSR to decode to DER.
[in]pem_csr_sizePEM CSR size in bytes.
[out]der_csrDER CSR is returned here.
[in,out]der_csr_sizeAs input, the size of the der_csr buffer. As output, the size of the DER CSR.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem (const uint8_t * der,
size_t der_size,
char * pem,
size_t * pem_size,
const char * header,
const char * footer 
)
-
- -

Encode a DER data in PEM format.

-
Parameters
- - - - - - - -
[in]derDER data to be encoded as PEM.
[out]der_sizeDER data size in bytes.
[out]pemPEM encoded data is returned here.
[in,out]pem_sizeAs input, the size of the pem buffer. As output, the size of the PEM data.
[in]headerHeader to place at the beginning of the PEM data.
[in]footerFooter to place at the end of the PEM data.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem_cert()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem_cert (const uint8_t * der_cert,
size_t der_cert_size,
char * pem_cert,
size_t * pem_cert_size 
)
-
- -

Encode a DER certificate in PEM format.

-
Parameters
- - - - - -
[in]der_certDER certificate to be encoded as PEM.
[out]der_cert_sizeDER certificate size in bytes.
[out]pem_certPEM encoded certificate is returned here.
[in,out]pem_cert_sizeAs input, the size of the pem_cert buffer. As output, the size of the PEM certificate.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem_csr()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem_csr (const uint8_t * der_csr,
size_t der_csr_size,
char * pem_csr,
size_t * pem_csr_size 
)
-
- -

Encode a DER CSR in PEM format.

-
Parameters
- - - - - -
[in]der_csrDER CSR to be encoded as PEM.
[out]der_csr_sizeDER CSR size in bytes.
[out]pem_csrPEM encoded CSR is returned here.
[in,out]pem_csr_sizeAs input, the size of the pem_csr buffer. As output, the size of the PEM CSR.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-
+

Detailed Description

+

host side methods using software implementations

+ +
-

Functions for converting between DER and PEM formats. +

Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library. More...

-
#include <stdint.h>
+
#include <stddef.h>
+#include <stdint.h>
+#include "atcacert_def.h"

Go to the source code of this file.

- - - - - - - - - -

-Macros

#define PEM_CERT_BEGIN   "-----BEGIN CERTIFICATE-----"
 
#define PEM_CERT_END   "-----END CERTIFICATE-----"
 
#define PEM_CSR_BEGIN   "-----BEGIN CERTIFICATE REQUEST-----"
 
#define PEM_CSR_END   "-----END CERTIFICATE REQUEST-----"
 
- - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

int atcacert_encode_pem (const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
 Encode a DER data in PEM format. More...
 
int atcacert_decode_pem (const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
 Decode PEM data into DER format. More...
 
int atcacert_encode_pem_cert (const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
 Encode a DER certificate in PEM format. More...
 
int atcacert_decode_pem_cert (const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
 Decode a PEM certificate into DER format. More...
 
int atcacert_encode_pem_csr (const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
 Encode a DER CSR in PEM format. More...
 
int atcacert_decode_pem_csr (const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
 Extract the CSR certificate bytes from a PEM encoded CSR certificate. More...
 
int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using software crypto functions.The function is currently not implemented. More...
 
int atcacert_gen_challenge_sw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using a software PRNG.The function is currently not implemented. More...
 
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using software crypto functions.The function is currently not implemented. More...
 

Detailed Description

-

Functions for converting between DER and PEM formats.

+

Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library.

-

Macro Definition Documentation

- -

◆ PEM_CERT_BEGIN

- -
-
- - - - -
#define PEM_CERT_BEGIN   "-----BEGIN CERTIFICATE-----"
-
- -
-
- -

◆ PEM_CERT_END

- -
-
- - - - -
#define PEM_CERT_END   "-----END CERTIFICATE-----"
-
- -
-
- -

◆ PEM_CSR_BEGIN

- -
-
- - - - -
#define PEM_CSR_BEGIN   "-----BEGIN CERTIFICATE REQUEST-----"
-
- -
-
- -

◆ PEM_CSR_END

- -
-
- - - - -
#define PEM_CSR_END   "-----END CERTIFICATE REQUEST-----"
-
- -
-
-

Function Documentation

- -

◆ atcacert_decode_pem()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem (const char * pem,
size_t pem_size,
uint8_t * der,
size_t * der_size,
const char * header,
const char * footer 
)
-
- -

Decode PEM data into DER format.

-
Parameters
- - - - - - - -
[in]pemPEM data to decode to DER.
[in]pem_sizePEM data size in bytes.
[out]derDER data is returned here.
[in,out]der_sizeAs input, the size of the der buffer. As output, the size of the DER data.
[in]headerHeader to find the beginning of the PEM data.
[in]footerFooter to find the end of the PEM data.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_decode_pem_cert()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem_cert (const char * pem_cert,
size_t pem_cert_size,
uint8_t * der_cert,
size_t * der_cert_size 
)
-
- -

Decode a PEM certificate into DER format.

-
Parameters
- - - - - -
[in]pem_certPEM certificate to decode to DER.
[in]pem_cert_sizePEM certificate size in bytes.
[out]der_certDER certificate is returned here.
[in,out]der_cert_sizeAs input, the size of the der_cert buffer. As output, the size of the DER certificate.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_decode_pem_csr()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_decode_pem_csr (const char * pem_csr,
size_t pem_csr_size,
uint8_t * der_csr,
size_t * der_csr_size 
)
-
- -

Extract the CSR certificate bytes from a PEM encoded CSR certificate.

-
Parameters
- - - - - -
[in]pem_csrPEM CSR to decode to DER.
[in]pem_csr_sizePEM CSR size in bytes.
[out]der_csrDER CSR is returned here.
[in,out]der_csr_sizeAs input, the size of the der_csr buffer. As output, the size of the DER CSR.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem (const uint8_t * der,
size_t der_size,
char * pem,
size_t * pem_size,
const char * header,
const char * footer 
)
-
- -

Encode a DER data in PEM format.

-
Parameters
- - - - - - - -
[in]derDER data to be encoded as PEM.
[out]der_sizeDER data size in bytes.
[out]pemPEM encoded data is returned here.
[in,out]pem_sizeAs input, the size of the pem buffer. As output, the size of the PEM data.
[in]headerHeader to place at the beginning of the PEM data.
[in]footerFooter to place at the end of the PEM data.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem_cert()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem_cert (const uint8_t * der_cert,
size_t der_cert_size,
char * pem_cert,
size_t * pem_cert_size 
)
-
- -

Encode a DER certificate in PEM format.

-
Parameters
- - - - - -
[in]der_certDER certificate to be encoded as PEM.
[out]der_cert_sizeDER certificate size in bytes.
[out]pem_certPEM encoded certificate is returned here.
[in,out]pem_cert_sizeAs input, the size of the pem_cert buffer. As output, the size of the PEM certificate.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ atcacert_encode_pem_csr()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int atcacert_encode_pem_csr (const uint8_t * der_csr,
size_t der_csr_size,
char * pem_csr,
size_t * pem_csr_size 
)
-
- -

Encode a DER CSR in PEM format.

-
Parameters
- - - - - -
[in]der_csrDER CSR to be encoded as PEM.
[out]der_csr_sizeDER CSR size in bytes.
[out]pem_csrPEM encoded CSR is returned here.
[in,out]pem_csr_sizeAs input, the size of the pem_csr buffer. As output, the size of the PEM CSR.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-
+
-Go to the documentation of this file.
1 
28 #ifndef ATCACERT_PEM_H
29 #define ATCACERT_PEM_H
30 
31 #include <stdint.h>
32 
33 #define PEM_CERT_BEGIN "-----BEGIN CERTIFICATE-----"
34 #define PEM_CERT_END "-----END CERTIFICATE-----"
35 #define PEM_CSR_BEGIN "-----BEGIN CERTIFICATE REQUEST-----"
36 #define PEM_CSR_END "-----END CERTIFICATE REQUEST-----"
37 
49 int atcacert_encode_pem(const uint8_t* der,
50  size_t der_size,
51  char* pem,
52  size_t* pem_size,
53  const char* header,
54  const char* footer);
55 
67 int atcacert_decode_pem(const char* pem,
68  size_t pem_size,
69  uint8_t* der,
70  size_t* der_size,
71  const char* header,
72  const char* footer);
73 
83 int atcacert_encode_pem_cert(const uint8_t* der_cert, size_t der_cert_size, char* pem_cert, size_t* pem_cert_size);
84 
94 int atcacert_decode_pem_cert(const char* pem_cert, size_t pem_cert_size, uint8_t* der_cert, size_t* der_cert_size);
95 
105 int atcacert_encode_pem_csr(const uint8_t* der_csr, size_t der_csr_size, char* pem_csr, size_t* pem_csr_size);
106 
116 int atcacert_decode_pem_csr(const char* pem_csr, size_t pem_csr_size, uint8_t* der_csr, size_t* der_csr_size);
117 
118 #endif
int atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
Encode a DER certificate in PEM format.
Definition: atcacert_pem.c:123
-
int atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
Encode a DER data in PEM format.
Definition: atcacert_pem.c:5
-
int atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
Decode PEM data into DER format.
Definition: atcacert_pem.c:73
-
int atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
Extract the CSR certificate bytes from a PEM encoded CSR certificate.
Definition: atcacert_pem.c:156
-
int atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
Decode a PEM certificate into DER format.
Definition: atcacert_pem.c:145
-
int atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
Encode a DER CSR in PEM format.
Definition: atcacert_pem.c:134
+Go to the documentation of this file.
1 
29 #ifndef ATCACERT_HOST_SOFT_H
30 #define ATCACERT_HOST_SOFT_H
31 
32 #include <stddef.h>
33 #include <stdint.h>
34 #include "atcacert_def.h"
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 
64 int atcacert_verify_cert_sw(const atcacert_def_t* cert_def,
65  const uint8_t* cert,
66  size_t cert_size,
67  const uint8_t ca_public_key[64]);
68 
69 
70 
78 int atcacert_gen_challenge_sw(uint8_t challenge[32]);
79 
80 
81 
82 
97 int atcacert_verify_response_sw(const uint8_t device_public_key[64],
98  const uint8_t challenge[32],
99  const uint8_t response[64]);
100 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif
int atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
Verify a certificate against its certificate authority&#39;s public key using software crypto functions...
Definition: atcacert_host_sw.c:38
+
Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions ...
+
int atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
Verify a client&#39;s response to a challenge using software crypto functions.The function is currently n...
Definition: atcacert_host_sw.c:87
+
int atcacert_gen_challenge_sw(uint8_t challenge[32])
Generate a random challenge to be sent to the client using a software PRNG.The function is currently ...
Definition: atcacert_host_sw.c:75
+
Definition: atcacert_def.h:149
- -

CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods. -More...

-
#include "atca_basic.h"
-#include "host/atca_host.h"
+
#include "atcacert.h"
+#include "atcacert_pem.h"
+#include "../basic/atca_helpers.h"
- - - -

-Macros

#define MAX_BUSES   4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS atcab_version (char *ver_str)
 basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the basic API is it is based on a single interface instance and that instance is global, so all basic API commands assume that one global device is the one to operate on. More...
 
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
 Creates a global ATCADevice object used by Basic API. More...
 
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
 Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ basic API. More...
 
ATCA_STATUS atcab_release (void)
 release (free) the global ATCADevice instance. This must be called in order to release or free up the interface. More...
 
ATCADevice atcab_get_device (void)
 Get the global device object. More...
 
ATCA_STATUS atcab_wakeup (void)
 wakeup the CryptoAuth device More...
 
ATCA_STATUS atcab_idle (void)
 idle the CryptoAuth device More...
 
ATCA_STATUS atcab_sleep (void)
 invoke sleep on the CryptoAuth device More...
 
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max_ifaces)
 auto discovery of crypto auth devices More...
 
ATCA_STATUS _atcab_exit (void)
 common cleanup code which idles the device after any operation More...
 
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
 Compute the address given the zone, slot, block, and offset. More...
 
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
 Gets the size of the specified zone in bytes. More...
 
- - - - - + + + + + + + + + + + + + + + + + +

-Variables

const char atca_version [] = { "20181025" }
 
ATCADevice _gDevice = NULL
 
int atcacert_encode_pem (const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
 Encode a DER data in PEM format. More...
 
int atcacert_decode_pem (const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
 Decode PEM data into DER format. More...
 
int atcacert_encode_pem_cert (const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
 Encode a DER certificate in PEM format. More...
 
int atcacert_encode_pem_csr (const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
 Encode a DER CSR in PEM format. More...
 
int atcacert_decode_pem_cert (const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
 Decode a PEM certificate into DER format. More...
 
int atcacert_decode_pem_csr (const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
 Extract the CSR certificate bytes from a PEM encoded CSR certificate. More...
 
-

Detailed Description

-

CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods.

- -

Macro Definition Documentation

- -

◆ MAX_BUSES

+

Function Documentation

+ +

◆ atcacert_decode_pem()

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define MAX_BUSES   4int atcacert_decode_pem (const char * pem,
size_t pem_size,
uint8_t * der,
size_t * der_size,
const char * header,
const char * footer 
)
+
+ +

Decode PEM data into DER format.

+
Parameters
+ + + + + + + +
[in]pemPEM data to decode to DER.
[in]pem_sizePEM data size in bytes.
[out]derDER data is returned here.
[in,out]der_sizeAs input, the size of the der buffer. As output, the size of the DER data.
[in]headerHeader to find the beginning of the PEM data.
[in]footerFooter to find the end of the PEM data.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_decode_pem_cert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_decode_pem_cert (const char * pem_cert,
size_t pem_cert_size,
uint8_t * der_cert,
size_t * der_cert_size 
)
+

Decode a PEM certificate into DER format.

+
Parameters
+ + + + + +
[in]pem_certPEM certificate to decode to DER.
[in]pem_cert_sizePEM certificate size in bytes.
[out]der_certDER certificate is returned here.
[in,out]der_cert_sizeAs input, the size of the der_cert buffer. As output, the size of the DER certificate.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+
-

Variable Documentation

- -

◆ atca_version

+ +

◆ atcacert_decode_pem_csr()

- + + + + + + + + + + + + + + + + + + + + + + + + + + +
const char atca_version[] = { "20181025" }int atcacert_decode_pem_csr (const char * pem_csr,
size_t pem_csr_size,
uint8_t * der_csr,
size_t * der_csr_size 
)
+

Extract the CSR certificate bytes from a PEM encoded CSR certificate.

+
Parameters
+ + + + + +
[in]pem_csrPEM CSR to decode to DER.
[in]pem_csr_sizePEM CSR size in bytes.
[out]der_csrDER CSR is returned here.
[in,out]der_csr_sizeAs input, the size of the der_csr buffer. As output, the size of the DER CSR.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_encode_pem (const uint8_t * der,
size_t der_size,
char * pem,
size_t * pem_size,
const char * header,
const char * footer 
)
+
+ +

Encode a DER data in PEM format.

+
Parameters
+ + + + + + + +
[in]derDER data to be encoded as PEM.
[out]der_sizeDER data size in bytes.
[out]pemPEM encoded data is returned here.
[in,out]pem_sizeAs input, the size of the pem buffer. As output, the size of the PEM data.
[in]headerHeader to place at the beginning of the PEM data.
[in]footerFooter to place at the end of the PEM data.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem_cert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_encode_pem_cert (const uint8_t * der_cert,
size_t der_cert_size,
char * pem_cert,
size_t * pem_cert_size 
)
+
+ +

Encode a DER certificate in PEM format.

+
Parameters
+ + + + + +
[in]der_certDER certificate to be encoded as PEM.
[out]der_cert_sizeDER certificate size in bytes.
[out]pem_certPEM encoded certificate is returned here.
[in,out]pem_cert_sizeAs input, the size of the pem_cert buffer. As output, the size of the PEM certificate.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem_csr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_encode_pem_csr (const uint8_t * der_csr,
size_t der_csr_size,
char * pem_csr,
size_t * pem_csr_size 
)
+
+ +

Encode a DER CSR in PEM format.

+
Parameters
+ + + + + +
[in]der_csrDER CSR to be encoded as PEM.
[out]der_csr_sizeDER CSR size in bytes.
[out]pem_csrPEM encoded CSR is returned here.
[in,out]pem_csr_sizeAs input, the size of the pem_csr buffer. As output, the size of the PEM CSR.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+
@@ -189,7 +463,7 @@

    - + diff --git a/docs/html/a00176.js b/docs/html/a00176.js index 1b464d4c0..f102678ac 100644 --- a/docs/html/a00176.js +++ b/docs/html/a00176.js @@ -1,18 +1,9 @@ var a00176 = [ - [ "MAX_BUSES", "a00176.html#a71478560014bace34a1ebdeab8875365", null ], - [ "_atcab_exit", "a03535.html#ga5802cd6847a837458604db5dbec4a6f0", null ], - [ "atcab_cfg_discover", "a03535.html#ga1518196e269b549eec78087abd130de7", null ], - [ "atcab_get_addr", "a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a", null ], - [ "atcab_get_device", "a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4", null ], - [ "atcab_get_zone_size", "a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412", null ], - [ "atcab_idle", "a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0", null ], - [ "atcab_init", "a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8", null ], - [ "atcab_init_device", "a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4", null ], - [ "atcab_release", "a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4", null ], - [ "atcab_sleep", "a03535.html#ga9475e032c388144c5a0df45d1df182a5", null ], - [ "atcab_version", "a03535.html#gaff701132013eaac5600dd9fd6253505d", null ], - [ "atcab_wakeup", "a03535.html#gad3bc620aedd9322d160eece0d8d20c82", null ], - [ "_gDevice", "a03535.html#ga692423e9c45adde594c36360756b8882", null ], - [ "atca_version", "a00176.html#af135cce4a2e6bbf79b75840195c46de5", null ] + [ "atcacert_decode_pem", "a00176.html#a67998c5401898020391dc6f02b11d2bd", null ], + [ "atcacert_decode_pem_cert", "a00176.html#a47e68bdf906458409c7eff1aed0dff3a", null ], + [ "atcacert_decode_pem_csr", "a00176.html#afbccc09407aeb4d7b626b28da120211a", null ], + [ "atcacert_encode_pem", "a00176.html#abd464bace94353a8ff767e5a9bdc66ce", null ], + [ "atcacert_encode_pem_cert", "a00176.html#a5f893d8f40bc8126a3802ad435bba895", null ], + [ "atcacert_encode_pem_csr", "a00176.html#ab148948a885c6a7c9c95494e48e45cb1", null ] ]; \ No newline at end of file diff --git a/docs/html/a00179.html b/docs/html/a00179.html index 0215ca91e..7315f6e83 100644 --- a/docs/html/a00179.html +++ b/docs/html/a00179.html @@ -5,7 +5,7 @@ -CryptoAuthLib: atca_basic.h File Reference +CryptoAuthLib: atcacert_pem.h File Reference @@ -87,407 +87,450 @@
    -
    atca_basic.h File Reference
    +
    atcacert_pem.h File Reference

-

CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to. +

Functions for converting between DER and PEM formats. More...

-
#include "cryptoauthlib.h"
-#include "crypto/atca_crypto_sw_sha2.h"
+
#include <stdint.h>

Go to the source code of this file.

- - - - - - - - - -

-Data Structures

struct  atca_aes_cbc_ctx
 
struct  atca_aes_cmac_ctx
 
struct  atca_aes_ctr_ctx
 
struct  atca_sha256_ctx
 
- - - - - - -

Macros

#define TBD   void
 
#define BLOCK_NUMBER(a)   (a / 32)
 
#define WORD_OFFSET(a)   ((a % 32) / 4)
 
- - - - - - - - - - - + + + + + + + +

-Typedefs

typedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t
 
typedef struct atca_aes_cmac_ctx atca_aes_cmac_ctx_t
 
typedef struct atca_aes_ctr_ctx atca_aes_ctr_ctx_t
 
typedef struct atca_sha256_ctx atca_sha256_ctx_t
 
typedef atca_sha256_ctx_t atca_hmac_sha256_ctx_t
 
#define PEM_CERT_BEGIN   "-----BEGIN CERTIFICATE-----"
 
#define PEM_CERT_END   "-----END CERTIFICATE-----"
 
#define PEM_CSR_BEGIN   "-----BEGIN CERTIFICATE REQUEST-----"
 
#define PEM_CSR_END   "-----END CERTIFICATE REQUEST-----"
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS atcab_version (char *ver_str)
 basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the basic API is it is based on a single interface instance and that instance is global, so all basic API commands assume that one global device is the one to operate on. More...
 
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
 Creates a global ATCADevice object used by Basic API. More...
 
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
 Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ basic API. More...
 
ATCA_STATUS atcab_release (void)
 release (free) the global ATCADevice instance. This must be called in order to release or free up the interface. More...
 
ATCADevice atcab_get_device (void)
 Get the global device object. More...
 
ATCA_STATUS _atcab_exit (void)
 common cleanup code which idles the device after any operation More...
 
ATCA_STATUS atcab_wakeup (void)
 wakeup the CryptoAuth device More...
 
ATCA_STATUS atcab_idle (void)
 idle the CryptoAuth device More...
 
ATCA_STATUS atcab_sleep (void)
 invoke sleep on the CryptoAuth device More...
 
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max)
 auto discovery of crypto auth devices More...
 
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
 Compute the address given the zone, slot, block, and offset. More...
 
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
 Gets the size of the specified zone in bytes. More...
 
ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
 Compute the AES-128 encrypt, decrypt, or GFM calculation. More...
 
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
 Perform an AES-128 encrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
 Perform an AES-128 decrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
 Perform a Galois Field Multiply (GFM) operation. More...
 
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
 Initialize context for AES CBC operation. More...
 
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
 Initialize a CMAC calculation using an AES-128 key in the ATECC608A. More...
 
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
 Add data to an initialized CMAC calculation. More...
 
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
 Finish a CMAC operation returning the CMAC value. More...
 
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
 Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
 Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
 Compares a MAC response with input values. More...
 
ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
 Compute the Counter functions. More...
 
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
 Increments one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
 Read one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t key_id, const uint8_t *mac)
 Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key. More...
 
ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
 Base function for generating premaster secret key using ECDH. More...
 
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in a slot and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
 ECDH command with a private key in a slot and the premaster secret is read from the next slot. More...
 
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in TempKey and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
 Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the contents of TempKey. See the CryptoAuth datasheet for your chip to see what the values of zone correspond to. More...
 
ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
 Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest of a public key. More...
 
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
 Issues GenKey command, which generates a new random private key in slot and returns the public key. More...
 
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
 Uses GenKey command to calculate the public key from an existing private key in a slot. More...
 
ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
 Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
 Issues an Info command, which return internal device information and can control GPIO and the persistent latch. More...
 
ATCA_STATUS atcab_info (uint8_t *revision)
 Use the Info command to get the device revision (DevRev). More...
 
ATCA_STATUS atcab_info_set_latch (bool state)
 Use the Info command to set the persistent latch state for an ATECC608A device. More...
 
ATCA_STATUS atcab_info_get_latch (bool *state)
 Use the Info command to get the persistent latch current state for an ATECC608A device. More...
 
ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
 Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes. More...
 
ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
 The Lock command prevents future modifications of the Configuration and/or Data and OTP zones. If the device is so configured, then this command can be used to lock individual data slots. This command fails if the designated area is already locked. More...
 
ATCA_STATUS atcab_lock_config_zone (void)
 Unconditionally (no CRC required) lock the config zone. More...
 
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
 Lock the config zone with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_zone (void)
 Unconditionally (no CRC required) lock the data zone (slots and OTP). More...
 
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
 Lock the data zone (slots and OTP) with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
 Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices. Slot must be configured to be slot lockable (KeyConfig.Lockable=1). More...
 
ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
 Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
 Executes PrivWrite command, to write externally generated ECC private keys into the device. More...
 
ATCA_STATUS atcab_random (uint8_t *rand_out)
 Executes Random command, which generates a 32 byte random number from the CryptoAuth device. More...
 
ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
 Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone. More...
 
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified zone is locked. More...
 
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified slot is locked. More...
 
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
 Used to read an arbitrary number of bytes from any zone configured for clear reads. More...
 
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
 Executes Read command, which reads the 9 byte serial number of the device from the config zone. More...
 
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
 Executes Read command to read an ECC P256 public key from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
 Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
 Executes Read command to read the complete device configuration zone. More...
 
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
 Compares a specified configuration zone with the configuration zone currently on the device. More...
 
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as plaintext. More...
 
ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
 Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU. More...
 
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection key. More...
 
ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
 Executes the SelfTest command, which performs a test of one or more of the cryptographic engines within the ATECC608A chip. More...
 
ATCA_STATUS atcab_sha_base (uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size)
 Executes SHA command, which computes a SHA-256 or HMAC/SHA-256 digest for general purpose use by the host system. More...
 
ATCA_STATUS atcab_sha_start (void)
 Executes SHA command to initialize SHA-256 calculation engine. More...
 
ATCA_STATUS atcab_sha_update (const uint8_t *message)
 Executes SHA command to add 64 bytes of message data to the current context. More...
 
ATCA_STATUS atcab_sha_end (uint8_t *digest, uint16_t length, const uint8_t *message)
 Executes SHA command to complete SHA-256 or HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_read_context (uint8_t *context, uint16_t *context_size)
 Executes SHA command to read the SHA-256 context back. Only for ATECC608A with SHA-256 contexts. HMAC not supported. More...
 
ATCA_STATUS atcab_sha_write_context (const uint8_t *context, uint16_t context_size)
 Executes SHA command to write (restore) a SHA-256 context into the the device. Only supported for ATECC608A with SHA-256 contexts. More...
 
ATCA_STATUS atcab_sha (uint16_t length, const uint8_t *message, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_t *ctx)
 Initialize a SHA context for performing a hardware SHA-256 operation on a device. Note that only one SHA operation can be run at a time. More...
 
ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Add message data to a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_t *ctx, uint8_t *digest)
 Finish SHA-256 digest for a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
 Executes SHA command to start an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Executes SHA command to add an arbitrary amount of message data to a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
 Executes SHA command to complete a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac (const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
 Use the SHA command to compute an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
 Executes the Sign command, which generates a signature using the ECDSA algorithm. More...
 
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
 Executes Sign command, to sign a 32-byte external message using the private key in the specified slot. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
 Executes Sign command to sign an internally generated message. More...
 
ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
 Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zone (bytes 84 and 85). More...
 
ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
 Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly generated from a given message and public key. In all cases, the signature is an input to the command. More...
 
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key stored in the device. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with a public key stored in the device. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Validate mode to validate a public key stored in a slot. More...
 
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Invalidate mode which invalidates a previously validated public key stored in a slot. More...
 
ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
 Executes the Write command, which writes either one four byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for this slot, the data may be required to be encrypted by the system prior to being sent to the device. This command cannot be used to write slots configured as ECC private keys. More...
 
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
 Executes the Write command, which writes either 4 or 32 bytes of data into a device zone. More...
 
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
 Executes the Write command, which writes data into the configuration, otp, or data zones with a given byte offset and length. Offset and length must be multiples of a word (4 bytes). More...
 
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
 Executes the Write command, which writes a public key to a data slot in the device format. More...
 
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
 Executes the Write command, which writes the configuration zone. More...
 
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes the Write command, which performs an encrypted write of a 32 byte block into given slot. More...
 
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
 Initialize one of the monotonic counters in device with a specific value. More...
 
- - - + + + + + + + + + + + + + + + + + +

-Variables

ATCADevice _gDevice
 
int atcacert_encode_pem (const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
 Encode a DER data in PEM format. More...
 
int atcacert_decode_pem (const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
 Decode PEM data into DER format. More...
 
int atcacert_encode_pem_cert (const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
 Encode a DER certificate in PEM format. More...
 
int atcacert_decode_pem_cert (const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
 Decode a PEM certificate into DER format. More...
 
int atcacert_encode_pem_csr (const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
 Encode a DER CSR in PEM format. More...
 
int atcacert_decode_pem_csr (const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
 Extract the CSR certificate bytes from a PEM encoded CSR certificate. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to.

+

Functions for converting between DER and PEM formats.

Macro Definition Documentation

- -

◆ TBD

+ +

◆ PEM_CERT_BEGIN

+ +
+
+ + + + +
#define PEM_CERT_BEGIN   "-----BEGIN CERTIFICATE-----"
+
+ +
+
+ +

◆ PEM_CERT_END

+ +
+
+ + + + +
#define PEM_CERT_END   "-----END CERTIFICATE-----"
+
+ +
+
+ +

◆ PEM_CSR_BEGIN

+ +
+
+ + + + +
#define PEM_CSR_BEGIN   "-----BEGIN CERTIFICATE REQUEST-----"
+
+ +
+
+ +

◆ PEM_CSR_END

+ +
+
+ + + + +
#define PEM_CSR_END   "-----END CERTIFICATE REQUEST-----"
+
+ +
+
+

Function Documentation

+ +

◆ atcacert_decode_pem()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_decode_pem (const char * pem,
size_t pem_size,
uint8_t * der,
size_t * der_size,
const char * header,
const char * footer 
)
+
+ +

Decode PEM data into DER format.

+
Parameters
+ + + + + + + +
[in]pemPEM data to decode to DER.
[in]pem_sizePEM data size in bytes.
[out]derDER data is returned here.
[in,out]der_sizeAs input, the size of the der buffer. As output, the size of the DER data.
[in]headerHeader to find the beginning of the PEM data.
[in]footerFooter to find the end of the PEM data.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_decode_pem_cert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_decode_pem_cert (const char * pem_cert,
size_t pem_cert_size,
uint8_t * der_cert,
size_t * der_cert_size 
)
+
+ +

Decode a PEM certificate into DER format.

+
Parameters
+ + + + + +
[in]pem_certPEM certificate to decode to DER.
[in]pem_cert_sizePEM certificate size in bytes.
[out]der_certDER certificate is returned here.
[in,out]der_cert_sizeAs input, the size of the der_cert buffer. As output, the size of the DER certificate.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_decode_pem_csr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_decode_pem_csr (const char * pem_csr,
size_t pem_csr_size,
uint8_t * der_csr,
size_t * der_csr_size 
)
+
+ +

Extract the CSR certificate bytes from a PEM encoded CSR certificate.

+
Parameters
+ + + + + +
[in]pem_csrPEM CSR to decode to DER.
[in]pem_csr_sizePEM CSR size in bytes.
[out]der_csrDER CSR is returned here.
[in,out]der_csr_sizeAs input, the size of the der_csr buffer. As output, the size of the DER CSR.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_encode_pem (const uint8_t * der,
size_t der_size,
char * pem,
size_t * pem_size,
const char * header,
const char * footer 
)
+
+ +

Encode a DER data in PEM format.

+
Parameters
+ + + + + + + +
[in]derDER data to be encoded as PEM.
[out]der_sizeDER data size in bytes.
[out]pemPEM encoded data is returned here.
[in,out]pem_sizeAs input, the size of the pem buffer. As output, the size of the PEM data.
[in]headerHeader to place at the beginning of the PEM data.
[in]footerFooter to place at the end of the PEM data.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem_cert()

- + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define TBD   voidint atcacert_encode_pem_cert (const uint8_t * der_cert,
size_t der_cert_size,
char * pem_cert,
size_t * pem_cert_size 
)
+

Encode a DER certificate in PEM format.

+
Parameters
+ + + + + +
[in]der_certDER certificate to be encoded as PEM.
[out]der_cert_sizeDER certificate size in bytes.
[out]pem_certPEM encoded certificate is returned here.
[in,out]pem_cert_sizeAs input, the size of the pem_cert buffer. As output, the size of the PEM certificate.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcacert_encode_pem_csr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int atcacert_encode_pem_csr (const uint8_t * der_csr,
size_t der_csr_size,
char * pem_csr,
size_t * pem_csr_size 
)
+
+ +

Encode a DER CSR in PEM format.

+
Parameters
+ + + + + +
[in]der_csrDER CSR to be encoded as PEM.
[out]der_csr_sizeDER CSR size in bytes.
[out]pem_csrPEM encoded CSR is returned here.
[in,out]pem_csr_sizeAs input, the size of the pem_csr buffer. As output, the size of the PEM CSR.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+
@@ -495,7 +538,7 @@

    - + diff --git a/docs/html/a00179.js b/docs/html/a00179.js index 5ba9c89c9..9b0abf034 100644 --- a/docs/html/a00179.js +++ b/docs/html/a00179.js @@ -1,121 +1,13 @@ var a00179 = [ - [ "BLOCK_NUMBER", "a03535.html#ga66d0b18bba952f5acdee8cf68b889b75", null ], - [ "TBD", "a00179.html#a427c0d9dc4a1052229c8c75a6d126577", null ], - [ "WORD_OFFSET", "a03535.html#ga9e5ab0fea07bd91159ab96f18105d1b1", null ], - [ "atca_aes_cbc_ctx_t", "a03535.html#gaa702726fe160635225abc3c1ed421f7e", null ], - [ "atca_aes_cmac_ctx_t", "a03535.html#ga05fa8c58bf4408381db8871b0dca64b6", null ], - [ "atca_aes_ctr_ctx_t", "a03535.html#ga52b18f051752d214a2d5b485270f5b15", null ], - [ "atca_hmac_sha256_ctx_t", "a03535.html#ga4c1f62e502c168be9261d2af921e78ba", null ], - [ "atca_sha256_ctx_t", "a03535.html#ga530ccce9f617be7dbf3661e19a4c0546", null ], - [ "_atcab_exit", "a03535.html#ga5802cd6847a837458604db5dbec4a6f0", null ], - [ "atcab_aes", "a03535.html#gad115ce255664a48b80e90ea19c156b79", null ], - [ "atcab_aes_cbc_decrypt_block", "a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e", null ], - [ "atcab_aes_cbc_encrypt_block", "a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e", null ], - [ "atcab_aes_cbc_init", "a03535.html#gabc41b824cdc9b10efa46bcbf74850184", null ], - [ "atcab_aes_cmac_finish", "a03535.html#gac0be51b283b107465dcf42758ca31687", null ], - [ "atcab_aes_cmac_init", "a03535.html#ga84506ff4105e63823c99527788d36d52", null ], - [ "atcab_aes_cmac_update", "a03535.html#ga0cf22e893c713890faeb9fa8784760b1", null ], - [ "atcab_aes_ctr_block", "a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0", null ], - [ "atcab_aes_ctr_decrypt_block", "a03535.html#gada9491be0c81fb18b021f71b9a6eda3e", null ], - [ "atcab_aes_ctr_encrypt_block", "a03535.html#ga7182e48a847f9c1b31f19c60f373e2da", null ], - [ "atcab_aes_ctr_init", "a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad", null ], - [ "atcab_aes_ctr_init_rand", "a03535.html#gae7558905ea6a82c4bd50d4b99e954d91", null ], - [ "atcab_aes_decrypt", "a03535.html#ga9658e84055727e6357cf7ef636b4e398", null ], - [ "atcab_aes_encrypt", "a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1", null ], - [ "atcab_aes_gfm", "a03535.html#ga5554940ed4c7c7e28652ce6923cf9314", null ], - [ "atcab_cfg_discover", "a03535.html#ga1518196e269b549eec78087abd130de7", null ], - [ "atcab_challenge", "a03535.html#ga114a721517c95d5ba5fcac5b226669d6", null ], - [ "atcab_challenge_seed_update", "a03535.html#gaadde4309089c569fd87c24a1a2326cd4", null ], - [ "atcab_checkmac", "a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee", null ], - [ "atcab_cmp_config_zone", "a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87", null ], - [ "atcab_counter", "a03535.html#gabaaaef242649206029e1c10ac6d1fb7d", null ], - [ "atcab_counter_increment", "a03535.html#ga6e510e056ea16a0a34b405b7ca378f16", null ], - [ "atcab_counter_read", "a03535.html#gaeee666028a097659af69cc828a6bd68b", null ], - [ "atcab_derivekey", "a03535.html#ga34b7b6d46868f0d63d195216ef9939b1", null ], - [ "atcab_ecdh", "a03535.html#ga6fc480ad2824df6309f4f370ffad15f9", null ], - [ "atcab_ecdh_base", "a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c", null ], - [ "atcab_ecdh_enc", "a03535.html#gab6e0c175cbcb5f794b12a8ec22485176", null ], - [ "atcab_ecdh_ioenc", "a03535.html#ga975f7303086190d3b6f76c367583d622", null ], - [ "atcab_ecdh_tempkey", "a03535.html#gac244b83b061ffd8ae3d59b5f973baa53", null ], - [ "atcab_ecdh_tempkey_ioenc", "a03535.html#gafaccb0c9d12154b0c5b917f89f233721", null ], - [ "atcab_gendig", "a03535.html#ga70751ea87f2cf913986bc7bca2cc661f", null ], - [ "atcab_genkey", "a03535.html#ga617bdbdce7b5736351d93214d44c5b8f", null ], - [ "atcab_genkey_base", "a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903", null ], - [ "atcab_get_addr", "a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a", null ], - [ "atcab_get_device", "a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4", null ], - [ "atcab_get_pubkey", "a03535.html#gad2096a4618dd37c48ed48847fe63d844", null ], - [ "atcab_get_zone_size", "a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412", null ], - [ "atcab_hmac", "a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d", null ], - [ "atcab_hw_sha2_256", "a03535.html#ga4bf8b665fe1712626a480742c2daa16b", null ], - [ "atcab_hw_sha2_256_finish", "a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91", null ], - [ "atcab_hw_sha2_256_init", "a03535.html#gade49e7746864105730fa7d531645ff62", null ], - [ "atcab_hw_sha2_256_update", "a03535.html#ga67f2ce6224651d9cc65e9915e35558bd", null ], - [ "atcab_idle", "a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0", null ], - [ "atcab_info", "a03535.html#ga6e19ecd60be4c74665d9ec142e460771", null ], - [ "atcab_info_base", "a03535.html#ga806d07982fda5c30755af6b5b4ef9314", null ], - [ "atcab_info_get_latch", "a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48", null ], - [ "atcab_info_set_latch", "a03535.html#ga2649126606db8a0b64ae8e19d09f6600", null ], - [ "atcab_init", "a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8", null ], - [ "atcab_init_device", "a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4", null ], - [ "atcab_is_locked", "a03535.html#gaefce484222bdbedef37787a9b10d4426", null ], - [ "atcab_is_slot_locked", "a03535.html#ga802de50265ff91dc30dd7c93d9e026e1", null ], - [ "atcab_kdf", "a03535.html#ga40a6c01492a76366f9402302b527c4e1", null ], - [ "atcab_lock", "a03535.html#ga25d2895192d93c524f5dba92a492cdfb", null ], - [ "atcab_lock_config_zone", "a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23", null ], - [ "atcab_lock_config_zone_crc", "a03535.html#ga0698e0c55ad700fe57498321e842cb38", null ], - [ "atcab_lock_data_slot", "a03535.html#ga958190a9182d1b54f82fbca8216406ea", null ], - [ "atcab_lock_data_zone", "a03535.html#ga8020aa89a5bed09ad35320b78e0fb890", null ], - [ "atcab_lock_data_zone_crc", "a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6", null ], - [ "atcab_mac", "a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791", null ], - [ "atcab_nonce", "a03535.html#ga2293df1c1c794496790bae25d3844fa5", null ], - [ "atcab_nonce_base", "a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6", null ], - [ "atcab_nonce_load", "a03535.html#ga2239ae3a87c341a48aa108bd82a58552", null ], - [ "atcab_nonce_rand", "a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c", null ], - [ "atcab_priv_write", "a03535.html#gad01e8e785073d8655de9116e7df8e7b5", null ], - [ "atcab_random", "a03535.html#ga4fa442396dfbb89e59dfca837b565cec", null ], - [ "atcab_read_bytes_zone", "a03535.html#ga750704332198726725a327344f4f7dd5", null ], - [ "atcab_read_config_zone", "a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3", null ], - [ "atcab_read_enc", "a03535.html#ga778a262b86fa1f8a38139cbae34376e4", null ], - [ "atcab_read_pubkey", "a03535.html#ga782ca1e5b1574b2b6793c841be22b28b", null ], - [ "atcab_read_serial_number", "a03535.html#ga96c434878e1f435e2cda5b0b5fec444f", null ], - [ "atcab_read_sig", "a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7", null ], - [ "atcab_read_zone", "a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb", null ], - [ "atcab_release", "a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4", null ], - [ "atcab_secureboot", "a03535.html#ga9506331ea7d454fe3c9b2585128c77aa", null ], - [ "atcab_secureboot_mac", "a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534", null ], - [ "atcab_selftest", "a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7", null ], - [ "atcab_sha", "a03535.html#ga31d269ccdafd08519a899a8aebf53df1", null ], - [ "atcab_sha_base", "a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4", null ], - [ "atcab_sha_end", "a03535.html#ga1db86704035048066a370815b657234d", null ], - [ "atcab_sha_hmac", "a03535.html#gae655ce06583c08169170102fbb0b55c9", null ], - [ "atcab_sha_hmac_finish", "a03535.html#gaa4be9972396b7cadb08dd8e2199daf08", null ], - [ "atcab_sha_hmac_init", "a03535.html#ga310a017cddce9ef05071cb619b4b6db9", null ], - [ "atcab_sha_hmac_update", "a03535.html#gae3343c160e80365b7e96bdfdc9b6365c", null ], - [ "atcab_sha_read_context", "a03535.html#ga74d1db50562642ce511fa7cbd384c2ab", null ], - [ "atcab_sha_start", "a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a", null ], - [ "atcab_sha_update", "a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949", null ], - [ "atcab_sha_write_context", "a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120", null ], - [ "atcab_sign", "a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8", null ], - [ "atcab_sign_base", "a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268", null ], - [ "atcab_sign_internal", "a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29", null ], - [ "atcab_sleep", "a03535.html#ga9475e032c388144c5a0df45d1df182a5", null ], - [ "atcab_updateextra", "a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d", null ], - [ "atcab_verify", "a03535.html#ga694d921c7bc17a0e158ef96e3d476700", null ], - [ "atcab_verify_extern", "a03535.html#ga2c3e18de900ba705192963d08b37f600", null ], - [ "atcab_verify_extern_mac", "a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6", null ], - [ "atcab_verify_invalidate", "a03535.html#ga9393b545b2fa1fdd539672a0428a30ab", null ], - [ "atcab_verify_stored", "a03535.html#gae8cc7670847805423ad591985eecd832", null ], - [ "atcab_verify_stored_mac", "a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7", null ], - [ "atcab_verify_validate", "a03535.html#gacf9a0c7772ebb65b87c4a4788850702b", null ], - [ "atcab_version", "a03535.html#gaff701132013eaac5600dd9fd6253505d", null ], - [ "atcab_wakeup", "a03535.html#gad3bc620aedd9322d160eece0d8d20c82", null ], - [ "atcab_write", "a03535.html#gabf2b29b4d3ae926b63c403d084380dbe", null ], - [ "atcab_write_bytes_zone", "a03535.html#gac395a7e195aa3cf28b48de345755feb0", null ], - [ "atcab_write_config_counter", "a03535.html#gab25ca44957dff1c2df34607738ca3bf7", null ], - [ "atcab_write_config_zone", "a03535.html#ga0777a86aa412a97b19cc72a12c171b94", null ], - [ "atcab_write_enc", "a03535.html#ga14cf75d1be264ac1125087d76ee6344c", null ], - [ "atcab_write_pubkey", "a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa", null ], - [ "atcab_write_zone", "a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2", null ], - [ "_gDevice", "a03535.html#ga692423e9c45adde594c36360756b8882", null ] + [ "PEM_CERT_BEGIN", "a00179.html#aefb573f85f8692759f6c82587a948d71", null ], + [ "PEM_CERT_END", "a00179.html#afbe03d95d1d6a651c01d1ef74daa4063", null ], + [ "PEM_CSR_BEGIN", "a00179.html#a006df03d5e86c2d586f02362ca66566e", null ], + [ "PEM_CSR_END", "a00179.html#ad7521d8913a097b0a910d00fdb664210", null ], + [ "atcacert_decode_pem", "a00179.html#a67998c5401898020391dc6f02b11d2bd", null ], + [ "atcacert_decode_pem_cert", "a00179.html#a47e68bdf906458409c7eff1aed0dff3a", null ], + [ "atcacert_decode_pem_csr", "a00179.html#afbccc09407aeb4d7b626b28da120211a", null ], + [ "atcacert_encode_pem", "a00179.html#abd464bace94353a8ff767e5a9bdc66ce", null ], + [ "atcacert_encode_pem_cert", "a00179.html#a5f893d8f40bc8126a3802ad435bba895", null ], + [ "atcacert_encode_pem_csr", "a00179.html#ab148948a885c6a7c9c95494e48e45cb1", null ] ]; \ No newline at end of file diff --git a/docs/html/a00179_source.html b/docs/html/a00179_source.html index 775d57e7c..e166d89d9 100644 --- a/docs/html/a00179_source.html +++ b/docs/html/a00179_source.html @@ -5,7 +5,7 @@ -CryptoAuthLib: atca_basic.h Source File +CryptoAuthLib: atcacert_pem.h Source File @@ -87,155 +87,21 @@
    -
    atca_basic.h
    +
    atcacert_pem.h

-Go to the documentation of this file.
1 
30 #include "cryptoauthlib.h"
32 
33 #ifndef ATCA_BASIC_H_
34 #define ATCA_BASIC_H_
35 
36 #define TBD void
37 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
49 #define BLOCK_NUMBER(a) (a / 32)
50 #define WORD_OFFSET(a) ((a % 32) / 4)
51 
52 extern ATCADevice _gDevice;
53 
54 // Basic global methods
55 ATCA_STATUS atcab_version(char *ver_str);
65 ATCA_STATUS atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t* addr);
66 ATCA_STATUS atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t* size);
67 
68 // AES command functions
69 ATCA_STATUS atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t* aes_in, uint8_t* aes_out);
70 ATCA_STATUS atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t* plaintext, uint8_t* ciphertext);
71 ATCA_STATUS atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t* ciphertext, uint8_t* plaintext);
72 ATCA_STATUS atcab_aes_gfm(const uint8_t* h, const uint8_t* input, uint8_t* output);
73 
74 typedef struct atca_aes_cbc_ctx
75 {
76  uint16_t key_id;
77  uint8_t key_block;
80 
81 ATCA_STATUS atcab_aes_cbc_init(atca_aes_cbc_ctx_t* ctx, uint16_t key_id, uint8_t key_block, const uint8_t* iv);
82 ATCA_STATUS atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext);
83 ATCA_STATUS atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext);
84 
85 typedef struct atca_aes_cmac_ctx
86 {
88  uint32_t block_size;
89  uint8_t block[AES_DATA_SIZE];
91 
92 ATCA_STATUS atcab_aes_cmac_init(atca_aes_cmac_ctx_t* ctx, uint16_t key_id, uint8_t key_block);
93 ATCA_STATUS atcab_aes_cmac_update(atca_aes_cmac_ctx_t* ctx, const uint8_t* data, uint32_t data_size);
94 ATCA_STATUS atcab_aes_cmac_finish(atca_aes_cmac_ctx_t* ctx, uint8_t* cmac, uint32_t cmac_size);
95 
96 typedef struct atca_aes_ctr_ctx
97 {
98  uint16_t key_id;
99  uint8_t key_block;
100  uint8_t iv[AES_DATA_SIZE];
101  uint8_t counter_size;
103 
104 ATCA_STATUS atcab_aes_ctr_init(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t* iv);
105 ATCA_STATUS atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t* iv);
106 ATCA_STATUS atcab_aes_ctr_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* input, uint8_t* output);
107 ATCA_STATUS atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext);
108 ATCA_STATUS atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext);
109 
110 // CheckMAC command functions
111 ATCA_STATUS atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data);
112 
113 // Counter command functions
114 ATCA_STATUS atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t* counter_value);
115 ATCA_STATUS atcab_counter_increment(uint16_t counter_id, uint32_t* counter_value);
116 ATCA_STATUS atcab_counter_read(uint16_t counter_id, uint32_t* counter_value);
117 
118 // DeriveKey command functions
119 ATCA_STATUS atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t* mac);
120 
121 // ECDH command functions
122 ATCA_STATUS atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t* public_key, uint8_t* pms, uint8_t* out_nonce);
123 ATCA_STATUS atcab_ecdh(uint16_t key_id, const uint8_t* public_key, uint8_t* pms);
124 ATCA_STATUS atcab_ecdh_enc(uint16_t key_id, const uint8_t* public_key, uint8_t* pms, const uint8_t* read_key, uint16_t read_key_id);
125 ATCA_STATUS atcab_ecdh_ioenc(uint16_t key_id, const uint8_t* public_key, uint8_t* pms, const uint8_t* io_key);
126 ATCA_STATUS atcab_ecdh_tempkey(const uint8_t* public_key, uint8_t* pms);
127 ATCA_STATUS atcab_ecdh_tempkey_ioenc(const uint8_t* public_key, uint8_t* pms, const uint8_t* io_key);
128 
129 // GenDig command functions
130 ATCA_STATUS atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size);
131 
132 // GenKey command functions
133 ATCA_STATUS atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t* other_data, uint8_t* public_key);
134 ATCA_STATUS atcab_genkey(uint16_t key_id, uint8_t* public_key);
135 ATCA_STATUS atcab_get_pubkey(uint16_t key_id, uint8_t* public_key);
136 
137 // HMAC command functions
138 ATCA_STATUS atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t* digest);
139 
140 // Info command functions
141 ATCA_STATUS atcab_info_base(uint8_t mode, uint16_t param2, uint8_t* out_data);
142 ATCA_STATUS atcab_info(uint8_t* revision);
144 ATCA_STATUS atcab_info_get_latch(bool* state);
145 
146 // KDF command functions
147 ATCA_STATUS atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t* message, uint8_t* out_data, uint8_t* out_nonce);
148 
149 // Lock command functions
150 ATCA_STATUS atcab_lock(uint8_t mode, uint16_t summary_crc);
152 ATCA_STATUS atcab_lock_config_zone_crc(uint16_t summary_crc);
154 ATCA_STATUS atcab_lock_data_zone_crc(uint16_t summary_crc);
155 ATCA_STATUS atcab_lock_data_slot(uint16_t slot);
156 
157 // MAC command functions
158 ATCA_STATUS atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t* challenge, uint8_t* digest);
159 
160 // Nonce command functions
161 ATCA_STATUS atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t* rand_out);
162 ATCA_STATUS atcab_nonce(const uint8_t *num_in);
163 ATCA_STATUS atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size);
164 ATCA_STATUS atcab_nonce_rand(const uint8_t *num_in, uint8_t* rand_out);
165 ATCA_STATUS atcab_challenge(const uint8_t *num_in);
166 ATCA_STATUS atcab_challenge_seed_update(const uint8_t *num_in, uint8_t* rand_out);
167 
168 // PrivWrite command functions
169 ATCA_STATUS atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]);
170 
171 // Random command functions
172 ATCA_STATUS atcab_random(uint8_t* rand_out);
173 
174 // Read command functions
175 ATCA_STATUS atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len);
176 ATCA_STATUS atcab_is_locked(uint8_t zone, bool *is_locked);
177 ATCA_STATUS atcab_is_slot_locked(uint16_t slot, bool *is_locked);
178 ATCA_STATUS atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length);
179 ATCA_STATUS atcab_read_serial_number(uint8_t* serial_number);
180 ATCA_STATUS atcab_read_pubkey(uint16_t slot, uint8_t *public_key);
181 ATCA_STATUS atcab_read_sig(uint16_t slot, uint8_t *sig);
182 ATCA_STATUS atcab_read_config_zone(uint8_t* config_data);
183 ATCA_STATUS atcab_cmp_config_zone(uint8_t* config_data, bool* same_config);
184 ATCA_STATUS atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t* enc_key, const uint16_t enc_key_id);
185 
186 // SecureBoot command functions
187 ATCA_STATUS atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t* digest, const uint8_t* signature, uint8_t* mac);
188 ATCA_STATUS atcab_secureboot_mac(uint8_t mode, const uint8_t* digest, const uint8_t* signature, const uint8_t* num_in, const uint8_t* io_key, bool* is_verified);
189 
190 // SelfTest command functions
191 ATCA_STATUS atcab_selftest(uint8_t mode, uint16_t param2, uint8_t* result);
192 
193 // SHA command functions
194 typedef struct atca_sha256_ctx
195 {
196  uint32_t total_msg_size;
197  uint32_t block_size;
200 
202 
203 ATCA_STATUS atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t* data_in, uint8_t* data_out, uint16_t* data_out_size);
205 ATCA_STATUS atcab_sha_update(const uint8_t* message);
206 ATCA_STATUS atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message);
207 ATCA_STATUS atcab_sha_read_context(uint8_t* context, uint16_t* context_size);
208 ATCA_STATUS atcab_sha_write_context(const uint8_t* context, uint16_t context_size);
209 ATCA_STATUS atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest);
210 ATCA_STATUS atcab_hw_sha2_256(const uint8_t * data, size_t data_size, uint8_t* digest);
212 ATCA_STATUS atcab_hw_sha2_256_update(atca_sha256_ctx_t* ctx, const uint8_t* data, size_t data_size);
215 ATCA_STATUS atcab_sha_hmac_update(atca_hmac_sha256_ctx_t* ctx, const uint8_t* data, size_t data_size);
216 ATCA_STATUS atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t* ctx, uint8_t* digest, uint8_t target);
217 ATCA_STATUS atcab_sha_hmac(const uint8_t * data, size_t data_size, uint16_t key_slot, uint8_t* digest, uint8_t target);
218 
219 // Sign command functions
220 ATCA_STATUS atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature);
221 ATCA_STATUS atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature);
222 ATCA_STATUS atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature);
223 
224 // UpdateExtra command functions
225 ATCA_STATUS atcab_updateextra(uint8_t mode, uint16_t new_value);
226 
227 // Verify command functions
228 ATCA_STATUS atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t* signature, const uint8_t* public_key, const uint8_t* other_data, uint8_t* mac);
229 ATCA_STATUS atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified);
230 ATCA_STATUS atcab_verify_extern_mac(const uint8_t *message, const uint8_t* signature, const uint8_t* public_key, const uint8_t* num_in, const uint8_t* io_key, bool* is_verified);
231 ATCA_STATUS atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified);
232 ATCA_STATUS atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t* num_in, const uint8_t* io_key, bool* is_verified);
233 
234 ATCA_STATUS atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified);
235 ATCA_STATUS atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified);
236 
237 // Write command functions
238 ATCA_STATUS atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac);
239 ATCA_STATUS atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len);
240 ATCA_STATUS atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length);
241 ATCA_STATUS atcab_write_pubkey(uint16_t slot, const uint8_t *public_key);
242 ATCA_STATUS atcab_write_config_zone(const uint8_t* config_data);
243 ATCA_STATUS atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t* enc_key, const uint16_t enc_key_id);
244 ATCA_STATUS atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value);
245 
246 #ifdef __cplusplus
247 }
248 #endif
249 
252 #endif /* ATCA_BASIC_H_ */
ATCA_STATUS atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
Perform an AES-128 decrypt operation with a key in the device.
Definition: atca_basic_aes.c:126
-
ATCA_STATUS atcab_info_get_latch(bool *state)
Use the Info command to get the persistent latch current state for an ATECC608A device.
Definition: atca_basic_info.c:105
-
ATCA_STATUS atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt op...
Definition: atca_basic_aes.c:456
-
uint16_t key_id
Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
Definition: atca_basic.h:98
-
ATCA_STATUS atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone.
Definition: atca_basic_read.c:57
-
ATCA_STATUS atcab_lock_data_zone_crc(uint16_t summary_crc)
Lock the data zone (slots and OTP) with summary CRC.
Definition: atca_basic_lock.c:124
-
uint32_t block_size
Number of bytes in current block.
Definition: atca_basic.h:197
-
ATCA_STATUS atcab_nonce(const uint8_t *num_in)
Execute a Nonce command in pass-through mode to initialize TempKey to a specified value...
Definition: atca_basic_nonce.c:120
-
ATCA_STATUS atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest)
Finish SHA-256 digest for a SHA context for performing a hardware SHA-256 operation on a device...
Definition: atca_basic_sha.c:276
-
Definition: atca_basic.h:96
-
ATCA_STATUS atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly g...
Definition: atca_basic_verify.c:69
-
ATCA_STATUS atcab_lock_data_zone(void)
Unconditionally (no CRC required) lock the data zone (slots and OTP).
Definition: atca_basic_lock.c:109
-
ATCA_STATUS atcab_is_slot_locked(uint16_t slot, bool *is_locked)
Executes Read command, which reads the configuration zone to see if the specified slot is locked...
Definition: atca_basic_read.c:147
-
ATCA_STATUS atcab_is_locked(uint8_t zone, bool *is_locked)
Executes Read command, which reads the configuration zone to see if the specified zone is locked...
Definition: atca_basic_read.c:186
-
ATCA_STATUS atcab_sleep(void)
invoke sleep on the CryptoAuth device
Definition: atca_basic.c:189
-
ATCA_STATUS atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the I...
Definition: atca_basic_ecdh.c:230
-
ATCA_STATUS atcab_write_pubkey(uint16_t slot, const uint8_t *public_key)
Executes the Write command, which writes a public key to a data slot in the device format...
Definition: atca_basic_write.c:358
-
ATCA_STATUS atcab_sha_update(const uint8_t *message)
Executes SHA command to add 64 bytes of message data to the current context.
Definition: atca_basic_sha.c:138
-
ATCA_STATUS atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest...
Definition: atca_basic_genkey.c:54
-
struct atca_aes_cmac_ctx atca_aes_cmac_ctx_t
-
ATCA_STATUS atcab_challenge(const uint8_t *num_in)
Execute a Nonce command in pass-through mode to initialize TempKey to a specified value...
Definition: atca_basic_nonce.c:186
-
ATCA_STATUS atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t *mac)
Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key...
Definition: atca_basic_derivekey.c:48
-
ATCA_STATUS _atcab_exit(void)
common cleanup code which idles the device after any operation
Definition: atca_basic.c:298
-
ATCA_STATUS atcab_counter_read(uint16_t counter_id, uint32_t *counter_value)
Read one of the device&#39;s monotonic counters.
Definition: atca_basic_counter.c:101
-
ATCA_STATUS atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation...
Definition: atca_basic_verify.c:314
-
ATCA_STATUS atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size)
Gets the size of the specified zone in bytes.
Definition: atca_basic.c:357
-
uint8_t block[AES_DATA_SIZE]
Unprocessed message storage.
Definition: atca_basic.h:89
-
ATCA_STATUS atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
Perform an AES-128 encrypt operation with a key in the device.
Definition: atca_basic_aes.c:107
-
Definition: atca_basic.h:85
-
ATCA_STATUS atcab_init(ATCAIfaceCfg *cfg)
Creates a global ATCADevice object used by Basic API.
Definition: atca_basic.c:65
-
ATCA_STATUS atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest)
Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device...
Definition: atca_basic_hmac.c:53
-
struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS atcab_sha_read_context(uint8_t *context, uint16_t *context_size)
Executes SHA command to read the SHA-256 context back. Only for ATECC608A with SHA-256 contexts...
Definition: atca_basic_sha.c:170
-
ATCA_STATUS atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature)
Executes the Sign command, which generates a signature using the ECDSA algorithm. ...
Definition: atca_basic_sign.c:50
-
uint8_t iv[AES_DATA_SIZE]
Initialization vector, comprises of nonce + count value. (16 bytes)
Definition: atca_basic.h:100
-
ATCA_STATUS atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
Initialize context for AES CBC operation.
Definition: atca_basic_aes.c:163
-
ATCA_STATUS atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
Used to read an arbitrary number of bytes from any zone configured for clear reads.
Definition: atca_basic_read.c:607
-
ATCA_STATUS atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output)
Perform a Galois Field Multiply (GFM) operation.
Definition: atca_basic_aes.c:142
-
ATCA_STATUS atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
Compute the Counter functions.
Definition: atca_basic_counter.c:45
-
ATCA_STATUS atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
Compares a MAC response with input values.
Definition: atca_basic_checkmac.c:49
-
ATCA_STATUS atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
Executes SHA command to add an arbitrary amount of message data to a HMAC/SHA-256 operation...
Definition: atca_basic_sha.c:394
-
ATCA_STATUS atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
Compute the address given the zone, slot, block, and offset.
Definition: atca_basic.c:312
-
ATCA_STATUS atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx)
Initialize a SHA context for performing a hardware SHA-256 operation on a device. Note that only one ...
Definition: atca_basic_sha.c:208
-
uint16_t key_id
Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
Definition: atca_basic.h:76
-
ATCA_STATUS atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or...
Definition: atca_basic_aes.c:532
-
Wrapper API for software SHA 256 routines.
-
#define AES_DATA_SIZE
size of AES encrypt/decrypt data
Definition: atca_command.h:306
-
Definition: atca_basic.h:194
-
ATCA_STATUS atcab_idle(void)
idle the CryptoAuth device
Definition: atca_basic.c:176
-
ATCA_STATUS atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes.
Definition: atca_basic_kdf.c:64
-
ATCA_STATUS atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
Base function for generating premaster secret key using ECDH.
Definition: atca_basic_ecdh.c:53
-
ATCA_STATUS atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest)
Use the SHA command to compute a SHA-256 digest.
Definition: atca_basic_sha.c:346
-
ATCA_STATUS atcab_release(void)
release (free) the global ATCADevice instance. This must be called in order to release or free up the...
Definition: atca_basic.c:137
-
ATCA_STATUS atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out)
Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device rando...
Definition: atca_basic_nonce.c:174
-
ATCA_STATUS atcab_version(char *ver_str)
basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the b...
Definition: atca_basic.c:53
-
ATCA_STATUS atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max)
auto discovery of crypto auth devices
Definition: atca_basic.c:213
-
ATCA_STATUS atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation...
Definition: atca_basic_verify.c:409
-
atca_sha256_ctx_t atca_hmac_sha256_ctx_t
Definition: atca_basic.h:201
-
ATCA_STATUS atcab_lock_config_zone_crc(uint16_t summary_crc)
Lock the config zone with summary CRC.
Definition: atca_basic_lock.c:98
-
Single aggregation point for all CryptoAuthLib header files.
-
ATCA_STATUS atcab_sha_start(void)
Executes SHA command to initialize SHA-256 calculation engine.
Definition: atca_basic_sha.c:126
-
ATCA_STATUS atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value)
Increments one of the device&#39;s monotonic counters.
Definition: atca_basic_counter.c:91
-
ATCA_STATUS atcab_read_serial_number(uint8_t *serial_number)
Executes Read command, which reads the 9 byte serial number of the device from the config zone...
Definition: atca_basic_read.c:116
-
Definition: atca_iface.h:66
-
ATCA_STATUS atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
Execute a Nonce command in pass-through mode to load one of the device&#39;s internal buffers with a fixe...
Definition: atca_basic_nonce.c:143
-
ATCA_STATUS atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or...
Definition: atca_basic_aes.c:603
-
ATCADevice _gDevice
Definition: atca_basic.c:34
-
ATCA_STATUS atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components ...
Definition: atca_basic_verify.c:247
-
ATCA_STATUS atcab_sha_write_context(const uint8_t *context, uint16_t context_size)
Executes SHA command to write (restore) a SHA-256 context into the the device. Only supported for ATE...
Definition: atca_basic_sha.c:183
-
ATCA_STATUS atcab_info_set_latch(bool state)
Use the Info command to set the persistent latch state for an ATECC608A device.
Definition: atca_basic_info.c:133
-
ATCA_STATUS atcab_write_config_zone(const uint8_t *config_data)
Executes the Write command, which writes the configuration zone.
Definition: atca_basic_write.c:301
-
uint8_t ciphertext[AES_DATA_SIZE]
Ciphertext from last operation.
Definition: atca_basic.h:78
-
ATCA_STATUS atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO...
Definition: atca_basic_ecdh.c:170
-
ATCA_STATUS atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
Executes the Write command, which writes data into the configuration, otp, or data zones with a given...
Definition: atca_basic_write.c:411
-
ATCA_STATUS atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out)
Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device r...
Definition: atca_basic_nonce.c:202
-
ATCA_STATUS atcab_info(uint8_t *revision)
Use the Info command to get the device revision (DevRev).
Definition: atca_basic_info.c:87
-
ATCA_STATUS atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the c...
Definition: atca_basic_gendig.c:49
-
ATCA_STATUS atcab_lock_config_zone(void)
Unconditionally (no CRC required) lock the config zone.
Definition: atca_basic_lock.c:83
-
ATCA_STATUS atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
Compute the AES-128 encrypt, decrypt, or GFM calculation.
Definition: atca_basic_aes.c:48
-
ATCA_STATUS atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or...
Definition: atca_basic_aes.c:587
-
ATCA_STATUS atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest)
Use the SHA command to compute a SHA-256 digest.
Definition: atca_basic_sha.c:196
-
struct atca_aes_ctr_ctx atca_aes_ctr_ctx_t
-
ATCA_STATUS atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be...
Definition: atca_basic_aes.c:188
-
ATCA_STATUS atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
Use the SHA command to compute an HMAC/SHA-256 operation.
Definition: atca_basic_sha.c:484
-
ATCA_STATUS atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
Add data to an initialized CMAC calculation.
Definition: atca_basic_aes.c:292
-
ATCA_STATUS atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
Executes SHA command to complete a HMAC/SHA-256 operation.
Definition: atca_basic_sha.c:451
-
ATCA_STATUS atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
Executes the Verify command in Validate mode to validate a public key stored in a slot...
Definition: atca_basic_verify.c:439
-
ATCA_STATUS atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
Executes the Write command, which performs an encrypted write of a 32 byte block into given slot...
Definition: atca_basic_write.c:175
-
ATCA_STATUS atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequen...
Definition: atca_basic_nonce.c:57
-
ATCA_STATUS atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result)
Executes the SelfTest command, which performs a test of one or more of the cryptographic engines with...
Definition: atca_basic_selftest.c:50
-
ATCA_STATUS atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature)
Executes Sign command, to sign a 32-byte external message using the private key in the specified slot...
Definition: atca_basic_sign.c:102
-
ATCA_STATUS atcab_read_sig(uint16_t slot, uint8_t *sig)
Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads...
Definition: atca_basic_read.c:472
-
ATCA_STATUS atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV...
Definition: atca_basic_aes.c:491
-
ATCA_STATUS atcab_wakeup(void)
wakeup the CryptoAuth device
Definition: atca_basic.c:163
-
atca_aes_cbc_ctx_t cbc_ctx
CBC context.
Definition: atca_basic.h:87
-
ATCA_STATUS atcab_read_config_zone(uint8_t *config_data)
Executes Read command to read the complete device configuration zone.
Definition: atca_basic_read.c:338
-
ATCA_STATUS atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be...
Definition: atca_basic_aes.c:228
-
uint32_t block_size
Number of bytes in current block.
Definition: atca_basic.h:88
-
ATCA_STATUS atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value)
Initialize one of the monotonic counters in device with a specific value.
Definition: atca_basic_write.c:506
-
uint8_t key_block
Index of the 16-byte block to use within the key location for the actual key.
Definition: atca_basic.h:77
-
ATCA_STATUS atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device.
Definition: atca_basic_mac.c:52
-
ATCA_STATUS atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as ...
Definition: atca_basic_read.c:232
-
ATCA_STATUS atcab_cmp_config_zone(uint8_t *config_data, bool *same_config)
Compares a specified configuration zone with the configuration zone currently on the device...
Definition: atca_basic_read.c:386
-
#define max(a, b)
Definition: hal_linux_kit_cdc.c:50
-
ATCA_STATUS atcab_get_pubkey(uint16_t key_id, uint8_t *public_key)
Uses GenKey command to calculate the public key from an existing private key in a slot...
Definition: atca_basic_genkey.c:119
-
ATCA_STATUS atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
ECDH command with a private key in a slot and the premaster secret is returned in the clear...
Definition: atca_basic_ecdh.c:103
-
ATCA_STATUS atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
Executes the Verify command in Invalidate mode which invalidates a previously validated public key st...
Definition: atca_basic_verify.c:476
-
ATCA_STATUS atcab_init_device(ATCADevice ca_device)
Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ ...
Definition: atca_basic.c:110
-
struct atca_sha256_ctx atca_sha256_ctx_t
-
Definition: atca_basic.h:74
-
ATCA_STATUS atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data)
Issues an Info command, which return internal device information and can control GPIO and the persist...
Definition: atca_basic_info.c:50
-
ATCA_STATUS atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection...
Definition: atca_basic_secureboot.c:112
-
uint8_t counter_size
Size of counter in the initialization vector.
Definition: atca_basic.h:101
-
ATCA_STATUS atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
Executes Sign command to sign an internally generated message.
Definition: atca_basic_sign.c:154
-
ATCA_STATUS atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU...
Definition: atca_basic_secureboot.c:53
-
ATCA_STATUS atcab_updateextra(uint8_t mode, uint16_t new_value)
Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zon...
Definition: atca_basic_updateextra.c:49
-
ATCA_STATUS atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
Executes PrivWrite command, to write externally generated ECC private keys into the device...
Definition: atca_basic_privwrite.c:51
-
ATCA_STATUS atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
Executes SHA command to start an HMAC/SHA-256 operation.
Definition: atca_basic_sha.c:379
-
ATCA_STATUS atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
Finish a CMAC operation returning the CMAC value.
Definition: atca_basic_aes.c:374
-
ATCA_STATUS atcab_read_pubkey(uint16_t slot, uint8_t *public_key)
Executes Read command to read an ECC P256 public key from a slot configured for clear reads...
Definition: atca_basic_read.c:515
-
#define ATCA_SHA256_BLOCK_SIZE
Definition: atca_command.h:654
-
ATCA_STATUS atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
Executes the Write command, which writes either one four byte word or a 32-byte block to one of the E...
Definition: atca_basic_write.c:59
-
ATCA_STATUS atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
ECDH command with a private key in a slot and the premaster secret is read from the next slot...
Definition: atca_basic_ecdh.c:128
-
ATCA_STATUS atcab_genkey(uint16_t key_id, uint8_t *public_key)
Issues GenKey command, which generates a new random private key in slot and returns the public key...
Definition: atca_basic_genkey.c:103
-
ATCA_STATUS atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
Initialize a CMAC calculation using an AES-128 key in the ATECC608A.
Definition: atca_basic_aes.c:273
-
uint32_t total_msg_size
Total number of message bytes processed.
Definition: atca_basic.h:196
-
ATCA_STATUS atcab_random(uint8_t *rand_out)
Executes Random command, which generates a 32 byte random number from the CryptoAuth device...
Definition: atca_basic_random.c:43
-
ATCA_STATUS atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms)
ECDH command with a private key in TempKey and the premaster secret is returned in the clear...
Definition: atca_basic_ecdh.c:210
-
ATCA_STATUS atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
Add message data to a SHA context for performing a hardware SHA-256 operation on a device...
Definition: atca_basic_sha.c:223
-
ATCA_STATUS atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
Executes the Write command, which writes either 4 or 32 bytes of data into a device zone...
Definition: atca_basic_write.c:121
-
uint8_t block[ATCA_SHA256_BLOCK_SIZE *2]
Unprocessed message storage.
Definition: atca_basic.h:198
-
uint8_t key_block
Index of the 16-byte block to use within the key location for the actual key.
Definition: atca_basic.h:99
-
ATCA_STATUS atcab_lock_data_slot(uint16_t slot)
Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices...
Definition: atca_basic_lock.c:137
-
ATCA_STATUS atcab_lock(uint8_t mode, uint16_t summary_crc)
The Lock command prevents future modifications of the Configuration and/or Data and OTP zones...
Definition: atca_basic_lock.c:50
-
ATCA_STATUS atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key st...
Definition: atca_basic_verify.c:344
-
ATCA_STATUS atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size)
Executes SHA command, which computes a SHA-256 or HMAC/SHA-256 digest for general purpose use by the ...
Definition: atca_basic_sha.c:70
-
atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADev...
Definition: atca_device.h:44
-
ATCA_STATUS atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message)
Executes SHA command to complete SHA-256 or HMAC/SHA-256 operation.
Definition: atca_basic_sha.c:153
-
ATCADevice atcab_get_device(void)
Get the global device object.
Definition: atca_basic.c:155
+Go to the documentation of this file.
1 
28 #ifndef ATCACERT_PEM_H
29 #define ATCACERT_PEM_H
30 
31 #include <stdint.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #define PEM_CERT_BEGIN "-----BEGIN CERTIFICATE-----"
38 #define PEM_CERT_END "-----END CERTIFICATE-----"
39 #define PEM_CSR_BEGIN "-----BEGIN CERTIFICATE REQUEST-----"
40 #define PEM_CSR_END "-----END CERTIFICATE REQUEST-----"
41 
53 int atcacert_encode_pem(const uint8_t* der,
54  size_t der_size,
55  char* pem,
56  size_t* pem_size,
57  const char* header,
58  const char* footer);
59 
71 int atcacert_decode_pem(const char* pem,
72  size_t pem_size,
73  uint8_t* der,
74  size_t* der_size,
75  const char* header,
76  const char* footer);
77 
87 int atcacert_encode_pem_cert(const uint8_t* der_cert, size_t der_cert_size, char* pem_cert, size_t* pem_cert_size);
88 
98 int atcacert_decode_pem_cert(const char* pem_cert, size_t pem_cert_size, uint8_t* der_cert, size_t* der_cert_size);
99 
109 int atcacert_encode_pem_csr(const uint8_t* der_csr, size_t der_csr_size, char* pem_csr, size_t* pem_csr_size);
110 
120 int atcacert_decode_pem_csr(const char* pem_csr, size_t pem_csr_size, uint8_t* der_csr, size_t* der_csr_size);
121 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 #endif
int atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer)
Encode a DER data in PEM format.
Definition: atcacert_pem.c:5
+
int atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size)
Decode a PEM certificate into DER format.
Definition: atcacert_pem.c:145
+
int atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer)
Decode PEM data into DER format.
Definition: atcacert_pem.c:73
+
int atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size)
Encode a DER certificate in PEM format.
Definition: atcacert_pem.c:123
+
int atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size)
Encode a DER CSR in PEM format.
Definition: atcacert_pem.c:134
+
int atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size)
Extract the CSR certificate bytes from a PEM encoded CSR certificate.
Definition: atcacert_pem.c:156
-

CryptoAuthLib Basic API methods for AES command. +

CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "host/atca_host.h"
+ + + +

+Macros

#define MAX_BUSES   4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
 Compute the AES-128 encrypt, decrypt, or GFM calculation. More...
 
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
 Perform an AES-128 encrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
 Perform an AES-128 decrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
 Perform a Galois Field Multiply (GFM) operation. More...
 
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
 Initialize context for AES CBC operation. More...
 
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
 Initialize a CMAC calculation using an AES-128 key in the ATECC608A. More...
 
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
 Add data to an initialized CMAC calculation. More...
 
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
 Finish a CMAC operation returning the CMAC value. More...
 
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
 Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
 Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_version (char *ver_str)
 basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the basic API is it is based on a single interface instance and that instance is global, so all basic API commands assume that one global device is the one to operate on. More...
 
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
 Creates a global ATCADevice object used by Basic API. More...
 
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
 Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ basic API. More...
 
ATCA_STATUS atcab_release (void)
 release (free) the global ATCADevice instance. This must be called in order to release or free up the interface. More...
 
ATCADevice atcab_get_device (void)
 Get the global device object. More...
 
ATCA_STATUS atcab_wakeup (void)
 wakeup the CryptoAuth device More...
 
ATCA_STATUS atcab_idle (void)
 idle the CryptoAuth device More...
 
ATCA_STATUS atcab_sleep (void)
 invoke sleep on the CryptoAuth device More...
 
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max_ifaces)
 auto discovery of crypto auth devices More...
 
ATCA_STATUS _atcab_exit (void)
 common cleanup code which idles the device after any operation More...
 
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
 Compute the address given the zone, slot, block, and offset. More...
 
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
 Gets the size of the specified zone in bytes. More...
 
+ + + + +

+Variables

const char atca_version [] = { "20190104" }
 
ATCADevice _gDevice = NULL
 

Detailed Description

-

CryptoAuthLib Basic API methods for AES command.

-

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

-
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
+

CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods.

-
+

Macro Definition Documentation

+ +

◆ MAX_BUSES

+ +
+
+ + + + +
#define MAX_BUSES   4
+
+ +
+
+

Variable Documentation

+ +

◆ atca_version

+ +
+
+ + + + +
const char atca_version[] = { "20190104" }
+
+ +
+
+
-

CryptoAuthLib Basic API methods for CheckMAC command. +

CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-
+ +

Go to the source code of this file.

+
+ + + + + + + + + +

+Data Structures

struct  atca_aes_cbc_ctx
 
struct  atca_aes_cmac_ctx
 
struct  atca_aes_ctr_ctx
 
struct  atca_sha256_ctx
 
+ + + + + + + + + +

+Macros

#define TBD   void
 
#define BLOCK_NUMBER(a)   (a / 32)
 
#define WORD_OFFSET(a)   ((a % 32) / 4)
 
#define ATCA_AES_GCM_IV_STD_LENGTH   12
 
+ + + + + + + + + + + +

+Typedefs

typedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t
 
typedef struct atca_aes_cmac_ctx atca_aes_cmac_ctx_t
 
typedef struct atca_aes_ctr_ctx atca_aes_ctr_ctx_t
 
typedef struct atca_sha256_ctx atca_sha256_ctx_t
 
typedef atca_sha256_ctx_t atca_hmac_sha256_ctx_t
 
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
 Compares a MAC response with input values. More...
ATCA_STATUS atcab_version (char *ver_str)
 basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the basic API is it is based on a single interface instance and that instance is global, so all basic API commands assume that one global device is the one to operate on. More...
 
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
 Creates a global ATCADevice object used by Basic API. More...
 
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
 Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ basic API. More...
 
ATCA_STATUS atcab_release (void)
 release (free) the global ATCADevice instance. This must be called in order to release or free up the interface. More...
 
ATCADevice atcab_get_device (void)
 Get the global device object. More...
 
ATCA_STATUS _atcab_exit (void)
 common cleanup code which idles the device after any operation More...
 
ATCA_STATUS atcab_wakeup (void)
 wakeup the CryptoAuth device More...
 
ATCA_STATUS atcab_idle (void)
 idle the CryptoAuth device More...
 
ATCA_STATUS atcab_sleep (void)
 invoke sleep on the CryptoAuth device More...
 
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max)
 auto discovery of crypto auth devices More...
 
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
 Compute the address given the zone, slot, block, and offset. More...
 
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
 Gets the size of the specified zone in bytes. More...
 
ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
 Compute the AES-128 encrypt, decrypt, or GFM calculation. More...
 
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
 Perform an AES-128 encrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
 Perform an AES-128 decrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
 Perform a Galois Field Multiply (GFM) operation. More...
 
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
 Initialize context for AES CBC operation. More...
 
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
 Initialize a CMAC calculation using an AES-128 key in the ATECC608A. More...
 
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
 Add data to an initialized CMAC calculation. More...
 
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
 Finish a CMAC operation returning the CMAC value. More...
 
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
 Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
 Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_increment (atca_aes_ctr_ctx_t *ctx)
 Increments AES CTR counter value. More...
 
ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
 Compares a MAC response with input values. More...
 
ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
 Compute the Counter functions. More...
 
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
 Increments one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
 Read one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t key_id, const uint8_t *mac)
 Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key. More...
 
ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
 Base function for generating premaster secret key using ECDH. More...
 
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in a slot and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
 ECDH command with a private key in a slot and the premaster secret is read from the next slot. More...
 
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in TempKey and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
 Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the contents of TempKey. See the CryptoAuth datasheet for your chip to see what the values of zone correspond to. More...
 
ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
 Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest of a public key. More...
 
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
 Issues GenKey command, which generates a new random private key in slot and returns the public key. More...
 
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
 Uses GenKey command to calculate the public key from an existing private key in a slot. More...
 
ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
 Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
 Issues an Info command, which return internal device information and can control GPIO and the persistent latch. More...
 
ATCA_STATUS atcab_info (uint8_t *revision)
 Use the Info command to get the device revision (DevRev). More...
 
ATCA_STATUS atcab_info_set_latch (bool state)
 Use the Info command to set the persistent latch state for an ATECC608A device. More...
 
ATCA_STATUS atcab_info_get_latch (bool *state)
 Use the Info command to get the persistent latch current state for an ATECC608A device. More...
 
ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
 Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes. More...
 
ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
 The Lock command prevents future modifications of the Configuration and/or Data and OTP zones. If the device is so configured, then this command can be used to lock individual data slots. This command fails if the designated area is already locked. More...
 
ATCA_STATUS atcab_lock_config_zone (void)
 Unconditionally (no CRC required) lock the config zone. More...
 
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
 Lock the config zone with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_zone (void)
 Unconditionally (no CRC required) lock the data zone (slots and OTP). More...
 
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
 Lock the data zone (slots and OTP) with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
 Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices. Slot must be configured to be slot lockable (KeyConfig.Lockable=1). More...
 
ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
 Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
 Executes PrivWrite command, to write externally generated ECC private keys into the device. More...
 
ATCA_STATUS atcab_random (uint8_t *rand_out)
 Executes Random command, which generates a 32 byte random number from the CryptoAuth device. More...
 
ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
 Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone. More...
 
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified zone is locked. More...
 
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified slot is locked. More...
 
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
 Used to read an arbitrary number of bytes from any zone configured for clear reads. More...
 
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
 Executes Read command, which reads the 9 byte serial number of the device from the config zone. More...
 
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
 Executes Read command to read an ECC P256 public key from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
 Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
 Executes Read command to read the complete device configuration zone. More...
 
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
 Compares a specified configuration zone with the configuration zone currently on the device. More...
 
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as plaintext. More...
 
ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
 Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU. More...
 
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection key. More...
 
ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
 Executes the SelfTest command, which performs a test of one or more of the cryptographic engines within the ATECC608A chip. More...
 
ATCA_STATUS atcab_sha_base (uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size)
 Executes SHA command, which computes a SHA-256 or HMAC/SHA-256 digest for general purpose use by the host system. More...
 
ATCA_STATUS atcab_sha_start (void)
 Executes SHA command to initialize SHA-256 calculation engine. More...
 
ATCA_STATUS atcab_sha_update (const uint8_t *message)
 Executes SHA command to add 64 bytes of message data to the current context. More...
 
ATCA_STATUS atcab_sha_end (uint8_t *digest, uint16_t length, const uint8_t *message)
 Executes SHA command to complete SHA-256 or HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_read_context (uint8_t *context, uint16_t *context_size)
 Executes SHA command to read the SHA-256 context back. Only for ATECC608A with SHA-256 contexts. HMAC not supported. More...
 
ATCA_STATUS atcab_sha_write_context (const uint8_t *context, uint16_t context_size)
 Executes SHA command to write (restore) a SHA-256 context into the the device. Only supported for ATECC608A with SHA-256 contexts. More...
 
ATCA_STATUS atcab_sha (uint16_t length, const uint8_t *message, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_t *ctx)
 Initialize a SHA context for performing a hardware SHA-256 operation on a device. Note that only one SHA operation can be run at a time. More...
 
ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Add message data to a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_t *ctx, uint8_t *digest)
 Finish SHA-256 digest for a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
 Executes SHA command to start an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Executes SHA command to add an arbitrary amount of message data to a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
 Executes SHA command to complete a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac (const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
 Use the SHA command to compute an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
 Executes the Sign command, which generates a signature using the ECDSA algorithm. More...
 
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
 Executes Sign command, to sign a 32-byte external message using the private key in the specified slot. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
 Executes Sign command to sign an internally generated message. More...
 
ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
 Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zone (bytes 84 and 85). More...
 
ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
 Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly generated from a given message and public key. In all cases, the signature is an input to the command. More...
 
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key stored in the device. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with a public key stored in the device. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Validate mode to validate a public key stored in a slot. More...
 
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Invalidate mode which invalidates a previously validated public key stored in a slot. More...
 
ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
 Executes the Write command, which writes either one four byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for this slot, the data may be required to be encrypted by the system prior to being sent to the device. This command cannot be used to write slots configured as ECC private keys. More...
 
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
 Executes the Write command, which writes either 4 or 32 bytes of data into a device zone. More...
 
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
 Executes the Write command, which writes data into the configuration, otp, or data zones with a given byte offset and length. Offset and length must be multiples of a word (4 bytes). More...
 
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
 Executes the Write command, which writes a public key to a data slot in the device format. More...
 
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
 Executes the Write command, which writes the configuration zone. More...
 
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes the Write command, which performs an encrypted write of a 32 byte block into given slot. More...
 
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
 Initialize one of the monotonic counters in device with a specific value. More...
 
+ + +

+Variables

ATCADevice _gDevice
 

Detailed Description

-

CryptoAuthLib Basic API methods for CheckMAC command.

-

The CheckMac command calculates a MAC response that would have been generated on a different CryptoAuthentication device and then compares the result with input value.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to.

-
+

Macro Definition Documentation

+ +

◆ TBD

+ +
+
+ + + + +
#define TBD   void
+
+ +
+
+
-

CryptoAuthLib Basic API methods for Counter command. +

CryptoAuthLib Basic API methods for AES command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
 Compute the Counter functions. More...
 
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
 Increments one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
 Read one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
 Compute the AES-128 encrypt, decrypt, or GFM calculation. More...
 
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
 Perform an AES-128 encrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
 Perform an AES-128 decrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
 Perform a Galois Field Multiply (GFM) operation. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Counter command.

-

The Counter command reads or increments the binary count value for one of the two monotonic counters

-
Note
List of devices that support this command - ATECC508A and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for AES command.

+

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-

CryptoAuthLib Basic API methods for DeriveKey command. +

CryptoAuthLib Basic API methods for AES CBC mode. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
- - - + + + + + + + + +

Functions

ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t target_key, const uint8_t *mac)
 Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key. More...
 
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
 Initialize context for AES CBC operation. More...
 
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for DeriveKey command.

-

The DeriveKey command combines the current value of a key with the nonce stored in TempKey using SHA-256 and derives a new key.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for AES CBC mode.

+

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-

CryptoAuthLib Basic API methods for ECDH command. +

CryptoAuthLib Basic API methods for AES CBC_MAC mode. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
- - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
 Base function for generating premaster secret key using ECDH. More...
 
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in a slot and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
 ECDH command with a private key in a slot and the premaster secret is read from the next slot. More...
 
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in TempKey and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
 Initialize a CMAC calculation using an AES-128 key in the ATECC608A. More...
 
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
 Add data to an initialized CMAC calculation. More...
 
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
 Finish a CMAC operation returning the CMAC value. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for ECDH command.

-

The ECDH command implements the Elliptic Curve Diffie-Hellman algorithm to combine an internal private key with an external public key to calculate a shared secret.

-
Note
List of devices that support this command - ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for AES CBC_MAC mode.

+

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-

CryptoAuthLib Basic API methods for GenDig command. +

CryptoAuthLib Basic API methods for AES CTR mode. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "basic/atca_basic.h"
- - - + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
 Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the contents of TempKey. See the CryptoAuth datasheet for your chip to see what the values of zone correspond to. More...
 
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
 Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
 Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_increment (atca_aes_ctr_ctx_t *ctx)
 Increments AES CTR counter value. More...
 
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for GenDig command.

-

The GenDig command uses SHA-256 to combine a stored value with the contents of TempKey, which must have been valid prior to the execution of this command.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for AES CTR mode.

+

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-

CryptoAuthLib Basic API methods for GenKey command. +

CryptoAuthLib Basic API methods for AES GCM mode. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic_aes_gcm.h"
+#include "atca_compiler.h"
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
 Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest of a public key. More...
 
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
 Issues GenKey command, which generates a new random private key in slot and returns the public key. More...
 
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
 Uses GenKey command to calculate the public key from an existing private key in a slot. More...
 
ATCA_STATUS atcab_aes_gcm_init (atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size)
 Initialize context for AES GCM operation with an existing IV, which is common when starting a decrypt operation. More...
 
ATCA_STATUS atcab_aes_gcm_init_rand (atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv)
 Initialize context for AES GCM operation with a IV composed of a random and optional fixed(free) field, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_gcm_aad_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size)
 Process Additional Authenticated Data (AAD) using GCM mode and a key within the ATECC608A device. More...
 
ATCA_STATUS atcab_aes_gcm_encrypt_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext)
 Encrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_gcm_encrypt_finish (atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size)
 Complete a GCM encrypt operation returning the authentication tag. More...
 
ATCA_STATUS atcab_aes_gcm_decrypt_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext)
 Decrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_gcm_decrypt_finish (atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified)
 Complete a GCM decrypt operation verifying the authentication tag. More...
 
+ + +

+Variables

const char * atca_basic_aes_gcm_version = "1.0"
 

Detailed Description

-

CryptoAuthLib Basic API methods for GenKey command.

-

The GenKey command is used for creating ECC private keys, generating ECC public keys, and for digest calculations involving public keys.

-
Note
List of devices that support this command - ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for AES GCM mode.

+

The AES command supports 128-bit AES encryption or decryption of small messages or data packets in ECB mode. Also can perform GFM (Galois Field Multiply) calculation in support of AES-GCM.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-
+

Function Documentation

+ +

◆ atcab_aes_gcm_aad_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_aad_update (atca_aes_gcm_ctx_tctx,
const uint8_t * aad,
uint32_t aad_size 
)
+
+ +

Process Additional Authenticated Data (AAD) using GCM mode and a key within the ATECC608A device.

+

This can be called multiple times. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. When there is AAD to include, this should be called before atcab_aes_gcm_encrypt_update() or atcab_aes_gcm_decrypt_update().

+
Parameters
+ + + + +
[in]ctxAES GCM context
[in]aadAdditional authenticated data to be added
[in]aad_sizeSize of aad in bytes
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_decrypt_finish()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_decrypt_finish (atca_aes_gcm_ctx_tctx,
const uint8_t * tag,
size_t tag_size,
bool * is_verified 
)
+
+ +

Complete a GCM decrypt operation verifying the authentication tag.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]tagExpected authentication tag.
[in]tag_sizeSize of tag in bytes (12 to 16 bytes).
[out]is_verifiedReturns whether or not the tag verified.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_decrypt_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_decrypt_update (atca_aes_gcm_ctx_tctx,
const uint8_t * ciphertext,
uint32_t ciphertext_size,
uint8_t * plaintext 
)
+
+ +

Decrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]ciphertextCiphertext to be decrypted.
[in]ciphertext_sizeSize of ciphertext in bytes.
[out]plaintextDecrypted data is returned here.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_encrypt_finish()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_encrypt_finish (atca_aes_gcm_ctx_tctx,
uint8_t * tag,
size_t tag_size 
)
+
+ +

Complete a GCM encrypt operation returning the authentication tag.

+
Parameters
+ + + + +
[in]ctxAES GCM context structure.
[out]tagAuthentication tag is returned here.
[in]tag_sizeTag size in bytes (12 to 16 bytes).
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_encrypt_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_encrypt_update (atca_aes_gcm_ctx_tctx,
const uint8_t * plaintext,
uint32_t plaintext_size,
uint8_t * ciphertext 
)
+
+ +

Encrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]plaintextPlaintext to be encrypted (16 bytes).
[in]plaintext_sizeSize of plaintext in bytes.
[out]ciphertextEncrypted data is returned here.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_init (atca_aes_gcm_ctx_tctx,
uint16_t key_id,
uint8_t key_block,
const uint8_t * iv,
size_t iv_size 
)
+
+ +

Initialize context for AES GCM operation with an existing IV, which is common when starting a decrypt operation.

+
Parameters
+ + + + + + +
[in]ctxAES GCM context to be initialized.
[in]key_idKey location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
[in]key_blockIndex of the 16-byte block to use within the key location for the actual key.
[in]ivInitialization vector.
[in]iv_sizeSize of IV in bytes. Standard is 12 bytes.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_init_rand()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_init_rand (atca_aes_gcm_ctx_tctx,
uint16_t key_id,
uint8_t key_block,
size_t rand_size,
const uint8_t * free_field,
size_t free_field_size,
uint8_t * iv 
)
+
+ +

Initialize context for AES GCM operation with a IV composed of a random and optional fixed(free) field, which is common when starting an encrypt operation.

+
Parameters
+ + + + + + + + +
[in]ctxAES CTR context to be initialized.
[in]key_idKey location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
[in]key_blockIndex of the 16-byte block to use within the key location for the actual key.
[in]rand_sizeSize of the random field in bytes. Minimum and recommended size is 12 bytes. Max is 32 bytes.
[in]free_fieldFixed data to include in the IV after the random field. Can be NULL if not used.
[in]free_field_sizeSize of the free field in bytes.
[out]ivInitialization vector is returned here. Its size will be rand_size and free_field_size combined.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+

Variable Documentation

+ +

◆ atca_basic_aes_gcm_version

+ +
+
+ + + + +
const char* atca_basic_aes_gcm_version = "1.0"
+
+ +
+
+
-

CryptoAuthLib Basic API methods for HMAC command. +

Unity tests for the cryptoauthlib AES GCM functions. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-
+
#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+
+ + + +

+Data Structures

struct  atca_aes_gcm_ctx
 
+ + + +

+Typedefs

typedef struct atca_aes_gcm_ctx atca_aes_gcm_ctx_t
 
- - - + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
 Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_aes_gcm_init (atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size)
 Initialize context for AES GCM operation with an existing IV, which is common when starting a decrypt operation. More...
 
ATCA_STATUS atcab_aes_gcm_init_rand (atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv)
 Initialize context for AES GCM operation with a IV composed of a random and optional fixed(free) field, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_gcm_aad_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size)
 Process Additional Authenticated Data (AAD) using GCM mode and a key within the ATECC608A device. More...
 
ATCA_STATUS atcab_aes_gcm_encrypt_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext)
 Encrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_gcm_encrypt_finish (atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size)
 Complete a GCM encrypt operation returning the authentication tag. More...
 
ATCA_STATUS atcab_aes_gcm_decrypt_update (atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext)
 Decrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_gcm_decrypt_finish (atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified)
 Complete a GCM decrypt operation verifying the authentication tag. More...
 
+ + +

+Variables

const char * atca_basic_aes_gcm_version
 

Detailed Description

-

CryptoAuthLib Basic API methods for HMAC command.

-

The HMAC command computes an HMAC/SHA-256 digest using a key stored in the device over a challenge stored in the TempKey register, and/or other information stored within the device.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, and ATECC508A . There are differences in the modes that they support. Refer to device datasheets for full details.
+

Unity tests for the cryptoauthlib AES GCM functions.

-
+

Typedef Documentation

+ +

◆ atca_aes_gcm_ctx_t

+ +
+
+ + + + +
typedef struct atca_aes_gcm_ctx atca_aes_gcm_ctx_t
+
+

Context structure for AES GCM operations.

+ +
+
+

Function Documentation

+ +

◆ atcab_aes_gcm_aad_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_aad_update (atca_aes_gcm_ctx_tctx,
const uint8_t * aad,
uint32_t aad_size 
)
+
+ +

Process Additional Authenticated Data (AAD) using GCM mode and a key within the ATECC608A device.

+

This can be called multiple times. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function. When there is AAD to include, this should be called before atcab_aes_gcm_encrypt_update() or atcab_aes_gcm_decrypt_update().

+
Parameters
+ + + + +
[in]ctxAES GCM context
[in]aadAdditional authenticated data to be added
[in]aad_sizeSize of aad in bytes
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_decrypt_finish()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_decrypt_finish (atca_aes_gcm_ctx_tctx,
const uint8_t * tag,
size_t tag_size,
bool * is_verified 
)
+
+ +

Complete a GCM decrypt operation verifying the authentication tag.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]tagExpected authentication tag.
[in]tag_sizeSize of tag in bytes (12 to 16 bytes).
[out]is_verifiedReturns whether or not the tag verified.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_decrypt_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_decrypt_update (atca_aes_gcm_ctx_tctx,
const uint8_t * ciphertext,
uint32_t ciphertext_size,
uint8_t * plaintext 
)
+
+ +

Decrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]ciphertextCiphertext to be decrypted.
[in]ciphertext_sizeSize of ciphertext in bytes.
[out]plaintextDecrypted data is returned here.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_encrypt_finish()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_encrypt_finish (atca_aes_gcm_ctx_tctx,
uint8_t * tag,
size_t tag_size 
)
+
+ +

Complete a GCM encrypt operation returning the authentication tag.

+
Parameters
+ + + + +
[in]ctxAES GCM context structure.
[out]tagAuthentication tag is returned here.
[in]tag_sizeTag size in bytes (12 to 16 bytes).
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_encrypt_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_encrypt_update (atca_aes_gcm_ctx_tctx,
const uint8_t * plaintext,
uint32_t plaintext_size,
uint8_t * ciphertext 
)
+
+ +

Encrypt data using GCM mode and a key within the ATECC608A device. atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called before the first use of this function.

+
Parameters
+ + + + + +
[in]ctxAES GCM context structure.
[in]plaintextPlaintext to be encrypted (16 bytes).
[in]plaintext_sizeSize of plaintext in bytes.
[out]ciphertextEncrypted data is returned here.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_init (atca_aes_gcm_ctx_tctx,
uint16_t key_id,
uint8_t key_block,
const uint8_t * iv,
size_t iv_size 
)
+
+ +

Initialize context for AES GCM operation with an existing IV, which is common when starting a decrypt operation.

+
Parameters
+ + + + + + +
[in]ctxAES GCM context to be initialized.
[in]key_idKey location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
[in]key_blockIndex of the 16-byte block to use within the key location for the actual key.
[in]ivInitialization vector.
[in]iv_sizeSize of IV in bytes. Standard is 12 bytes.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ atcab_aes_gcm_init_rand()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS atcab_aes_gcm_init_rand (atca_aes_gcm_ctx_tctx,
uint16_t key_id,
uint8_t key_block,
size_t rand_size,
const uint8_t * free_field,
size_t free_field_size,
uint8_t * iv 
)
+
+ +

Initialize context for AES GCM operation with a IV composed of a random and optional fixed(free) field, which is common when starting an encrypt operation.

+
Parameters
+ + + + + + + + +
[in]ctxAES CTR context to be initialized.
[in]key_idKey location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.
[in]key_blockIndex of the 16-byte block to use within the key location for the actual key.
[in]rand_sizeSize of the random field in bytes. Minimum and recommended size is 12 bytes. Max is 32 bytes.
[in]free_fieldFixed data to include in the IV after the random field. Can be NULL if not used.
[in]free_field_sizeSize of the free field in bytes.
[out]ivInitialization vector is returned here. Its size will be rand_size and free_field_size combined.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+

Variable Documentation

+ +

◆ atca_basic_aes_gcm_version

+ +
+
+ + + + +
const char* atca_basic_aes_gcm_version
+
+ +
+
+
-

CryptoAuthLib Basic API methods for Info command. +

CryptoAuthLib Basic API methods for CheckMAC command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - - - - + + +

Functions

ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
 Issues an Info command, which return internal device information and can control GPIO and the persistent latch. More...
 
ATCA_STATUS atcab_info (uint8_t *revision)
 Use the Info command to get the device revision (DevRev). More...
 
ATCA_STATUS atcab_info_get_latch (bool *state)
 Use the Info command to get the persistent latch current state for an ATECC608A device. More...
 
ATCA_STATUS atcab_info_set_latch (bool state)
 Use the Info command to set the persistent latch state for an ATECC608A device. More...
 
ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
 Compares a MAC response with input values. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Info command.

-

Info command returns a variety of static and dynamic information about the device and its state. Also is used to control the GPIO pin and the persistent latch.

-
Note
The ATSHA204A refers to this command as DevRev instead of Info, however, the OpCode and operation is the same.
-
-List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A & ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for CheckMAC command.

+

The CheckMac command calculates a MAC response that would have been generated on a different CryptoAuthentication device and then compares the result with input value.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for KDF command. +

CryptoAuthLib Basic API methods for Counter command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - + + + + + + + + +

Functions

ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
 Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes. More...
 
ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
 Compute the Counter functions. More...
 
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
 Increments one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
 Read one of the device's monotonic counters. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for KDF command.

-

The KDF command implements one of a number of Key Derivation Functions (KDF). Generally this function combines a source key with an input string and creates a result key/digest/array. Three algorithms are currently supported: PRF, HKDF and AES.

-
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
+

CryptoAuthLib Basic API methods for Counter command.

+

The Counter command reads or increments the binary count value for one of the two monotonic counters

+
Note
List of devices that support this command - ATECC508A and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Lock command. +

CryptoAuthLib Basic API methods for DeriveKey command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
 The Lock command prevents future modifications of the Configuration and/or Data and OTP zones. If the device is so configured, then this command can be used to lock individual data slots. This command fails if the designated area is already locked. More...
 
ATCA_STATUS atcab_lock_config_zone (void)
 Unconditionally (no CRC required) lock the config zone. More...
 
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
 Lock the config zone with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_zone (void)
 Unconditionally (no CRC required) lock the data zone (slots and OTP). More...
 
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
 Lock the data zone (slots and OTP) with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
 Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices. Slot must be configured to be slot lockable (KeyConfig.Lockable=1). More...
 
ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t target_key, const uint8_t *mac)
 Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Lock command.

-

The Lock command prevents future modifications of the Configuration zone, enables configured policies for Data and OTP zones, and can render individual slots read-only regardless of configuration.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for DeriveKey command.

+

The DeriveKey command combines the current value of a key with the nonce stored in TempKey using SHA-256 and derives a new key.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for MAC command. +

CryptoAuthLib Basic API methods for ECDH command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
- - - + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
 Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
 Base function for generating premaster secret key using ECDH. More...
 
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in a slot and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
 ECDH command with a private key in a slot and the premaster secret is read from the next slot. More...
 
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in TempKey and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the IO protection key. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for MAC command.

-

The MAC command computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. The output of this command is the digest of this message.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for ECDH command.

+

The ECDH command implements the Elliptic Curve Diffie-Hellman algorithm to combine an internal private key with an external public key to calculate a shared secret.

+
Note
List of devices that support this command - ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Nonce command. +

CryptoAuthLib Basic API methods for GenDig command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
 Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the contents of TempKey. See the CryptoAuth datasheet for your chip to see what the values of zone correspond to. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Nonce command.

-

The Nonce command generates a nonce for use by a subsequent commands of the device by combining an internally generated random number with an input value from the system.

+

CryptoAuthLib Basic API methods for GenDig command.

+

The GenDig command uses SHA-256 to combine a stored value with the contents of TempKey, which must have been valid prior to the execution of this command.

Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
@@ -129,7 +114,7 @@
-

CryptoAuthLib Basic API methods for PrivWrite command. +

CryptoAuthLib Basic API methods for GenKey command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - + + + + + + + + +

Functions

ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
 Executes PrivWrite command, to write externally generated ECC private keys into the device. More...
 
ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
 Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest of a public key. More...
 
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
 Issues GenKey command, which generates a new random private key in slot and returns the public key. More...
 
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
 Uses GenKey command to calculate the public key from an existing private key in a slot. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for PrivWrite command.

-

The PrivWrite command is used to write externally generated ECC private keys into the device.

-
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for GenKey command.

+

The GenKey command is used for creating ECC private keys, generating ECC public keys, and for digest calculations involving public keys.

+
Note
List of devices that support this command - ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Random command. +

CryptoAuthLib Basic API methods for HMAC command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - + + +

Functions

ATCA_STATUS atcab_random (uint8_t *rand_out)
 Executes Random command, which generates a 32 byte random number from the CryptoAuth device. More...
 
ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
 Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Random command.

-

The Random command generates a random number for use by the system.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for HMAC command.

+

The HMAC command computes an HMAC/SHA-256 digest using a key stored in the device over a challenge stored in the TempKey register, and/or other information stored within the device.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, and ATECC508A . There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Read command. +

CryptoAuthLib Basic API methods for Info command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
 Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone. More...
 
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
 Executes Read command, which reads the 9 byte serial number of the device from the config zone. More...
 
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified slot is locked. More...
 
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified zone is locked. More...
 
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as plaintext. More...
 
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
 Executes Read command to read the complete device configuration zone. More...
 
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
 Compares a specified configuration zone with the configuration zone currently on the device. More...
 
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
 Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
 Executes Read command to read an ECC P256 public key from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
 Used to read an arbitrary number of bytes from any zone configured for clear reads. More...
 
ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
 Issues an Info command, which return internal device information and can control GPIO and the persistent latch. More...
 
ATCA_STATUS atcab_info (uint8_t *revision)
 Use the Info command to get the device revision (DevRev). More...
 
ATCA_STATUS atcab_info_get_latch (bool *state)
 Use the Info command to get the persistent latch current state for an ATECC608A device. More...
 
ATCA_STATUS atcab_info_set_latch (bool state)
 Use the Info command to set the persistent latch state for an ATECC608A device. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Read command.

-

The Read command reads words either 4-byte words or 32-byte blocks from one of the memory zones of the device. The data may optionally be encrypted before being returned to the system.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for Info command.

+

Info command returns a variety of static and dynamic information about the device and its state. Also is used to control the GPIO pin and the persistent latch.

+
Note
The ATSHA204A refers to this command as DevRev instead of Info, however, the OpCode and operation is the same.
+
+List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A & ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for SecureBoot command. +

CryptoAuthLib Basic API methods for KDF command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - + + +

Functions

ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
 Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU. More...
 
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection key. More...
 
ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
 Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for SecureBoot command.

-

The SecureBoot command provides support for secure boot of an external MCU or MPU.

+

CryptoAuthLib Basic API methods for KDF command.

+

The KDF command implements one of a number of Key Derivation Functions (KDF). Generally this function combines a source key with an input string and creates a result key/digest/array. Three algorithms are currently supported: PRF, HKDF and AES.

Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
@@ -118,7 +114,7 @@
-

CryptoAuthLib Basic API methods for SelfTest command. +

CryptoAuthLib Basic API methods for Lock command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
 Executes the SelfTest command, which performs a test of one or more of the cryptographic engines within the ATECC608A chip. More...
 
ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
 The Lock command prevents future modifications of the Configuration and/or Data and OTP zones. If the device is so configured, then this command can be used to lock individual data slots. This command fails if the designated area is already locked. More...
 
ATCA_STATUS atcab_lock_config_zone (void)
 Unconditionally (no CRC required) lock the config zone. More...
 
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
 Lock the config zone with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_zone (void)
 Unconditionally (no CRC required) lock the data zone (slots and OTP). More...
 
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
 Lock the data zone (slots and OTP) with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
 Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices. Slot must be configured to be slot lockable (KeyConfig.Lockable=1). More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for SelfTest command.

-

The SelfTest command performs a test of one or more of the cryptographic engines within the device.

-
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
+

CryptoAuthLib Basic API methods for Lock command.

+

The Lock command prevents future modifications of the Configuration zone, enables configured policies for Data and OTP zones, and can render individual slots read-only regardless of configuration.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for SHA command. +

CryptoAuthLib Basic API methods for MAC command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - -

-Data Structures

struct  hw_sha256_ctx
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS atcab_sha_base (uint8_t mode, uint16_t length, const uint8_t *message, uint8_t *data_out, uint16_t *data_out_size)
 Executes SHA command, which computes a SHA-256 or HMAC/SHA-256 digest for general purpose use by the host system. More...
 
ATCA_STATUS atcab_sha_start (void)
 Executes SHA command to initialize SHA-256 calculation engine. More...
 
ATCA_STATUS atcab_sha_update (const uint8_t *message)
 Executes SHA command to add 64 bytes of message data to the current context. More...
 
ATCA_STATUS atcab_sha_end (uint8_t *digest, uint16_t length, const uint8_t *message)
 Executes SHA command to complete SHA-256 or HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_read_context (uint8_t *context, uint16_t *context_size)
 Executes SHA command to read the SHA-256 context back. Only for ATECC608A with SHA-256 contexts. HMAC not supported. More...
 
ATCA_STATUS atcab_sha_write_context (const uint8_t *context, uint16_t context_size)
 Executes SHA command to write (restore) a SHA-256 context into the the device. Only supported for ATECC608A with SHA-256 contexts. More...
 
ATCA_STATUS atcab_sha (uint16_t length, const uint8_t *message, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_t *ctx)
 Initialize a SHA context for performing a hardware SHA-256 operation on a device. Note that only one SHA operation can be run at a time. More...
 
ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Add message data to a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_t *ctx, uint8_t *digest)
 Finish SHA-256 digest for a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_hw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
 Executes SHA command to start an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Executes SHA command to add an arbitrary amount of message data to a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
 Executes SHA command to complete a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac (const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
 Use the SHA command to compute an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
 Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for SHA command.

-

The SHA command Computes a SHA-256 or HMAC/SHA digest for general purpose use by the host system.

+

CryptoAuthLib Basic API methods for MAC command.

+

The MAC command computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. The output of this command is the digest of this message.

Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
@@ -162,7 +114,7 @@
-

CryptoAuthLib Basic API methods for Sign command. +

CryptoAuthLib Basic API methods for Nonce command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
 Executes the Sign command, which generates a signature using the ECDSA algorithm. More...
 
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
 Executes Sign command, to sign a 32-byte external message using the private key in the specified slot. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
 Executes Sign command to sign an internally generated message. More...
 
ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Sign command.

-

The Sign command generates a signature using the private key in slot with ECDSA algorithm.

-
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for Nonce command.

+

The Nonce command generates a nonce for use by a subsequent commands of the device by combining an internally generated random number with an input value from the system.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for UpdateExtra command. +

CryptoAuthLib Basic API methods for PrivWrite command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
- - - + + +

Functions

ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
 Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zone (bytes 84 and 85). More...
 
ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
 Executes PrivWrite command, to write externally generated ECC private keys into the device. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for UpdateExtra command.

-

The UpdateExtra command is used to update the values of the two extra bytes within the Configuration zone after the Configuration zone has been locked.

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for PrivWrite command.

+

The PrivWrite command is used to write externally generated ECC private keys into the device.

+
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Verify command. +

CryptoAuthLib Basic API methods for Random command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
 Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly generated from a given message and public key. In all cases, the signature is an input to the command. More...
 
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key stored in the device. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with a public key stored in the device. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Validate mode to validate a public key stored in a slot. More...
 
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Invalidate mode which invalidates a previously validated public key stored in a slot. More...
 
ATCA_STATUS atcab_random (uint8_t *rand_out)
 Executes Random command, which generates a 32 byte random number from the CryptoAuth device. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Verify command.

-

The Verify command takes an ECDSA [R,S] signature and verifies that it is correctly generated given an input message digest and public key.

-
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheet for full details.
+

CryptoAuthLib Basic API methods for Random command.

+

The Random command generates a random number for use by the system.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

CryptoAuthLib Basic API methods for Write command. +

CryptoAuthLib Basic API methods for Read command. More...

-
#include "atca_basic.h"
-#include "atca_execution.h"
-#include "host/atca_host.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
 Executes the Write command, which writes either one four byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for this slot, the data may be required to be encrypted by the system prior to being sent to the device. This command cannot be used to write slots configured as ECC private keys. More...
 
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
 Executes the Write command, which writes either 4 or 32 bytes of data into a device zone. More...
 
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes the Write command, which performs an encrypted write of a 32 byte block into given slot. More...
 
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
 Executes the Write command, which writes the configuration zone. More...
 
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
 Executes the Write command, which writes a public key to a data slot in the device format. More...
 
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
 Executes the Write command, which writes data into the configuration, otp, or data zones with a given byte offset and length. Offset and length must be multiples of a word (4 bytes). More...
 
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
 Initialize one of the monotonic counters in device with a specific value. More...
 
ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
 Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone. More...
 
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
 Executes Read command, which reads the 9 byte serial number of the device from the config zone. More...
 
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified slot is locked. More...
 
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified zone is locked. More...
 
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as plaintext. More...
 
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
 Executes Read command to read the complete device configuration zone. More...
 
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
 Compares a specified configuration zone with the configuration zone currently on the device. More...
 
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
 Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
 Executes Read command to read an ECC P256 public key from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
 Used to read an arbitrary number of bytes from any zone configured for clear reads. More...
 

Detailed Description

-

CryptoAuthLib Basic API methods for Write command.

-

The Write command writes either one 4-byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for a slot, the data may be required to be encrypted by the system prior to being sent to the device

-
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
+

CryptoAuthLib Basic API methods for Read command.

+

The Read command reads words either 4-byte words or 32-byte blocks from one of the memory zones of the device. The data may optionally be encrypted before being returned to the system.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

Helpers to support the CryptoAuthLib Basic API methods. +

CryptoAuthLib Basic API methods for SecureBoot command. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "cryptoauthlib.h"
-#include "atca_helpers.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
- - - - - -

-Macros

#define B64_IS_EQUAL   (uint8_t)64
 
#define B64_IS_INVALID   (uint8_t)0xFF
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
 Convert a binary buffer to a hex string for easy reading. More...
 
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
 Function that converts a binary buffer to a hex string suitable for easy reading. More...
 
ATCA_STATUS atcab_hex2bin (const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size)
 Function that converts a hex string to binary buffer. More...
 
bool isDigit (char c)
 Checks to see if a character is an ASCII representation of a digit ((c ge '0') and (c le '9')) More...
 
bool isWhiteSpace (char c)
 Checks to see if a character is whitespace. More...
 
bool isAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHexAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHex (char c)
 Returns true if this character is a valid hex character or if this is whitespace (The character can be included in a valid hexstring). More...
 
bool isHexDigit (char c)
 Returns true if this character is a valid hex character. More...
 
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
 Remove white space from a ASCII hex string. More...
 
bool isBase64 (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character or if this is whitespace (A character can be included in a valid base 64 string). More...
 
bool isBase64Digit (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character. More...
 
uint8_t base64Index (char c, const uint8_t *rules)
 Returns the base 64 index of the given character. More...
 
char base64Char (uint8_t id, const uint8_t *rules)
 Returns the base 64 character of the given index. More...
 
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
 Decode base64 string to data with ruleset option. More...
 
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
 Encode data as base64 string with ruleset option. More...
 
ATCA_STATUS atcab_base64encode (const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len)
 Encode data as base64 string. More...
 
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len)
 Decode base64 string to data. More...
 
- - - - - - - + + + + + +

-Variables

uint8_t atcab_b64rules_default [4] = { '+', '/', '=', 64 }
 
uint8_t atcab_b64rules_mime [4] = { '+', '/', '=', 76 }
 
uint8_t atcab_b64rules_urlsafe [4] = { '-', '_', 0, 0 }
 
ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
 Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU. More...
 
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection key. More...
 

Detailed Description

-

Helpers to support the CryptoAuthLib Basic API methods.

+

CryptoAuthLib Basic API methods for SecureBoot command.

+

The SecureBoot command provides support for secure boot of an external MCU or MPU.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
-

Macro Definition Documentation

- -

◆ B64_IS_EQUAL

- -
-
- - - - -
#define B64_IS_EQUAL   (uint8_t)64
-
- -
-
- -

◆ B64_IS_INVALID

- -
-
- - - - -
#define B64_IS_INVALID   (uint8_t)0xFF
-
- -
-
-
+
-

Helpers to support the CryptoAuthLib Basic API methods. +

CryptoAuthLib Basic API methods for SelfTest command. More...

-
#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

- +
#include "atca_basic.h"
+#include "atca_execution.h"
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS atcab_printbin (uint8_t *binary, size_t bin_len, bool add_space)
 
ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
 Convert a binary buffer to a hex string for easy reading. More...
 
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
 Function that converts a binary buffer to a hex string suitable for easy reading. More...
 
ATCA_STATUS atcab_hex2bin (const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
 Function that converts a hex string to binary buffer. More...
 
ATCA_STATUS atcab_printbin_sp (uint8_t *binary, size_t bin_len)
 
ATCA_STATUS atcab_printbin_label (const char *label, uint8_t *binary, size_t bin_len)
 
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
 Remove white space from a ASCII hex string. More...
 
bool isDigit (char c)
 Checks to see if a character is an ASCII representation of a digit ((c ge '0') and (c le '9')) More...
 
bool isWhiteSpace (char c)
 Checks to see if a character is whitespace. More...
 
bool isAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHexAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHex (char c)
 Returns true if this character is a valid hex character or if this is whitespace (The character can be included in a valid hexstring). More...
 
bool isHexDigit (char c)
 Returns true if this character is a valid hex character. More...
 
bool isBase64 (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character or if this is whitespace (A character can be included in a valid base 64 string). More...
 
bool isBase64Digit (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character. More...
 
uint8_t base64Index (char c, const uint8_t *rules)
 Returns the base 64 index of the given character. More...
 
char base64Char (uint8_t id, const uint8_t *rules)
 Returns the base 64 character of the given index. More...
 
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
 Decode base64 string to data with ruleset option. More...
 
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
 Decode base64 string to data. More...
 
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
 Encode data as base64 string with ruleset option. More...
 
ATCA_STATUS atcab_base64encode (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
 Encode data as base64 string. More...
 
- - - - - - - + + +

-Variables

uint8_t atcab_b64rules_default [4]
 
uint8_t atcab_b64rules_mime [4]
 
uint8_t atcab_b64rules_urlsafe [4]
 
ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
 Executes the SelfTest command, which performs a test of one or more of the cryptographic engines within the ATECC608A chip. More...
 

Detailed Description

-

Helpers to support the CryptoAuthLib Basic API methods.

+

CryptoAuthLib Basic API methods for SelfTest command.

+

The SelfTest command performs a test of one or more of the cryptographic engines within the device.

+
Note
List of devices that support this command - ATECC608A. Refer to device datasheet for full details.
+
-
atca_crypto_sw.h File Reference
+
atca_basic_sign.c File Reference
-

Common defines for CryptoAuthLib software crypto wrappers. +

CryptoAuthLib Basic API methods for Sign command. More...

-
#include "atca_status.h"
-
-

Go to the source code of this file.

+
#include "atca_basic.h"
+#include "atca_execution.h"
+
+ + + + + + + + + + +

+Functions

ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
 Executes the Sign command, which generates a signature using the ECDSA algorithm. More...
 
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
 Executes Sign command, to sign a 32-byte external message using the private key in the specified slot. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
 Executes Sign command to sign an internally generated message. More...
 

Detailed Description

-

Common defines for CryptoAuthLib software crypto wrappers.

+

CryptoAuthLib Basic API methods for Sign command.

+

The Sign command generates a signature using the private key in slot with ECDSA algorithm.

+
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-

API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC. +

CryptoAuthLib Basic API methods for UpdateExtra command. More...

-
#include "atca_crypto_sw_ecdsa.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
- - - + + +

Functions

int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
 return software generated ECDSA verification result and the function is currently not implemented More...
 
ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
 Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zone (bytes 84 and 85). More...
 

Detailed Description

-

API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC.

+

CryptoAuthLib Basic API methods for UpdateExtra command.

+

The UpdateExtra command is used to update the values of the two extra bytes within the Configuration zone after the Configuration zone has been locked.

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-
#include "atca_crypto_sw.h"
-#include <stddef.h>
-#include <stdint.h>
-
-

Go to the source code of this file.

- - - - - - - - - - -

-Macros

#define ATCA_ECC_P256_FIELD_SIZE   (256 / 8)
 
#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)
 
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
#define ATCA_ECC_P256_SIGNATURE_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
+ +

CryptoAuthLib Basic API methods for Verify command. +More...

+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
+
- - - + + + + + + + + + + + + + + + + + + + + +

Functions

int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
 return software generated ECDSA verification result and the function is currently not implemented More...
 
ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
 Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly generated from a given message and public key. In all cases, the signature is an input to the command. More...
 
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key stored in the device. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with a public key stored in the device. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Validate mode to validate a public key stored in a slot. More...
 
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Invalidate mode which invalidates a previously validated public key stored in a slot. More...
 

Detailed Description

-
+

CryptoAuthLib Basic API methods for Verify command.

+

The Verify command takes an ECDSA [R,S] signature and verifies that it is correctly generated given an input message digest and public key.

+
Note
List of devices that support this command - ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheet for full details.
+
-

API wrapper for software random. +

CryptoAuthLib Basic API methods for Write command. More...

-
#include "atca_crypto_sw_rand.h"
+
#include "atca_basic.h"
+#include "atca_execution.h"
+#include "host/atca_host.h"
- - - + + + + + + + + + + + + + + + + + + + + +

Functions

int atcac_sw_random (uint8_t *data, size_t data_size)
 return software generated random number and the function is currently not implemented More...
 
ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
 Executes the Write command, which writes either one four byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for this slot, the data may be required to be encrypted by the system prior to being sent to the device. This command cannot be used to write slots configured as ECC private keys. More...
 
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
 Executes the Write command, which writes either 4 or 32 bytes of data into a device zone. More...
 
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes the Write command, which performs an encrypted write of a 32 byte block into given slot. More...
 
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
 Executes the Write command, which writes the configuration zone. More...
 
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
 Executes the Write command, which writes a public key to a data slot in the device format. More...
 
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
 Executes the Write command, which writes data into the configuration, otp, or data zones with a given byte offset and length. Offset and length must be multiples of a word (4 bytes). More...
 
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
 Initialize one of the monotonic counters in device with a specific value. More...
 

Detailed Description

-

API wrapper for software random.

+

CryptoAuthLib Basic API methods for Write command.

+

The Write command writes either one 4-byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for a slot, the data may be required to be encrypted by the system prior to being sent to the device

+
Note
List of devices that support this command - ATSHA204A, ATECC108A, ATECC508A, and ATECC608A. There are differences in the modes that they support. Refer to device datasheets for full details.
-
#include "atca_crypto_sw.h"
-#include <stddef.h>
-#include <stdint.h>
-
-

Go to the source code of this file.

- + +

Helpers to support the CryptoAuthLib Basic API methods. +More...

+
#include <stdlib.h>
+#include <stdio.h>
+#include "cryptoauthlib.h"
+#include "atca_helpers.h"
+
+ + + + + +

+Macros

#define B64_IS_EQUAL   (uint8_t)64
 
#define B64_IS_INVALID   (uint8_t)0xFF
 
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcac_sw_random (uint8_t *data, size_t data_size)
 return software generated random number and the function is currently not implemented More...
 
ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
 Convert a binary buffer to a hex string for easy reading. More...
 
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
 Function that converts a binary buffer to a hex string suitable for easy reading. More...
 
ATCA_STATUS atcab_hex2bin (const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size)
 Function that converts a hex string to binary buffer. More...
 
bool isDigit (char c)
 Checks to see if a character is an ASCII representation of a digit ((c ge '0') and (c le '9')) More...
 
bool isWhiteSpace (char c)
 Checks to see if a character is whitespace. More...
 
bool isAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHexAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHex (char c)
 Returns true if this character is a valid hex character or if this is whitespace (The character can be included in a valid hexstring). More...
 
bool isHexDigit (char c)
 Returns true if this character is a valid hex character. More...
 
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
 Remove white space from a ASCII hex string. More...
 
bool isBase64 (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character or if this is whitespace (A character can be included in a valid base 64 string). More...
 
bool isBase64Digit (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character. More...
 
uint8_t base64Index (char c, const uint8_t *rules)
 Returns the base 64 index of the given character. More...
 
char base64Char (uint8_t id, const uint8_t *rules)
 Returns the base 64 character of the given index. More...
 
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
 Decode base64 string to data with ruleset option. More...
 
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
 Encode data as base64 string with ruleset option. More...
 
ATCA_STATUS atcab_base64encode (const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len)
 Encode data as base64 string. More...
 
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len)
 Decode base64 string to data. More...
 
+ + + + + + +

+Variables

uint8_t atcab_b64rules_default [4] = { '+', '/', '=', 64 }
 
uint8_t atcab_b64rules_mime [4] = { '+', '/', '=', 76 }
 
uint8_t atcab_b64rules_urlsafe [4] = { '-', '_', 0, 0 }
 

Detailed Description

-
-
+

Helpers to support the CryptoAuthLib Basic API methods.

+ +

Macro Definition Documentation

+ +

◆ B64_IS_EQUAL

+ +
+
+ + + + +
#define B64_IS_EQUAL   (uint8_t)64
+
+ +
+
+ +

◆ B64_IS_INVALID

+ +
+
+ + + + +
#define B64_IS_INVALID   (uint8_t)0xFF
+
+ +
+
+
-

Wrapper API for SHA 1 routines. +

Helpers to support the CryptoAuthLib Basic API methods. More...

- +
#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
 Add arbitrary data to a SHA1 hash. More...
 
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Complete the SHA1 hash in software and return the digest. More...
 
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Perform SHA1 hash of data in software. More...
 
ATCA_STATUS atcab_printbin (uint8_t *binary, size_t bin_len, bool add_space)
 
ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
 Convert a binary buffer to a hex string for easy reading. More...
 
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
 Function that converts a binary buffer to a hex string suitable for easy reading. More...
 
ATCA_STATUS atcab_hex2bin (const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
 Function that converts a hex string to binary buffer. More...
 
ATCA_STATUS atcab_printbin_sp (uint8_t *binary, size_t bin_len)
 
ATCA_STATUS atcab_printbin_label (const char *label, uint8_t *binary, size_t bin_len)
 
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
 Remove white space from a ASCII hex string. More...
 
bool isDigit (char c)
 Checks to see if a character is an ASCII representation of a digit ((c ge '0') and (c le '9')) More...
 
bool isWhiteSpace (char c)
 Checks to see if a character is whitespace. More...
 
bool isAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHexAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHex (char c)
 Returns true if this character is a valid hex character or if this is whitespace (The character can be included in a valid hexstring). More...
 
bool isHexDigit (char c)
 Returns true if this character is a valid hex character. More...
 
bool isBase64 (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character or if this is whitespace (A character can be included in a valid base 64 string). More...
 
bool isBase64Digit (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character. More...
 
uint8_t base64Index (char c, const uint8_t *rules)
 Returns the base 64 index of the given character. More...
 
char base64Char (uint8_t id, const uint8_t *rules)
 Returns the base 64 character of the given index. More...
 
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
 Decode base64 string to data with ruleset option. More...
 
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
 Decode base64 string to data. More...
 
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
 Encode data as base64 string with ruleset option. More...
 
ATCA_STATUS atcab_base64encode (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
 Encode data as base64 string. More...
 
+ + + + + + +

+Variables

uint8_t atcab_b64rules_default [4]
 
uint8_t atcab_b64rules_mime [4]
 
uint8_t atcab_b64rules_urlsafe [4]
 

Detailed Description

-

Wrapper API for SHA 1 routines.

+

Helpers to support the CryptoAuthLib Basic API methods.

@@ -90,38 +90,38 @@
atca_helpers.h
-Go to the documentation of this file.
1 
28 #ifndef ATCA_HELPERS_H_
29 #define ATCA_HELPERS_H_
30 
31 #include "cryptoauthlib.h"
32 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 ATCA_STATUS atcab_printbin(uint8_t* binary, size_t bin_len, bool add_space);
45 ATCA_STATUS atcab_bin2hex(const uint8_t* bin, size_t bin_size, char* hex, size_t* hex_size);
46 ATCA_STATUS atcab_bin2hex_(const uint8_t* bin, size_t bin_size, char* hex, size_t* hex_size, bool is_pretty);
47 ATCA_STATUS atcab_hex2bin(const char* ascii_hex, size_t ascii_hex_len, uint8_t* binary, size_t* bin_len);
48 ATCA_STATUS atcab_printbin_sp(uint8_t* binary, size_t bin_len);
49 ATCA_STATUS atcab_printbin_label(const char* label, uint8_t* binary, size_t bin_len);
50 
51 
52 ATCA_STATUS packHex(const char* ascii_hex, size_t ascii_hex_len, char* packed_hex, size_t* packed_len);
53 bool isDigit(char c);
54 bool isWhiteSpace(char c);
55 bool isAlpha(char c);
56 bool isHexAlpha(char c);
57 bool isHex(char c);
58 bool isHexDigit(char c);
59 
60 bool isBase64(char c, const uint8_t * rules);
61 bool isBase64Digit(char c, const uint8_t * rules);
62 uint8_t base64Index(char c, const uint8_t * rules);
63 char base64Char(uint8_t id, const uint8_t * rules);
64 
65 extern uint8_t atcab_b64rules_default[4];
66 extern uint8_t atcab_b64rules_mime[4];
67 extern uint8_t atcab_b64rules_urlsafe[4];
68 
69 ATCA_STATUS atcab_base64decode_(const char* encoded, size_t encoded_size, uint8_t* data, size_t* data_size, const uint8_t * rules);
70 ATCA_STATUS atcab_base64decode(const char* encoded, size_t encoded_size, uint8_t* data, size_t* data_size);
71 
72 ATCA_STATUS atcab_base64encode_(const uint8_t* data, size_t data_size, char* encoded, size_t* encoded_size, const uint8_t * rules);
73 ATCA_STATUS atcab_base64encode(const uint8_t* data, size_t data_size, char* encoded, size_t* encoded_size);
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 
80 #endif /* ATCA_HELPERS_H_ */
ATCA_STATUS atcab_printbin(uint8_t *binary, size_t bin_len, bool add_space)
-
bool isWhiteSpace(char c)
Checks to see if a character is whitespace.
Definition: atca_helpers.c:234
-
uint8_t atcab_b64rules_default[4]
Definition: atca_helpers.c:41
-
uint8_t atcab_b64rules_urlsafe[4]
Definition: atca_helpers.c:43
-
ATCA_STATUS atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
Function that converts a hex string to binary buffer.
Definition: atca_helpers.c:179
-
ATCA_STATUS
Definition: atca_status.h:41
-
bool isBase64(char c, const uint8_t *rules)
Returns true if this character is a valid base 64 character or if this is whitespace (A character can...
Definition: atca_helpers.c:398
-
bool isHex(char c)
Returns true if this character is a valid hex character or if this is whitespace (The character can b...
Definition: atca_helpers.c:265
-
bool isDigit(char c)
Checks to see if a character is an ASCII representation of a digit ((c ge &#39;0&#39;) and (c le &#39;9&#39;)) ...
Definition: atca_helpers.c:224
-
bool isHexAlpha(char c)
Checks to see if a character is an ASCII representation of hex ((c >= &#39;A&#39;) and (c <= &#39;F&#39;)) || ((c >= ...
Definition: atca_helpers.c:254
-
Single aggregation point for all CryptoAuthLib header files.
-
ATCA_STATUS atcab_printbin_label(const char *label, uint8_t *binary, size_t bin_len)
-
ATCA_STATUS atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
Convert a binary buffer to a hex string for easy reading.
Definition: atca_helpers.c:54
-
ATCA_STATUS atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
Encode data as base64 string with ruleset option.
Definition: atca_helpers.c:626
-
ATCA_STATUS atcab_printbin_sp(uint8_t *binary, size_t bin_len)
-
bool isHexDigit(char c)
Returns true if this character is a valid hex character.
Definition: atca_helpers.c:275
-
ATCA_STATUS atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
Decode base64 string to data.
Definition: atca_helpers.c:757
-
ATCA_STATUS atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
Function that converts a binary buffer to a hex string suitable for easy reading. ...
Definition: atca_helpers.c:93
-
bool isAlpha(char c)
Checks to see if a character is an ASCII representation of hex ((c >= &#39;A&#39;) and (c <= &#39;F&#39;)) || ((c >= ...
Definition: atca_helpers.c:244
-
ATCA_STATUS atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
Encode data as base64 string.
Definition: atca_helpers.c:741
-
uint8_t atcab_b64rules_mime[4]
Definition: atca_helpers.c:42
-
ATCA_STATUS atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
Decode base64 string to data with ruleset option.
Definition: atca_helpers.c:548
-
uint8_t base64Index(char c, const uint8_t *rules)
Returns the base 64 index of the given character.
Definition: atca_helpers.c:420
-
bool isBase64Digit(char c, const uint8_t *rules)
Returns true if this character is a valid base 64 character.
Definition: atca_helpers.c:409
-
ATCA_STATUS packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
Remove white space from a ASCII hex string.
Definition: atca_helpers.c:289
-
char base64Char(uint8_t id, const uint8_t *rules)
Returns the base 64 character of the given index.
Definition: atca_helpers.c:455
+Go to the documentation of this file.
1 
28 #ifndef ATCA_HELPERS_H_
29 #define ATCA_HELPERS_H_
30 
31 #include "cryptoauthlib.h"
32 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 ATCA_STATUS atcab_printbin(uint8_t* binary, size_t bin_len, bool add_space);
45 ATCA_STATUS atcab_bin2hex(const uint8_t* bin, size_t bin_size, char* hex, size_t* hex_size);
46 ATCA_STATUS atcab_bin2hex_(const uint8_t* bin, size_t bin_size, char* hex, size_t* hex_size, bool is_pretty);
47 ATCA_STATUS atcab_hex2bin(const char* ascii_hex, size_t ascii_hex_len, uint8_t* binary, size_t* bin_len);
48 ATCA_STATUS atcab_printbin_sp(uint8_t* binary, size_t bin_len);
49 ATCA_STATUS atcab_printbin_label(const char* label, uint8_t* binary, size_t bin_len);
50 
51 
52 ATCA_STATUS packHex(const char* ascii_hex, size_t ascii_hex_len, char* packed_hex, size_t* packed_len);
53 bool isDigit(char c);
54 bool isWhiteSpace(char c);
55 bool isAlpha(char c);
56 bool isHexAlpha(char c);
57 bool isHex(char c);
58 bool isHexDigit(char c);
59 
60 bool isBase64(char c, const uint8_t * rules);
61 bool isBase64Digit(char c, const uint8_t * rules);
62 uint8_t base64Index(char c, const uint8_t * rules);
63 char base64Char(uint8_t id, const uint8_t * rules);
64 
65 extern uint8_t atcab_b64rules_default[4];
66 extern uint8_t atcab_b64rules_mime[4];
67 extern uint8_t atcab_b64rules_urlsafe[4];
68 
69 ATCA_STATUS atcab_base64decode_(const char* encoded, size_t encoded_size, uint8_t* data, size_t* data_size, const uint8_t * rules);
70 ATCA_STATUS atcab_base64decode(const char* encoded, size_t encoded_size, uint8_t* data, size_t* data_size);
71 
72 ATCA_STATUS atcab_base64encode_(const uint8_t* data, size_t data_size, char* encoded, size_t* encoded_size, const uint8_t * rules);
73 ATCA_STATUS atcab_base64encode(const uint8_t* data, size_t data_size, char* encoded, size_t* encoded_size);
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 
80 #endif /* ATCA_HELPERS_H_ */
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
Function that converts a hex string to binary buffer.
Definition: atca_helpers.c:179
+
uint8_t atcab_b64rules_mime[4]
Definition: atca_helpers.c:42
+
ATCA_STATUS packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
Remove white space from a ASCII hex string.
Definition: atca_helpers.c:289
+
ATCA_STATUS atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
Encode data as base64 string.
Definition: atca_helpers.c:741
+
ATCA_STATUS atcab_printbin(uint8_t *binary, size_t bin_len, bool add_space)
+
ATCA_STATUS atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
Decode base64 string to data with ruleset option.
Definition: atca_helpers.c:548
+
ATCA_STATUS atcab_printbin_label(const char *label, uint8_t *binary, size_t bin_len)
+
bool isWhiteSpace(char c)
Checks to see if a character is whitespace.
Definition: atca_helpers.c:234
+
bool isHexDigit(char c)
Returns true if this character is a valid hex character.
Definition: atca_helpers.c:275
+
bool isBase64Digit(char c, const uint8_t *rules)
Returns true if this character is a valid base 64 character.
Definition: atca_helpers.c:409
+
uint8_t atcab_b64rules_urlsafe[4]
Definition: atca_helpers.c:43
+
ATCA_STATUS atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
Function that converts a binary buffer to a hex string suitable for easy reading. ...
Definition: atca_helpers.c:93
+
bool isBase64(char c, const uint8_t *rules)
Returns true if this character is a valid base 64 character or if this is whitespace (A character can...
Definition: atca_helpers.c:398
+
uint8_t atcab_b64rules_default[4]
Definition: atca_helpers.c:41
+
ATCA_STATUS atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
Decode base64 string to data.
Definition: atca_helpers.c:757
+
ATCA_STATUS atcab_printbin_sp(uint8_t *binary, size_t bin_len)
+
Single aggregation point for all CryptoAuthLib header files.
+
bool isDigit(char c)
Checks to see if a character is an ASCII representation of a digit ((c ge &#39;0&#39;) and (c le &#39;9&#39;)) ...
Definition: atca_helpers.c:224
+
char base64Char(uint8_t id, const uint8_t *rules)
Returns the base 64 character of the given index.
Definition: atca_helpers.c:455
+
ATCA_STATUS atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
Encode data as base64 string with ruleset option.
Definition: atca_helpers.c:626
+
bool isAlpha(char c)
Checks to see if a character is an ASCII representation of hex ((c >= &#39;A&#39;) and (c <= &#39;F&#39;)) || ((c >= ...
Definition: atca_helpers.c:244
+
bool isHexAlpha(char c)
Checks to see if a character is an ASCII representation of hex ((c >= &#39;A&#39;) and (c <= &#39;F&#39;)) || ((c >= ...
Definition: atca_helpers.c:254
+
bool isHex(char c)
Returns true if this character is a valid hex character or if this is whitespace (The character can b...
Definition: atca_helpers.c:265
+
uint8_t base64Index(char c, const uint8_t *rules)
Returns the base 64 index of the given character.
Definition: atca_helpers.c:420
+
ATCA_STATUS atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
Convert a binary buffer to a hex string for easy reading.
Definition: atca_helpers.c:54
-
-
atca_crypto_sw_sha2.c File Reference
+
atca_crypto_sw.h File Reference
-

Wrapper API for software SHA 256 routines. +

Common defines for CryptoAuthLib software crypto wrappers. More...

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

-Functions

int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
 initializes the SHA256 software More...
 
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
+
#include "atca_status.h"
+
+

Go to the source code of this file.

Detailed Description

-

Wrapper API for software SHA 256 routines.

+

Common defines for CryptoAuthLib software crypto wrappers.

@@ -90,13 +90,13 @@
atca_crypto_sw.h
-Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_H
29 #define ATCA_CRYPTO_SW_H
30 
31 #include "atca_status.h"
32 
33 #endif
Microchip Crypto Auth status codes.
+Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_H
29 #define ATCA_CRYPTO_SW_H
30 
31 #include "atca_status.h"
32 
33 #endif
Microchip Crypto Auth status codes.
-

Wrapper API for software SHA 256 routines. +

API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC. More...

-
#include "atca_crypto_sw.h"
-#include <stddef.h>
-#include <stdint.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  atcac_sha2_256_ctx
 
- - - -

-Macros

#define ATCA_SHA2_256_DIGEST_SIZE   (32)
 
+
- - - - - - - - - - - - + + +

Functions

int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
 initializes the SHA256 software More...
 
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
 return software generated ECDSA verification result and the function is currently not implemented More...
 

Detailed Description

-

Wrapper API for software SHA 256 routines.

+

API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC.

- -

Software implementation of the SHA1 algorithm. -More...

-
#include "sha1_routines.h"
-#include <string.h>
-
+
#include "atca_crypto_sw.h"
+#include <stddef.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+
+ + + + + + + + + +

+Macros

#define ATCA_ECC_P256_FIELD_SIZE   (256 / 8)
 
#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)
 
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
#define ATCA_ECC_P256_SIGNATURE_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
- - - - - - - - - - - - - - + + +

Functions

void CL_hashInit (CL_HashContext *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
void CL_hashUpdate (CL_HashContext *ctx, const U8 *src, int nbytes)
 Add arbitrary data to a SHA1 hash. More...
 
void CL_hashFinal (CL_HashContext *ctx, U8 *dest)
 Complete the SHA1 hash in software and return the digest. More...
 
void CL_hash (U8 *msg, int msgBytes, U8 *dest)
 Perform SHA1 hash of data in software. More...
 
void shaEngine (U32 *buf, U32 *h)
 
int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
 return software generated ECDSA verification result and the function is currently not implemented More...
 

Detailed Description

-

Software implementation of the SHA1 algorithm.

- -

Function Documentation

- -

◆ CL_hash()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void CL_hash (U8msg,
int msgBytes,
U8dest 
)
-
- -

Perform SHA1 hash of data in software.

-
Parameters
- - - - -
[in]msgData to be hashed
[in]msgBytesData size in bytes
[out]destDigest is returned here (20 bytes)
-
-
- -
-
- -

◆ CL_hashFinal()

- -
-
- - - - - - - - - - - - - - - - - - -
void CL_hashFinal (CL_HashContextctx,
U8dest 
)
-
- -

Complete the SHA1 hash in software and return the digest.

-
Parameters
- - - -
[in]ctxHash context
[out]destDigest is returned here (20 bytes)
-
-
- -
-
- -

◆ CL_hashInit()

- -
-
- - - - - - - - -
void CL_hashInit (CL_HashContextctx)
-
- -

Initialize context for performing SHA1 hash in software.

-
Parameters
- - -
[in]ctxHash context
-
-
- -
-
- -

◆ CL_hashUpdate()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void CL_hashUpdate (CL_HashContextctx,
const U8src,
int nbytes 
)
-
- -

Add arbitrary data to a SHA1 hash.

-
Parameters
- - - - -
[in]ctxHash context
[in]srcData to be added to the hash
[in]nbytesData size in bytes
-
-
- -
-
- -

◆ shaEngine()

- -
-
- - - - - - - - - - - - - - - - - - -
void shaEngine (U32buf,
U32h 
)
-
- -
-
-
+
+
@@ -90,17 +90,17 @@
atca_crypto_sw_ecdsa.h
-Go to the documentation of this file.
1 
29 #ifndef ATCA_CRYPTO_SW_ECDSA_H
30 #define ATCA_CRYPTO_SW_ECDSA_H
31 
32 #include "atca_crypto_sw.h"
33 #include <stddef.h>
34 #include <stdint.h>
35 
44 #define ATCA_ECC_P256_FIELD_SIZE (256 / 8)
45 #define ATCA_ECC_P256_PRIVATE_KEY_SIZE (ATCA_ECC_P256_FIELD_SIZE)
46 #define ATCA_ECC_P256_PUBLIC_KEY_SIZE (ATCA_ECC_P256_FIELD_SIZE * 2)
47 #define ATCA_ECC_P256_SIGNATURE_SIZE (ATCA_ECC_P256_FIELD_SIZE * 2)
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
54  const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE],
55  const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
62 #endif
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE
Definition: atca_crypto_sw_ecdsa.h:46
-
int atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
return software generated ECDSA verification result and the function is currently not implemented ...
Definition: atca_crypto_sw_ecdsa.c:39
-
#define ATCA_ECC_P256_FIELD_SIZE
Definition: atca_crypto_sw_ecdsa.h:44
-
#define ATCA_ECC_P256_SIGNATURE_SIZE
Definition: atca_crypto_sw_ecdsa.h:47
-
Common defines for CryptoAuthLib software crypto wrappers.
+Go to the documentation of this file.
1 
29 #ifndef ATCA_CRYPTO_SW_ECDSA_H
30 #define ATCA_CRYPTO_SW_ECDSA_H
31 
32 #include "atca_crypto_sw.h"
33 #include <stddef.h>
34 #include <stdint.h>
35 
44 #define ATCA_ECC_P256_FIELD_SIZE (256 / 8)
45 #define ATCA_ECC_P256_PRIVATE_KEY_SIZE (ATCA_ECC_P256_FIELD_SIZE)
46 #define ATCA_ECC_P256_PUBLIC_KEY_SIZE (ATCA_ECC_P256_FIELD_SIZE * 2)
47 #define ATCA_ECC_P256_SIGNATURE_SIZE (ATCA_ECC_P256_FIELD_SIZE * 2)
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
54  const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE],
55  const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
62 #endif
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE
Definition: atca_crypto_sw_ecdsa.h:46
+
Common defines for CryptoAuthLib software crypto wrappers.
+
#define ATCA_ECC_P256_SIGNATURE_SIZE
Definition: atca_crypto_sw_ecdsa.h:47
+
int atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
return software generated ECDSA verification result and the function is currently not implemented ...
Definition: atca_crypto_sw_ecdsa.c:39
+
#define ATCA_ECC_P256_FIELD_SIZE
Definition: atca_crypto_sw_ecdsa.h:44
-

Software implementation of the SHA1 algorithm. +

API wrapper for software random. More...

-
#include <stdio.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <stdint.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  CL_HashContext
 
- - - - - - - - - - - - - - - - - -

-Macros

#define U8   uint8_t
 
#define U16   uint16_t
 
#define U32   uint32_t
 
#define memcpy_P   memmove
 
#define strcpy_P   strcpy
 
#define _WDRESET()
 
#define _NOP()
 
#define leftRotate(x, n)   (x) = (((x) << (n)) | ((x) >> (32 - (n))))
 
+
- - - - - - - - - - - - - - + + +

Functions

void shaEngine (U32 *buf, U32 *h)
 
void CL_hashInit (CL_HashContext *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
void CL_hashUpdate (CL_HashContext *ctx, const U8 *src, int nbytes)
 Add arbitrary data to a SHA1 hash. More...
 
void CL_hashFinal (CL_HashContext *ctx, U8 *dest)
 Complete the SHA1 hash in software and return the digest. More...
 
void CL_hash (U8 *msg, int msgBytes, U8 *dest)
 Perform SHA1 hash of data in software. More...
 
int atcac_sw_random (uint8_t *data, size_t data_size)
 return software generated random number and the function is currently not implemented More...
 

Detailed Description

-

Software implementation of the SHA1 algorithm.

+

API wrapper for software random.

-

Macro Definition Documentation

- -

◆ _NOP

- -
-
- - - - - - - -
#define _NOP()
-
- -
-
- -

◆ _WDRESET

- -
-
- - - - - - - -
#define _WDRESET()
-
- -
-
- -

◆ leftRotate

- -
-
- - - - - - - - - - - - - - - - - - -
#define leftRotate( x,
 
)   (x) = (((x) << (n)) | ((x) >> (32 - (n))))
-
- -
-
- -

◆ memcpy_P

- -
-
- - - - -
#define memcpy_P   memmove
-
- -
-
- -

◆ strcpy_P

- -
-
- - - - -
#define strcpy_P   strcpy
-
- -
-
- -

◆ U16

- -
-
- - - - -
#define U16   uint16_t
-
- -
-
- -

◆ U32

- -
-
- - - - -
#define U32   uint32_t
-
- -
-
- -

◆ U8

- -
-
- - - - -
#define U8   uint8_t
-
- -
-
-

Function Documentation

- -

◆ CL_hash()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void CL_hash (U8msg,
int msgBytes,
U8dest 
)
-
- -

Perform SHA1 hash of data in software.

-
Parameters
- - - - -
[in]msgData to be hashed
[in]msgBytesData size in bytes
[out]destDigest is returned here (20 bytes)
-
-
- -
-
- -

◆ CL_hashFinal()

- -
-
- - - - - - - - - - - - - - - - - - -
void CL_hashFinal (CL_HashContextctx,
U8dest 
)
-
- -

Complete the SHA1 hash in software and return the digest.

-
Parameters
- - - -
[in]ctxHash context
[out]destDigest is returned here (20 bytes)
-
-
- -
-
- -

◆ CL_hashInit()

- -
-
- - - - - - - - -
void CL_hashInit (CL_HashContextctx)
-
- -

Initialize context for performing SHA1 hash in software.

-
Parameters
- - -
[in]ctxHash context
-
-
- -
-
- -

◆ CL_hashUpdate()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void CL_hashUpdate (CL_HashContextctx,
const U8src,
int nbytes 
)
-
- -

Add arbitrary data to a SHA1 hash.

-
Parameters
- - - - -
[in]ctxHash context
[in]srcData to be added to the hash
[in]nbytesData size in bytes
-
-
- -
-
- -

◆ shaEngine()

- -
-
- - - - - - - - - - - - - - - - - - -
void shaEngine (U32buf,
U32h 
)
-
- -
-
-
+
- -

Software implementation of the SHA256 algorithm. -More...

-
#include <string.h>
-#include "sha2_routines.h"
-
- - - -

-Macros

#define rotate_right(value, places)   ((value >> places) | (value << (32 - places)))
 
+
#include "atca_crypto_sw.h"
+#include <stddef.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+
- - - - - - - - - - - - + + +

Functions

void sw_sha256_init (sw_sha256_ctx *ctx)
 Intialize the software SHA256. More...
 
void sw_sha256_update (sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
void sw_sha256_final (sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
void sw_sha256 (const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
int atcac_sw_random (uint8_t *data, size_t data_size)
 return software generated random number and the function is currently not implemented More...
 

Detailed Description

-

Software implementation of the SHA256 algorithm.

- -

Macro Definition Documentation

- -

◆ rotate_right

- -
-
- - - - - - - - - - - - - - - - - - -
#define rotate_right( value,
 places 
)   ((value >> places) | (value << (32 - places)))
-
- -
-
-

Function Documentation

- -

◆ sw_sha256()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void sw_sha256 (const uint8_t * message,
unsigned int len,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
-
- -

single call convenience function which computes Hash of given data using SHA256 software

-
Parameters
- - - - -
[in]messagepointer to stream of data to hash
[in]lensize of data stream to hash
[out]digestresult
-
-
- -
-
- -

◆ sw_sha256_final()

- -
-
- - - - - - - - - - - - - - - - - - -
void sw_sha256_final (sw_sha256_ctxctx,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
-
- -

completes the final SHA256 calculation and returns the final digest/hash

-
Parameters
- - - -
[in]ctxptr to context data structure
[out]digestreceives the computed digest of the SHA 256
-
-
- -
-
- -

◆ sw_sha256_init()

- -
-
- - - - - - - - -
void sw_sha256_init (sw_sha256_ctxctx)
-
- -

Intialize the software SHA256.

-
Parameters
- - -
[in]ctxSHA256 hash context
-
-
- -
-
- -

◆ sw_sha256_update()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void sw_sha256_update (sw_sha256_ctxctx,
const uint8_t * msg,
uint32_t msg_size 
)
-
- -

updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software

-
Parameters
- - - - -
[in]ctxSHA256 hash context
[in]msgRaw blocks to be processed
[in]msg_sizeThe size of the message passed
-
-
- -
-
-
+
+
@@ -90,14 +90,14 @@
atca_crypto_sw_rand.h
-Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_RAND_H
29 #define ATCA_CRYPTO_SW_RAND_H
30 
31 #include "atca_crypto_sw.h"
32 #include <stddef.h>
33 #include <stdint.h>
34 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 int atcac_sw_random(uint8_t* data, size_t data_size);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
53 #endif
int atcac_sw_random(uint8_t *data, size_t data_size)
return software generated random number and the function is currently not implemented ...
Definition: atca_crypto_sw_rand.c:36
-
Common defines for CryptoAuthLib software crypto wrappers.
+Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_RAND_H
29 #define ATCA_CRYPTO_SW_RAND_H
30 
31 #include "atca_crypto_sw.h"
32 #include <stddef.h>
33 #include <stdint.h>
34 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 int atcac_sw_random(uint8_t* data, size_t data_size);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
53 #endif
int atcac_sw_random(uint8_t *data, size_t data_size)
return software generated random number and the function is currently not implemented ...
Definition: atca_crypto_sw_rand.c:36
+
Common defines for CryptoAuthLib software crypto wrappers.
-

Software implementation of the SHA256 algorithm. +

Wrapper API for SHA 1 routines. More...

-
#include <stdint.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  sw_sha256_ctx
 
- - - - - -

-Macros

#define SHA256_DIGEST_SIZE   (32)
 
#define SHA256_BLOCK_SIZE   (64)
 
+
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

void sw_sha256_init (sw_sha256_ctx *ctx)
 Intialize the software SHA256. More...
 
void sw_sha256_update (sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
void sw_sha256_final (sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
void sw_sha256 (const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
 Add arbitrary data to a SHA1 hash. More...
 
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Complete the SHA1 hash in software and return the digest. More...
 
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Perform SHA1 hash of data in software. More...
 

Detailed Description

-

Software implementation of the SHA256 algorithm.

+

Wrapper API for SHA 1 routines.

-

Macro Definition Documentation

- -

◆ SHA256_BLOCK_SIZE

- -
-
- - - - -
#define SHA256_BLOCK_SIZE   (64)
-
- -
-
- -

◆ SHA256_DIGEST_SIZE

- -
-
- - - - -
#define SHA256_DIGEST_SIZE   (32)
-
- -
-
-

Function Documentation

- -

◆ sw_sha256()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void sw_sha256 (const uint8_t * message,
unsigned int len,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
-
- -

single call convenience function which computes Hash of given data using SHA256 software

-
Parameters
- - - - -
[in]messagepointer to stream of data to hash
[in]lensize of data stream to hash
[out]digestresult
-
-
- -
-
- -

◆ sw_sha256_final()

- -
-
- - - - - - - - - - - - - - - - - - -
void sw_sha256_final (sw_sha256_ctxctx,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
-
- -

completes the final SHA256 calculation and returns the final digest/hash

-
Parameters
- - - -
[in]ctxptr to context data structure
[out]digestreceives the computed digest of the SHA 256
-
-
- -
-
- -

◆ sw_sha256_init()

- -
-
- - - - - - - - -
void sw_sha256_init (sw_sha256_ctxctx)
-
- -

Intialize the software SHA256.

-
Parameters
- - -
[in]ctxSHA256 hash context
-
-
- -
-
- -

◆ sw_sha256_update()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void sw_sha256_update (sw_sha256_ctxctx,
const uint8_t * msg,
uint32_t msg_size 
)
-
- -

updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software

-
Parameters
- - - - -
[in]ctxSHA256 hash context
[in]msgRaw blocks to be processed
[in]msg_sizeThe size of the message passed
-
-
- -
-
-
+
-

Single aggregation point for all CryptoAuthLib header files. +

Wrapper API for SHA 1 routines. More...

-
#include <stddef.h>
-#include <string.h>
-#include "hal/atca_hal.h"
-#include "atca_status.h"
-#include "atca_device.h"
-#include "atca_command.h"
-#include "atca_cfgs.h"
-#include "basic/atca_basic.h"
-#include "basic/atca_helpers.h"
+
#include "atca_crypto_sw.h"
+#include <stddef.h>
+#include <stdint.h>

Go to the source code of this file.

+ + + +

+Data Structures

struct  atcac_sha1_ctx
 
- - - - - - - - + + +

Macros

#define BREAK(status, message)   { break; }
 
#define RETURN(status, message)   { return status; }
 
#define PRINT(message)   { break; }
 
#define DBGOUT(message)   { break; }
 
#define ATCA_SHA1_DIGEST_SIZE   (20)
 
+ + + + + + + + + + + + +

+Functions

int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
 Add arbitrary data to a SHA1 hash. More...
 
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Complete the SHA1 hash in software and return the digest. More...
 
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Perform SHA1 hash of data in software. More...
 

Detailed Description

-

Single aggregation point for all CryptoAuthLib header files.

+

Wrapper API for SHA 1 routines.

-

Macro Definition Documentation

- -

◆ BREAK

- -
-
- - - - - - - - - - - - - - - - - - -
#define BREAK( status,
 message 
)   { break; }
-
- -
-
- -

◆ DBGOUT

- -
-
- - - - - - - - -
#define DBGOUT( message)   { break; }
-
- -
-
- -

◆ PRINT

- -
-
- - - - - - - - -
#define PRINT( message)   { break; }
-
- -
-
- -

◆ RETURN

- -
-
- - - - - - - - - - - - - - - - - - -
#define RETURN( status,
 message 
)   { return status; }
-
- -
-
-
+
-Go to the documentation of this file.
1 
28 #ifndef _ATCA_LIB_H
29 #define _ATCA_LIB_H
30 
31 #include <stddef.h>
32 #include <string.h>
33 
34 #include "hal/atca_hal.h"
35 #include "atca_status.h"
36 #include "atca_device.h"
37 #include "atca_command.h"
38 #include "atca_cfgs.h"
39 #include "basic/atca_basic.h"
40 #include "basic/atca_helpers.h"
41 
42 #ifdef ATCAPRINTF
43  #include <stdio.h>
44 //#define BREAK(status, message) {printf(__FUNCTION__": "message" -- Status: %02X\r\n", status); break;}
45  #define BREAK(status, message) { printf(": "message " -- Status: %02X\r\n", status); break; }
46  #define RETURN(status, message) { printf(": "message " -- Status: %02X\r\n", status); return status; }
47  #define PRINTSTAT(status, message) { printf(": "message " -- Status: %02X\r\n", status); }
48  #define PRINT(message) { printf(": "message "\r\n"); break; }
49  #define DBGOUT(message) { printf(": "message "\r\n"); break; }
50 #else
51  #define BREAK(status, message) { break; }
52  #define RETURN(status, message) { return status; }
53  #define PRINT(message) { break; }
54  #define DBGOUT(message) { break; }
55 #endif
56 
57 #endif
Microchip Crypto Auth device object.
-
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-
CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global A...
-
a set of default configurations for various ATCA devices and interfaces
-
Helpers to support the CryptoAuthLib Basic API methods.
-
low-level HAL - methods used to setup indirection to physical layer interface
-
Microchip Crypto Auth status codes.
+Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_SHA1_H
29 #define ATCA_CRYPTO_SW_SHA1_H
30 
31 #include "atca_crypto_sw.h"
32 #include <stddef.h>
33 #include <stdint.h>
34 
43 #define ATCA_SHA1_DIGEST_SIZE (20)
44 
45 typedef struct
46 {
47  uint32_t pad[32];
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
55 int atcac_sw_sha1_update(atcac_sha1_ctx* ctx, const uint8_t* data, size_t data_size);
57 int atcac_sw_sha1(const uint8_t * data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]);
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
64 #endif
int atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
Add arbitrary data to a SHA1 hash.
Definition: atca_crypto_sw_sha1.c:56
+
Definition: atca_crypto_sw_sha1.h:45
+
#define ATCA_SHA1_DIGEST_SIZE
Definition: atca_crypto_sw_sha1.h:43
+
Common defines for CryptoAuthLib software crypto wrappers.
+
int atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
Complete the SHA1 hash in software and return the digest.
Definition: atca_crypto_sw_sha1.c:68
+
int atcac_sw_sha1_init(atcac_sha1_ctx *ctx)
Initialize context for performing SHA1 hash in software.
Definition: atca_crypto_sw_sha1.c:38
+
int atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
Perform SHA1 hash of data in software.
Definition: atca_crypto_sw_sha1.c:82
@@ -87,56 +87,41 @@
-
atca_crypto_sw_sha1.h File Reference
+
atca_crypto_sw_sha2.c File Reference
-

Wrapper API for SHA 1 routines. +

Wrapper API for software SHA 256 routines. More...

-
#include "atca_crypto_sw.h"
-#include <stddef.h>
-#include <stdint.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  atcac_sha1_ctx
 
- - - -

-Macros

#define ATCA_SHA1_DIGEST_SIZE   (20)
 
+
- - - - - - - - - - - - + + + + + + + + + + + +

Functions

int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
 Add arbitrary data to a SHA1 hash. More...
 
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Complete the SHA1 hash in software and return the digest. More...
 
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Perform SHA1 hash of data in software. More...
 
int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
 initializes the SHA256 software More...
 
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 

Detailed Description

-

Wrapper API for SHA 1 routines.

+

Wrapper API for software SHA 256 routines.

-

low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation. +

Wrapper API for software SHA 256 routines. More...

-
#include "cryptoauthlib.h"
-#include "atca_hal.h"
-
+
#include "atca_crypto_sw.h"
+#include <stddef.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+
+ + + +

+Data Structures

struct  atcac_sha2_256_ctx
 
+ + + +

+Macros

#define ATCA_SHA2_256_DIGEST_SIZE   (32)
 
- - - - - - - - - + + + + + + + + + + + +

Functions

ATCA_STATUS hal_iface_init (ATCAIfaceCfg *cfg, ATCAHAL_t *hal)
 Standard HAL API for ATCA to initialize a physical interface. More...
 
ATCA_STATUS hal_iface_release (ATCAIfaceType iface_type, void *hal_data)
 releases a physical interface, HAL knows how to interpret hal_data More...
 
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
 Utility function for hal_wake to check the reply. More...
 
int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
 initializes the SHA256 software More...
 
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 

Detailed Description

-

low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation.

+

Wrapper API for software SHA 256 routines.

@@ -90,19 +90,19 @@
atca_crypto_sw_sha2.h
-Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_SHA2_H
29 #define ATCA_CRYPTO_SW_SHA2_H
30 
31 #include "atca_crypto_sw.h"
32 #include <stddef.h>
33 #include <stdint.h>
34 
43 #define ATCA_SHA2_256_DIGEST_SIZE (32)
44 
45 typedef struct
46 {
47  uint32_t pad[48];
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
55 int atcac_sw_sha2_256_update(atcac_sha2_256_ctx* ctx, const uint8_t* data, size_t data_size);
57 int atcac_sw_sha2_256(const uint8_t * data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]);
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
64 #endif
int atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx)
initializes the SHA256 software
Definition: atca_crypto_sw_sha2.c:36
-
int atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
updates the running hash with the next block of data, called iteratively for the entire stream of dat...
Definition: atca_crypto_sw_sha2.c:55
-
Definition: atca_crypto_sw_sha2.h:45
-
int atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
completes the final SHA256 calculation and returns the final digest/hash
Definition: atca_crypto_sw_sha2.c:68
-
int atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
single call convenience function which computes Hash of given data using SHA256 software ...
Definition: atca_crypto_sw_sha2.c:83
-
#define ATCA_SHA2_256_DIGEST_SIZE
Definition: atca_crypto_sw_sha2.h:43
-
Common defines for CryptoAuthLib software crypto wrappers.
+Go to the documentation of this file.
1 
28 #ifndef ATCA_CRYPTO_SW_SHA2_H
29 #define ATCA_CRYPTO_SW_SHA2_H
30 
31 #include "atca_crypto_sw.h"
32 #include <stddef.h>
33 #include <stdint.h>
34 
43 #define ATCA_SHA2_256_DIGEST_SIZE (32)
44 
45 typedef struct
46 {
47  uint32_t pad[48];
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
55 int atcac_sw_sha2_256_update(atcac_sha2_256_ctx* ctx, const uint8_t* data, size_t data_size);
57 int atcac_sw_sha2_256(const uint8_t * data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]);
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
64 #endif
int atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
single call convenience function which computes Hash of given data using SHA256 software ...
Definition: atca_crypto_sw_sha2.c:83
+
#define ATCA_SHA2_256_DIGEST_SIZE
Definition: atca_crypto_sw_sha2.h:43
+
Common defines for CryptoAuthLib software crypto wrappers.
+
Definition: atca_crypto_sw_sha2.h:45
+
int atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
updates the running hash with the next block of data, called iteratively for the entire stream of dat...
Definition: atca_crypto_sw_sha2.c:55
+
int atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
completes the final SHA256 calculation and returns the final digest/hash
Definition: atca_crypto_sw_sha2.c:68
+
int atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx)
initializes the SHA256 software
Definition: atca_crypto_sw_sha2.c:36
-

low-level HAL - methods used to setup indirection to physical layer interface +

Software implementation of the SHA1 algorithm. More...

-
#include "atca_status.h"
-#include "atca_iface.h"
-#include "atca_start_config.h"
-#include "atca_start_iface.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  ATCAHAL_t
 an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. More...
 
+
#include "sha1_routines.h"
+#include <string.h>
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +

Functions

ATCA_STATUS hal_iface_init (ATCAIfaceCfg *, ATCAHAL_t *hal)
 Standard HAL API for ATCA to initialize a physical interface. More...
 
ATCA_STATUS hal_iface_release (ATCAIfaceType, void *hal_data)
 releases a physical interface, HAL knows how to interpret hal_data More...
 
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
 Utility function for hal_wake to check the reply. More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
 Optional hal interfaces. More...
 
ATCA_STATUS hal_destroy_mutex (void *pMutex)
 
ATCA_STATUS hal_lock_mutex (void *pMutex)
 
ATCA_STATUS hal_unlock_mutex (void *pMutex)
 
void CL_hashInit (CL_HashContext *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
void CL_hashUpdate (CL_HashContext *ctx, const U8 *src, int nbytes)
 Add arbitrary data to a SHA1 hash. More...
 
void CL_hashFinal (CL_HashContext *ctx, U8 *dest)
 Complete the SHA1 hash in software and return the digest. More...
 
void CL_hash (U8 *msg, int msgBytes, U8 *dest)
 Perform SHA1 hash of data in software. More...
 
void shaEngine (U32 *buf, U32 *h)
 

Detailed Description

-

low-level HAL - methods used to setup indirection to physical layer interface

+

Software implementation of the SHA1 algorithm.

-
+

Function Documentation

+ +

◆ CL_hash()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CL_hash (U8msg,
int msgBytes,
U8dest 
)
+
+ +

Perform SHA1 hash of data in software.

+
Parameters
+ + + + +
[in]msgData to be hashed
[in]msgBytesData size in bytes
[out]destDigest is returned here (20 bytes)
+
+
+ +
+
+ +

◆ CL_hashFinal()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CL_hashFinal (CL_HashContextctx,
U8dest 
)
+
+ +

Complete the SHA1 hash in software and return the digest.

+
Parameters
+ + + +
[in]ctxHash context
[out]destDigest is returned here (20 bytes)
+
+
+ +
+
+ +

◆ CL_hashInit()

+ +
+
+ + + + + + + + +
void CL_hashInit (CL_HashContextctx)
+
+ +

Initialize context for performing SHA1 hash in software.

+
Parameters
+ + +
[in]ctxHash context
+
+
+ +
+
+ +

◆ CL_hashUpdate()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CL_hashUpdate (CL_HashContextctx,
const U8src,
int nbytes 
)
+
+ +

Add arbitrary data to a SHA1 hash.

+
Parameters
+ + + + +
[in]ctxHash context
[in]srcData to be added to the hash
[in]nbytesData size in bytes
+
+
+ +
+
+ +

◆ shaEngine()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void shaEngine (U32buf,
U32h 
)
+
+ +
+
+
+
-
atca_start_config.h File Reference
+
sha1_routines.h File Reference
+

Software implementation of the SHA1 algorithm. +More...

+
#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  CL_HashContext
 
+ + + + + + + + + + + + + + + + + +

+Macros

#define U8   uint8_t
 
#define U16   uint16_t
 
#define U32   uint32_t
 
#define memcpy_P   memmove
 
#define strcpy_P   strcpy
 
#define _WDRESET()
 
#define _NOP()
 
#define leftRotate(x, n)   (x) = (((x) << (n)) | ((x) >> (32 - (n))))
 
+ + + + + + + + + + + + + + + +

+Functions

void shaEngine (U32 *buf, U32 *h)
 
void CL_hashInit (CL_HashContext *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
void CL_hashUpdate (CL_HashContext *ctx, const U8 *src, int nbytes)
 Add arbitrary data to a SHA1 hash. More...
 
void CL_hashFinal (CL_HashContext *ctx, U8 *dest)
 Complete the SHA1 hash in software and return the digest. More...
 
void CL_hash (U8 *msg, int msgBytes, U8 *dest)
 Perform SHA1 hash of data in software. More...
 
+

Detailed Description

+

Software implementation of the SHA1 algorithm.

+ +

Macro Definition Documentation

+ +

◆ _NOP

+ +
+
+ + + + + + + +
#define _NOP()
+
+ +
+
+ +

◆ _WDRESET

+ +
+
+ + + + + + + +
#define _WDRESET()
+
+ +
+
+ +

◆ leftRotate

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define leftRotate( x,
 
)   (x) = (((x) << (n)) | ((x) >> (32 - (n))))
+
+ +
+
+ +

◆ memcpy_P

+ +
+
+ + + + +
#define memcpy_P   memmove
+
+ +
+
+ +

◆ strcpy_P

+ +
+
+ + + + +
#define strcpy_P   strcpy
+
+ +
+
+ +

◆ U16

+ +
+
+ + + + +
#define U16   uint16_t
+
+ +
+
+ +

◆ U32

+ +
+
+ + + + +
#define U32   uint32_t
+
+ +
+
+ +

◆ U8

+ +
+
+ + + + +
#define U8   uint8_t
+
+ +
+
+

Function Documentation

+ +

◆ CL_hash()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CL_hash (U8msg,
int msgBytes,
U8dest 
)
+
+ +

Perform SHA1 hash of data in software.

+
Parameters
+ + + + +
[in]msgData to be hashed
[in]msgBytesData size in bytes
[out]destDigest is returned here (20 bytes)
+
+
+ +
+
+ +

◆ CL_hashFinal()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CL_hashFinal (CL_HashContextctx,
U8dest 
)
+
+ +

Complete the SHA1 hash in software and return the digest.

+
Parameters
+ + + +
[in]ctxHash context
[out]destDigest is returned here (20 bytes)
+
+
+ +
+
+ +

◆ CL_hashInit()

+ +
+
+ + + + + + + + +
void CL_hashInit (CL_HashContextctx)
+
+ +

Initialize context for performing SHA1 hash in software.

+
Parameters
+ + +
[in]ctxHash context
+
+
+ +
+
+ +

◆ CL_hashUpdate()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CL_hashUpdate (CL_HashContextctx,
const U8src,
int nbytes 
)
+
+ +

Add arbitrary data to a SHA1 hash.

+
Parameters
+ + + + +
[in]ctxHash context
[in]srcData to be added to the hash
[in]nbytesData size in bytes
+
+
+ +
+
+ +

◆ shaEngine()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void shaEngine (U32buf,
U32h 
)
+
+ +
+
-Go to the documentation of this file.
1 /*
2  this is a placeholder include used to satisfy the include
3 
4  when used with Atmel START, this file will be overwritten
5  with the user configuration generated by Atmel START
6  */
+Go to the documentation of this file.
1 
28 #ifndef __SHA1_ROUTINES_DOT_H__
29 #define __SHA1_ROUTINES_DOT_H__
30 
31 #include <stdio.h>
32 #include <stdlib.h>
33 #include <stddef.h>
34 
35 #ifdef WIN32
36 #include <windows.h>
37 #include <assert.h>
38 #endif
39 
40 #include <stdint.h>
41 
42 
43 #ifndef U8
44 #define U8 uint8_t
45 #endif
46 
47 #ifndef U16
48 #define U16 uint16_t
49 #endif
50 
51 #ifndef U32
52 #define U32 uint32_t
53 #endif
54 
55 
56 #ifndef memcpy_P
57 #define memcpy_P memmove
58 #endif
59 
60 #ifndef strcpy_P
61 #define strcpy_P strcpy
62 #endif
63 
64 #ifndef _WDRESET
65 #define _WDRESET()
66 #define _NOP()
67 #endif
68 
69 #ifdef __cplusplus
70 extern "C" {
71 #endif
72 
73 typedef struct
74 {
75  U32 h[20 / 4]; // Ensure it's word aligned
76  U32 buf[64 / 4]; // Ensure it's word aligned
80 
81 #define leftRotate(x, n) (x) = (((x) << (n)) | ((x) >> (32 - (n))))
82 
83 void shaEngine(U32 *buf, U32 *h);
84 void CL_hashInit(CL_HashContext *ctx);
85 void CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes);
86 void CL_hashFinal(CL_HashContext *ctx, U8 *dest);
87 void CL_hash(U8 *msg, int msgBytes, U8 *dest);
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 #endif // __SHA1_ROUTINES_DOT_H__
94 
void CL_hash(U8 *msg, int msgBytes, U8 *dest)
Perform SHA1 hash of data in software.
Definition: sha1_routines.c:213
+
void CL_hashInit(CL_HashContext *ctx)
Initialize context for performing SHA1 hash in software.
Definition: sha1_routines.c:37
+
#define U32
Definition: sha1_routines.h:52
+
U32 byteCount
Definition: sha1_routines.h:77
+
void CL_hashFinal(CL_HashContext *ctx, U8 *dest)
Complete the SHA1 hash in software and return the digest.
Definition: sha1_routines.c:140
+
void shaEngine(U32 *buf, U32 *h)
Definition: sha1_routines.c:222
+
Definition: sha1_routines.h:73
+
U32 byteCountHi
Definition: sha1_routines.h:78
+
void CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes)
Add arbitrary data to a SHA1 hash.
Definition: sha1_routines.c:62
+
#define U8
Definition: sha1_routines.h:44
+
+
-
atca_start_iface.h File Reference
+
sha2_routines.c File Reference
-

Go to the source code of this file.

+

Software implementation of the SHA256 algorithm. +More...

+
#include <string.h>
+#include "sha2_routines.h"
+
+ + + +

+Macros

#define rotate_right(value, places)   ((value >> places) | (value << (32 - places)))
 
+ + + + + + + + + + + + + +

+Functions

void sw_sha256_init (sw_sha256_ctx *ctx)
 Intialize the software SHA256. More...
 
void sw_sha256_update (sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
void sw_sha256_final (sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
void sw_sha256 (const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
+

Detailed Description

+

Software implementation of the SHA256 algorithm.

+ +

Macro Definition Documentation

+ +

◆ rotate_right

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define rotate_right( value,
 places 
)   ((value >> places) | (value << (32 - places)))
+
+ +
+
+

Function Documentation

+ +

◆ sw_sha256()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sw_sha256 (const uint8_t * message,
unsigned int len,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
+
+ +

single call convenience function which computes Hash of given data using SHA256 software

+
Parameters
+ + + + +
[in]messagepointer to stream of data to hash
[in]lensize of data stream to hash
[out]digestresult
+
+
+ +
+
+ +

◆ sw_sha256_final()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sw_sha256_final (sw_sha256_ctxctx,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
+
+ +

completes the final SHA256 calculation and returns the final digest/hash

+
Parameters
+ + + +
[in]ctxptr to context data structure
[out]digestreceives the computed digest of the SHA 256
+
+
+ +
+
+ +

◆ sw_sha256_init()

+ +
+
+ + + + + + + + +
void sw_sha256_init (sw_sha256_ctxctx)
+
+ +

Intialize the software SHA256.

+
Parameters
+ + +
[in]ctxSHA256 hash context
+
+
+ +
+
+ +

◆ sw_sha256_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sw_sha256_update (sw_sha256_ctxctx,
const uint8_t * msg,
uint32_t msg_size 
)
+
+ +

updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software

+
Parameters
+ + + + +
[in]ctxSHA256 hash context
[in]msgRaw blocks to be processed
[in]msg_sizeThe size of the message passed
+
+
+ +
+
-

HAL for kit protocol over HID for any platform. +

Software implementation of the SHA256 algorithm. More...

-
#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "hidapi.h"
-#include "atca_hal.h"
-#include "hal_all_platforms_kit_hidapi.h"
-#include "hal/kit_protocol.h"
-
+
#include <stdint.h>
+
+

Go to the source code of this file.

+
+ + + +

+Data Structures

struct  sw_sha256_ctx
 
+ + + + + +

+Macros

#define SHA256_DIGEST_SIZE   (32)
 
#define SHA256_BLOCK_SIZE   (64)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
- - - + + + + + + + + + + + +

-Variables

atcahid_t _gHid
 
void sw_sha256_init (sw_sha256_ctx *ctx)
 Intialize the software SHA256. More...
 
void sw_sha256_update (sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
void sw_sha256_final (sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
void sw_sha256 (const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 

Detailed Description

-

HAL for kit protocol over HID for any platform.

+

Software implementation of the SHA256 algorithm.

-
+

Macro Definition Documentation

+ +

◆ SHA256_BLOCK_SIZE

+ +
+
+ + + + +
#define SHA256_BLOCK_SIZE   (64)
+
+ +
+
+ +

◆ SHA256_DIGEST_SIZE

+ +
+
+ + + + +
#define SHA256_DIGEST_SIZE   (32)
+
+ +
+
+

Function Documentation

+ +

◆ sw_sha256()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sw_sha256 (const uint8_t * message,
unsigned int len,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
+
+ +

single call convenience function which computes Hash of given data using SHA256 software

+
Parameters
+ + + + +
[in]messagepointer to stream of data to hash
[in]lensize of data stream to hash
[out]digestresult
+
+
+ +
+
+ +

◆ sw_sha256_final()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void sw_sha256_final (sw_sha256_ctxctx,
uint8_t digest[SHA256_DIGEST_SIZE] 
)
+
+ +

completes the final SHA256 calculation and returns the final digest/hash

+
Parameters
+ + + +
[in]ctxptr to context data structure
[out]digestreceives the computed digest of the SHA 256
+
+
+ +
+
+ +

◆ sw_sha256_init()

+ +
+
+ + + + + + + + +
void sw_sha256_init (sw_sha256_ctxctx)
+
+ +

Intialize the software SHA256.

+
Parameters
+ + +
[in]ctxSHA256 hash context
+
+
+ +
+
+ +

◆ sw_sha256_update()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void sw_sha256_update (sw_sha256_ctxctx,
const uint8_t * msg,
uint32_t msg_size 
)
+
+ +

updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software

+
Parameters
+ + + + +
[in]ctxSHA256 hash context
[in]msgRaw blocks to be processed
[in]msg_sizeThe size of the message passed
+
+
+ +
+
+
@@ -90,21 +90,21 @@
sha2_routines.h
-Go to the documentation of this file.
1 
28 #ifndef SHA2_ROUTINES_H
29 #define SHA2_ROUTINES_H
30 
31 #include <stdint.h>
32 
33 #define SHA256_DIGEST_SIZE (32)
34 #define SHA256_BLOCK_SIZE (64)
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 typedef struct
41 {
42  uint32_t total_msg_size;
43  uint32_t block_size;
44  uint8_t block[SHA256_BLOCK_SIZE * 2];
45  uint32_t hash[8];
47 
48 void sw_sha256_init(sw_sha256_ctx* ctx);
49 
50 void sw_sha256_update(sw_sha256_ctx* ctx, const uint8_t* message, uint32_t len);
51 
52 void sw_sha256_final(sw_sha256_ctx * ctx, uint8_t digest[SHA256_DIGEST_SIZE]);
53 
54 void sw_sha256(const uint8_t * message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif // SHA2_ROUTINES_H
61 
void sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len)
updates the running hash with the next block of data, called iteratively for the entire stream of dat...
Definition: sha2_routines.c:167
-
#define SHA256_BLOCK_SIZE
Definition: sha2_routines.h:34
-
void sw_sha256_init(sw_sha256_ctx *ctx)
Intialize the software SHA256.
Definition: sha2_routines.c:144
-
Definition: sha2_routines.h:40
-
void sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
completes the final SHA256 calculation and returns the final digest/hash
Definition: sha2_routines.c:202
-
void sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
single call convenience function which computes Hash of given data using SHA256 software ...
Definition: sha2_routines.c:248
-
uint32_t total_msg_size
Total number of message bytes processed.
Definition: sha2_routines.h:42
-
#define SHA256_DIGEST_SIZE
Definition: sha2_routines.h:33
-
uint32_t block_size
Number of bytes in current block.
Definition: sha2_routines.h:43
+Go to the documentation of this file.
1 
28 #ifndef SHA2_ROUTINES_H
29 #define SHA2_ROUTINES_H
30 
31 #include <stdint.h>
32 
33 #define SHA256_DIGEST_SIZE (32)
34 #define SHA256_BLOCK_SIZE (64)
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 typedef struct
41 {
42  uint32_t total_msg_size;
43  uint32_t block_size;
44  uint8_t block[SHA256_BLOCK_SIZE * 2];
45  uint32_t hash[8];
47 
48 void sw_sha256_init(sw_sha256_ctx* ctx);
49 
50 void sw_sha256_update(sw_sha256_ctx* ctx, const uint8_t* message, uint32_t len);
51 
52 void sw_sha256_final(sw_sha256_ctx * ctx, uint8_t digest[SHA256_DIGEST_SIZE]);
53 
54 void sw_sha256(const uint8_t * message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif // SHA2_ROUTINES_H
61 
Definition: sha2_routines.h:40
+
uint32_t block_size
Number of bytes in current block.
Definition: sha2_routines.h:43
+
void sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE])
single call convenience function which computes Hash of given data using SHA256 software ...
Definition: sha2_routines.c:248
+
#define SHA256_BLOCK_SIZE
Definition: sha2_routines.h:34
+
void sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE])
completes the final SHA256 calculation and returns the final digest/hash
Definition: sha2_routines.c:202
+
#define SHA256_DIGEST_SIZE
Definition: sha2_routines.h:33
+
void sw_sha256_init(sw_sha256_ctx *ctx)
Intialize the software SHA256.
Definition: sha2_routines.c:144
+
void sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len)
updates the running hash with the next block of data, called iteratively for the entire stream of dat...
Definition: sha2_routines.c:167
+
uint32_t total_msg_size
Total number of message bytes processed.
Definition: sha2_routines.h:42
-

HAL for kit protocol over HID for any platform. +

Single aggregation point for all CryptoAuthLib header files. More...

-
#include "hidapi.h"
+
#include <stddef.h>
+#include <string.h>
+#include "hal/atca_hal.h"
+#include "atca_status.h"
+#include "atca_device.h"
+#include "atca_command.h"
+#include "atca_cfgs.h"
+#include "basic/atca_basic.h"
+#include "basic/atca_helpers.h"

Go to the source code of this file.

- - - -

-Data Structures

struct  atcahid
 
- - - - -

Macros

#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
- - - + + + + + + + +

-Typedefs

typedef struct atcahid atcahid_t
 
#define BREAK(status, message)   { break; }
 
#define RETURN(status, message)   { return status; }
 
#define PRINT(message)   { break; }
 
#define DBGOUT(message)   { break; }
 

Detailed Description

-

HAL for kit protocol over HID for any platform.

+

Single aggregation point for all CryptoAuthLib header files.

-
+

Macro Definition Documentation

+ +

◆ BREAK

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define BREAK( status,
 message 
)   { break; }
+
+ +
+
+ +

◆ DBGOUT

+ +
+
+ + + + + + + + +
#define DBGOUT( message)   { break; }
+
+ +
+
+ +

◆ PRINT

+ +
+
+ + + + + + + + +
#define PRINT( message)   { break; }
+
+ +
+
+ +

◆ RETURN

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define RETURN( status,
 message 
)   { return status; }
+
+ +
+
+
-Go to the documentation of this file.
1 
28 #ifndef HAL_MACOS_KIT_HID_H_
29 #define HAL_MACOS_KIT_HID_H_
30 
31 #include "hidapi.h"
32 
40 // Kit USB defines
41 #define HID_DEVICES_MAX 10
42 #define HID_PACKET_MAX 512
43 
44 
45 
46 
47 // A structure to hold HID information
48 typedef struct atcahid
49 {
52 } atcahid_t;
53 
55 #endif /* HAL_LINUX_KIT_HID_H_ */
Definition: hal_linux_kit_hid.h:43
-
struct atcahid atcahid_t
-
int8_t num_kits_found
Definition: hal_all_platforms_kit_hidapi.h:51
-
#define HID_DEVICES_MAX
Definition: hal_all_platforms_kit_hidapi.h:41
-
hid_device * kits[HID_DEVICES_MAX]
Definition: hal_all_platforms_kit_hidapi.h:50
-
Definition: hal_all_platforms_kit_hidapi.h:48
+Go to the documentation of this file.
1 
28 #ifndef _ATCA_LIB_H
29 #define _ATCA_LIB_H
30 
31 #include <stddef.h>
32 #include <string.h>
33 
34 #include "hal/atca_hal.h"
35 #include "atca_status.h"
36 #include "atca_device.h"
37 #include "atca_command.h"
38 #include "atca_cfgs.h"
39 #include "basic/atca_basic.h"
40 #include "basic/atca_helpers.h"
41 
42 #ifdef ATCAPRINTF
43  #include <stdio.h>
44 //#define BREAK(status, message) {printf(__FUNCTION__": "message" -- Status: %02X\r\n", status); break;}
45  #define BREAK(status, message) { printf(": "message " -- Status: %02X\r\n", status); break; }
46  #define RETURN(status, message) { printf(": "message " -- Status: %02X\r\n", status); return status; }
47  #define PRINTSTAT(status, message) { printf(": "message " -- Status: %02X\r\n", status); }
48  #define PRINT(message) { printf(": "message "\r\n"); break; }
49  #define DBGOUT(message) { printf(": "message "\r\n"); break; }
50 #else
51  #define BREAK(status, message) { break; }
52  #define RETURN(status, message) { return status; }
53  #define PRINT(message) { break; }
54  #define DBGOUT(message) { break; }
55 #endif
56 
57 #endif
a set of default configurations for various ATCA devices and interfaces
+
Helpers to support the CryptoAuthLib Basic API methods.
+
low-level HAL - methods used to setup indirection to physical layer interface
+
Microchip Crypto Auth status codes.
+
Microchip Crypto Auth device object.
+
CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global A...
+
Microchip Crypto Auth device command object - this is a command builder only, it does not send the co...
-

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers. +

low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation. More...

-
#include <asf.h>
-#include "twi_megarf.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   1
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
+
#include "cryptoauthlib.h"
+#include "atca_hal.h"
+
- - - + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_iface_init (ATCAIfaceCfg *cfg, ATCAHAL_t *hal)
 Standard HAL API for ATCA to initialize a physical interface. More...
 
ATCA_STATUS hal_iface_release (ATCAIfaceType iface_type, void *hal_data)
 releases a physical interface, HAL knows how to interpret hal_data More...
 
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
 Utility function for hal_wake to check the reply. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.

-

Prerequisite: add I2C Master Polled support to application in Atmel Studio

+

low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation.

-

ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers. +

low-level HAL - methods used to setup indirection to physical layer interface More...

-
#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
+
#include "atca_status.h"
+#include "atca_iface.h"
+#include "atca_start_config.h"
+#include "atca_start_iface.h"
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  ATCAHAL_t
 an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. More...
 
- - + + + + + + + + + + + - - + + - - + + + + + + + + + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
ATCA_STATUS hal_iface_init (ATCAIfaceCfg *, ATCAHAL_t *hal)
 Standard HAL API for ATCA to initialize a physical interface. More...
 
ATCA_STATUS hal_iface_release (ATCAIfaceType, void *hal_data)
 releases a physical interface, HAL knows how to interpret hal_data More...
 
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
 Utility function for hal_wake to check the reply. More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
 Optional hal interfaces. More...
 
ATCA_STATUS hal_destroy_mutex (void *pMutex)
 
ATCA_STATUS hal_lock_mutex (void *pMutex)
 
ATCA_STATUS hal_unlock_mutex (void *pMutex)
 

Detailed Description

-

ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers.

+

low-level HAL - methods used to setup indirection to physical layer interface

@@ -90,72 +90,72 @@
atca_hal.h
-Go to the documentation of this file.
1 
29 #ifndef ATCA_HAL_H_
30 #define ATCA_HAL_H_
31 
32 #include "atca_status.h"
33 #include "atca_iface.h"
34 #include "atca_start_config.h"
35 #include "atca_start_iface.h"
36 
49 typedef struct
50 {
51  // interface is a group of function pointers to a specific HAL implementation for this interface type
52  // so these function pointers are initialized in the HAL layer in order to help keep the ATCAIface object
53  // from needing to know the low-level details, including global naming of HAL methods and physical implementation.
54  ATCA_STATUS (*halinit)(void *hal, ATCAIfaceCfg *cfg);
55  ATCA_STATUS (*halpostinit)(ATCAIface iface);
56  ATCA_STATUS (*halsend)(ATCAIface iface, uint8_t *txdata, int txlength);
57  ATCA_STATUS (*halreceive)(ATCAIface iface, uint8_t* rxdata, uint16_t* rxlength);
58  ATCA_STATUS (*halwake)(ATCAIface iface);
59  ATCA_STATUS (*halidle)(ATCAIface iface);
60  ATCA_STATUS (*halsleep)(ATCAIface iface);
61  ATCA_STATUS (*halrelease)(void* hal_data);
62 
63  void *hal_data; // points to whatever the HAL implementation for this interface wants it to, HAL manages.
64 } ATCAHAL_t;
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 
71 extern ATCA_STATUS hal_iface_release(ATCAIfaceType, void* hal_data);
72 
73 ATCA_STATUS hal_check_wake(const uint8_t* response, int response_size);
74 
75 // Added one or more of the following defines to your compiler's defines to include add support for
76 // that particular interface in your application. For example, if you're writing an I2C to SWI
77 // bridge, add both ATCA_HAL_I2C and ATCA_HAL_SWI defines to your compiler settings and then
78 // include implementations for both interfaces in the HAL.
79 
80 // At least one of these symbols will be defined in the project or makefile for each application
81 //#define ATCA_HAL_I2C
82 //#define ATCA_HAL_SWI
83 //#define ATCA_HAL_SPI
84 //#define ATCA_HAL_UART
85 //#define ATCA_HAL_KIT_HID
86 //#define ATCA_HAL_KIT_CDC
87 
88 // forward declare known physical layer APIs that must be implemented by the HAL layer (./hal/xyz) for this interface type
89 
90 #ifdef ATCA_HAL_I2C
91 ATCA_STATUS hal_i2c_init(void *hal, ATCAIfaceCfg *cfg);
93 ATCA_STATUS hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength);
94 ATCA_STATUS hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
98 ATCA_STATUS hal_i2c_release(void *hal_data);
99 ATCA_STATUS hal_i2c_discover_buses(int i2c_buses[], int max_buses);
100 ATCA_STATUS hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
101 #endif
102 
103 #ifdef ATCA_HAL_SWI
104 ATCA_STATUS hal_swi_init(void *hal, ATCAIfaceCfg *cfg);
106 ATCA_STATUS hal_swi_send(ATCAIface iface, uint8_t *txdata, int txlength);
107 ATCA_STATUS hal_swi_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
111 ATCA_STATUS hal_swi_release(void *hal_data);
112 ATCA_STATUS hal_swi_discover_buses(int swi_buses[], int max_buses);
113 ATCA_STATUS hal_swi_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
114 #endif
115 
116 #ifdef ATCA_HAL_UART
117 ATCA_STATUS hal_uart_init(void *hal, ATCAIfaceCfg *cfg);
118 ATCA_STATUS hal_uart_post_init(ATCAIface iface);
119 ATCA_STATUS hal_uart_send(ATCAIface iface, uint8_t *txdata, int txlength);
120 ATCA_STATUS hal_uart_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
121 ATCA_STATUS hal_uart_wake(ATCAIface iface);
122 ATCA_STATUS hal_uart_idle(ATCAIface iface);
123 ATCA_STATUS hal_uart_sleep(ATCAIface iface);
124 ATCA_STATUS hal_uart_release(ATCAIface iface);
125 ATCA_STATUS hal_uart_discover_buses(int uart_buses[], int max_buses);
126 ATCA_STATUS hal_uart_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
127 #endif
128 
129 #ifdef ATCA_HAL_KIT_CDC
130 ATCA_STATUS hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg);
132 ATCA_STATUS hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength);
133 ATCA_STATUS hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
137 ATCA_STATUS hal_kit_cdc_release(void *hal_data);
138 ATCA_STATUS hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses);
139 ATCA_STATUS hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
140 #endif
141 
142 #ifdef ATCA_HAL_KIT_HID
143 ATCA_STATUS hal_kit_hid_init(void *hal, ATCAIfaceCfg *cfg);
145 ATCA_STATUS hal_kit_hid_send(ATCAIface iface, uint8_t *txdata, int txlength);
146 ATCA_STATUS hal_kit_hid_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
150 ATCA_STATUS hal_kit_hid_release(void *hal_data);
151 ATCA_STATUS hal_kit_hid_discover_buses(int hid_buses[], int max_buses);
152 ATCA_STATUS hal_kit_hid_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
153 #endif
154 
156 void atca_delay_us(uint32_t delay);
157 void atca_delay_10us(uint32_t delay);
158 void atca_delay_ms(uint32_t delay);
159 
161 ATCA_STATUS hal_create_mutex(void ** ppMutex, char* pName);
162 ATCA_STATUS hal_destroy_mutex(void * pMutex);
163 ATCA_STATUS hal_lock_mutex(void * pMutex);
164 ATCA_STATUS hal_unlock_mutex(void * pMutex);
165 
167 #ifdef ATCA_USE_RTOS_TIMER
168 void atca_delay_ms_internal(uint32_t delay);
169 #endif
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
177 #endif /* ATCA_HAL_H_ */
void * hal_data
Definition: atca_hal.h:63
-
ATCA_STATUS hal_unlock_mutex(void *pMutex)
Definition: hal_freertos.c:117
-
ATCA_STATUS hal_swi_send(ATCAIface iface, uint8_t *txdata, int txlength)
Send byte(s) via SWI.
Definition: hal_swi_bitbang.c:141
-
ATCA_STATUS hal_swi_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number.This function is curently not supported...
Definition: hal_swi_bitbang.c:65
-
ATCA_STATUS hal_kit_hid_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_all_platforms_kit_hidapi.c:66
-
ATCA_STATUS hal_kit_hid_release(void *hal_data)
Close the physical port for HID.
Definition: hal_all_platforms_kit_hidapi.c:371
-
ATCA_STATUS hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation of kit protocol receive over USB CDC.
Definition: hal_linux_kit_cdc.c:330
-
ATCA_STATUS hal_swi_wake(ATCAIface iface)
Send Wake flag via SWI.
Definition: hal_swi_bitbang.c:207
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS hal_i2c_post_init(ATCAIface iface)
HAL implementation of I2C post init.
Definition: hal_at90usb1287_i2c_asf.c:254
-
ATCA_STATUS hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
HAL implementation of I2C receive function for ASF I2C.
Definition: hal_at90usb1287_i2c_asf.c:302
-
ATCA_STATUS hal_kit_hid_post_init(ATCAIface iface)
HAL implementation of Kit HID post init.
Definition: hal_all_platforms_kit_hidapi.c:150
-
an intermediary data structure to allow the HAL layer to point the standard API functions used by the...
Definition: atca_hal.h:49
-
void atca_delay_us(uint32_t delay)
Timer API implemented at the HAL level.
Definition: hal_at90usb1287_timer_asf.c:44
-
ATCA_STATUS hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of I2C send over ASF.
Definition: hal_at90usb1287_i2c_asf.c:266
-
ATCA_STATUS hal_i2c_idle(ATCAIface iface)
idle CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:448
-
ATCA_STATUS hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal)
Standard HAL API for ATCA to initialize a physical interface.
Definition: atca_hal.c:44
-
ATCA_STATUS hal_swi_init(void *hal, ATCAIfaceCfg *cfg)
hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an in...
Definition: hal_swi_bitbang.c:88
-
ATCA_STATUS hal_kit_hid_idle(ATCAIface iface)
Call the idle for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:351
-
ATCA_STATUS hal_lock_mutex(void *pMutex)
Definition: hal_freertos.c:100
-
ATCA_STATUS hal_destroy_mutex(void *pMutex)
Definition: hal_freertos.c:88
-
void atca_delay_10us(uint32_t delay)
This function delays for a number of tens of microseconds.
Definition: hal_at90usb1287_timer_asf.c:54
-
ATCA_STATUS hal_i2c_discover_buses(int i2c_buses[], int max_buses)
discover i2c buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_at90usb1287_i2c_asf.c:61
-
Definition: atca_iface.h:66
-
ATCA_STATUS hal_kit_hid_sleep(ATCAIface iface)
Call the sleep for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:361
-
ATCA_STATUS hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_at90usb1287_i2c_asf.c:82
- -
ATCA_STATUS hal_swi_discover_buses(int swi_buses[], int max_buses)
discover swi buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_swi_bitbang.c:54
-
ATCA_STATUS hal_kit_cdc_release(void *hal_data)
Close the physical port for CDC over USB CDC.
Definition: hal_linux_kit_cdc.c:370
-
ATCA_STATUS hal_i2c_wake(ATCAIface iface)
wake up CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:392
-
ATCA_STATUS hal_swi_release(void *hal_data)
Manages reference count on given bus and releases resource if no more reference(s) exist...
Definition: hal_swi_bitbang.c:279
-
ATCA_STATUS hal_kit_hid_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of kit protocol send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:319
-
ATCA_STATUS hal_kit_cdc_wake(ATCAIface iface)
Call the wake for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:340
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
ATCA_STATUS hal_create_mutex(void **ppMutex, char *pName)
Optional hal interfaces.
Definition: hal_freertos.c:69
-
ATCA_STATUS hal_iface_release(ATCAIfaceType, void *hal_data)
releases a physical interface, HAL knows how to interpret hal_data
Definition: atca_hal.c:149
-
ATCA_STATUS hal_kit_cdc_sleep(ATCAIface iface)
Call the sleep for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:360
-
Microchip Crypto Auth hardware interface object.
-
ATCA_STATUS hal_swi_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
Receive byte(s) via SWI.
Definition: hal_swi_bitbang.c:167
-
ATCA_STATUS hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_linux_kit_cdc.c:419
- -
ATCA_STATUS hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg)
HAL implementation of Kit USB CDC init.
Definition: hal_linux_kit_cdc.c:102
-
ATCA_STATUS hal_swi_idle(ATCAIface iface)
Send Idle flag via SWI.
Definition: hal_swi_bitbang.c:239
-
ATCA_STATUS hal_check_wake(const uint8_t *response, int response_size)
Utility function for hal_wake to check the reply.
Definition: atca_hal.c:203
-
ATCA_STATUS hal_swi_post_init(ATCAIface iface)
HAL implementation of SWI post init.
Definition: hal_swi_bitbang.c:128
-
ATCA_STATUS hal_kit_hid_wake(ATCAIface iface)
Call the wake for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:341
-
ATCA_STATUS hal_i2c_init(void *hal, ATCAIfaceCfg *cfg)
initialize an I2C interface using given config
Definition: hal_at90usb1287_i2c_asf.c:215
-
ATCA_STATUS hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of kit protocol send over USB CDC.
Definition: hal_linux_kit_cdc.c:317
-
ATCA_STATUS hal_kit_hid_discover_buses(int i2c_buses[], int max_buses)
discover cdc buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_all_platforms_kit_hidapi.c:56
-
ATCA_STATUS hal_swi_sleep(ATCAIface iface)
Send Sleep flag via SWI.
Definition: hal_swi_bitbang.c:258
-
void atca_delay_ms(uint32_t delay)
This function delays for a number of milliseconds.
Definition: hal_at90usb1287_timer_asf.c:69
-
ATCA_STATUS hal_kit_cdc_post_init(ATCAIface iface)
HAL implementation of Kit USB CDC post init.
Definition: hal_linux_kit_cdc.c:167
-
ATCA_STATUS hal_kit_cdc_idle(ATCAIface iface)
Call the idle for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:350
-
ATCA_STATUS hal_kit_hid_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation of send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:331
-
ATCA_STATUS hal_i2c_sleep(ATCAIface iface)
sleep CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:476
-
ATCA_STATUS hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses)
discover cdc buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_linux_kit_cdc.c:406
-
ATCAIfaceType
Definition: atca_iface.h:44
-
Microchip Crypto Auth status codes.
-
ATCA_STATUS hal_kit_hid_init(void *hal, ATCAIfaceCfg *cfg)
HAL implementation of Kit USB HID init.
Definition: hal_all_platforms_kit_hidapi.c:76
-
ATCA_STATUS hal_i2c_release(void *hal_data)
manages reference count on given bus and releases resource if no more refences exist ...
Definition: hal_at90usb1287_i2c_asf.c:503
+Go to the documentation of this file.
1 
29 #ifndef ATCA_HAL_H_
30 #define ATCA_HAL_H_
31 
32 #include "atca_status.h"
33 #include "atca_iface.h"
34 #include "atca_start_config.h"
35 #include "atca_start_iface.h"
36 
49 typedef struct
50 {
51  // interface is a group of function pointers to a specific HAL implementation for this interface type
52  // so these function pointers are initialized in the HAL layer in order to help keep the ATCAIface object
53  // from needing to know the low-level details, including global naming of HAL methods and physical implementation.
54  ATCA_STATUS (*halinit)(void *hal, ATCAIfaceCfg *cfg);
55  ATCA_STATUS (*halpostinit)(ATCAIface iface);
56  ATCA_STATUS (*halsend)(ATCAIface iface, uint8_t *txdata, int txlength);
57  ATCA_STATUS (*halreceive)(ATCAIface iface, uint8_t* rxdata, uint16_t* rxlength);
58  ATCA_STATUS (*halwake)(ATCAIface iface);
59  ATCA_STATUS (*halidle)(ATCAIface iface);
60  ATCA_STATUS (*halsleep)(ATCAIface iface);
61  ATCA_STATUS (*halrelease)(void* hal_data);
62 
63  void *hal_data; // points to whatever the HAL implementation for this interface wants it to, HAL manages.
64 } ATCAHAL_t;
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 
71 extern ATCA_STATUS hal_iface_release(ATCAIfaceType, void* hal_data);
72 
73 ATCA_STATUS hal_check_wake(const uint8_t* response, int response_size);
74 
75 // Added one or more of the following defines to your compiler's defines to include add support for
76 // that particular interface in your application. For example, if you're writing an I2C to SWI
77 // bridge, add both ATCA_HAL_I2C and ATCA_HAL_SWI defines to your compiler settings and then
78 // include implementations for both interfaces in the HAL.
79 
80 // At least one of these symbols will be defined in the project or makefile for each application
81 //#define ATCA_HAL_I2C
82 //#define ATCA_HAL_SWI
83 //#define ATCA_HAL_SPI
84 //#define ATCA_HAL_UART
85 //#define ATCA_HAL_KIT_HID
86 //#define ATCA_HAL_KIT_CDC
87 
88 // forward declare known physical layer APIs that must be implemented by the HAL layer (./hal/xyz) for this interface type
89 
90 #ifdef ATCA_HAL_I2C
91 ATCA_STATUS hal_i2c_init(void *hal, ATCAIfaceCfg *cfg);
93 ATCA_STATUS hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength);
94 ATCA_STATUS hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
98 ATCA_STATUS hal_i2c_release(void *hal_data);
99 ATCA_STATUS hal_i2c_discover_buses(int i2c_buses[], int max_buses);
100 ATCA_STATUS hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
101 #endif
102 
103 #ifdef ATCA_HAL_SWI
104 ATCA_STATUS hal_swi_init(void *hal, ATCAIfaceCfg *cfg);
106 ATCA_STATUS hal_swi_send(ATCAIface iface, uint8_t *txdata, int txlength);
107 ATCA_STATUS hal_swi_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
111 ATCA_STATUS hal_swi_release(void *hal_data);
112 ATCA_STATUS hal_swi_discover_buses(int swi_buses[], int max_buses);
113 ATCA_STATUS hal_swi_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
114 #endif
115 
116 #ifdef ATCA_HAL_UART
117 ATCA_STATUS hal_uart_init(void *hal, ATCAIfaceCfg *cfg);
118 ATCA_STATUS hal_uart_post_init(ATCAIface iface);
119 ATCA_STATUS hal_uart_send(ATCAIface iface, uint8_t *txdata, int txlength);
120 ATCA_STATUS hal_uart_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
121 ATCA_STATUS hal_uart_wake(ATCAIface iface);
122 ATCA_STATUS hal_uart_idle(ATCAIface iface);
123 ATCA_STATUS hal_uart_sleep(ATCAIface iface);
124 ATCA_STATUS hal_uart_release(ATCAIface iface);
125 ATCA_STATUS hal_uart_discover_buses(int uart_buses[], int max_buses);
126 ATCA_STATUS hal_uart_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
127 #endif
128 
129 #ifdef ATCA_HAL_KIT_CDC
130 ATCA_STATUS hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg);
132 ATCA_STATUS hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength);
133 ATCA_STATUS hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
137 ATCA_STATUS hal_kit_cdc_release(void *hal_data);
138 ATCA_STATUS hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses);
139 ATCA_STATUS hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
140 #endif
141 
142 #ifdef ATCA_HAL_KIT_HID
143 ATCA_STATUS hal_kit_hid_init(void *hal, ATCAIfaceCfg *cfg);
145 ATCA_STATUS hal_kit_hid_send(ATCAIface iface, uint8_t *txdata, int txlength);
146 ATCA_STATUS hal_kit_hid_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength);
150 ATCA_STATUS hal_kit_hid_release(void *hal_data);
151 ATCA_STATUS hal_kit_hid_discover_buses(int hid_buses[], int max_buses);
152 ATCA_STATUS hal_kit_hid_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found);
153 #endif
154 
156 void atca_delay_us(uint32_t delay);
157 void atca_delay_10us(uint32_t delay);
158 void atca_delay_ms(uint32_t delay);
159 
161 ATCA_STATUS hal_create_mutex(void ** ppMutex, char* pName);
162 ATCA_STATUS hal_destroy_mutex(void * pMutex);
163 ATCA_STATUS hal_lock_mutex(void * pMutex);
164 ATCA_STATUS hal_unlock_mutex(void * pMutex);
165 
167 #ifdef ATCA_USE_RTOS_TIMER
168 void atca_delay_ms_internal(uint32_t delay);
169 #endif
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
177 #endif /* ATCA_HAL_H_ */
ATCA_STATUS hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of I2C send over ASF.
Definition: hal_at90usb1287_i2c_asf.c:266
+
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS hal_i2c_sleep(ATCAIface iface)
sleep CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:476
+
ATCA_STATUS hal_destroy_mutex(void *pMutex)
Definition: hal_freertos.c:88
+
ATCA_STATUS hal_swi_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
Receive byte(s) via SWI.
Definition: hal_swi_bitbang.c:167
+
ATCA_STATUS hal_kit_hid_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of kit protocol send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:319
+
ATCA_STATUS hal_check_wake(const uint8_t *response, int response_size)
Utility function for hal_wake to check the reply.
Definition: atca_hal.c:203
+
ATCA_STATUS hal_kit_cdc_sleep(ATCAIface iface)
Call the sleep for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:360
+
Definition: atca_iface.h:66
+
ATCA_STATUS hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of kit protocol send over USB CDC.
Definition: hal_linux_kit_cdc.c:317
+
ATCA_STATUS hal_kit_hid_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation of send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:331
+
ATCA_STATUS hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
HAL implementation of I2C receive function for ASF I2C.
Definition: hal_at90usb1287_i2c_asf.c:302
+
ATCA_STATUS hal_kit_hid_post_init(ATCAIface iface)
HAL implementation of Kit HID post init.
Definition: hal_all_platforms_kit_hidapi.c:150
+ +
ATCA_STATUS hal_swi_send(ATCAIface iface, uint8_t *txdata, int txlength)
Send byte(s) via SWI.
Definition: hal_swi_bitbang.c:141
+
ATCA_STATUS hal_kit_cdc_release(void *hal_data)
Close the physical port for CDC over USB CDC.
Definition: hal_linux_kit_cdc.c:370
+
ATCA_STATUS hal_swi_sleep(ATCAIface iface)
Send Sleep flag via SWI.
Definition: hal_swi_bitbang.c:258
+
ATCA_STATUS hal_kit_cdc_post_init(ATCAIface iface)
HAL implementation of Kit USB CDC post init.
Definition: hal_linux_kit_cdc.c:167
+
ATCA_STATUS hal_i2c_release(void *hal_data)
manages reference count on given bus and releases resource if no more refences exist ...
Definition: hal_at90usb1287_i2c_asf.c:503
+
void atca_delay_ms(uint32_t delay)
This function delays for a number of milliseconds.
Definition: hal_at90usb1287_timer_asf.c:69
+
ATCA_STATUS hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal)
Standard HAL API for ATCA to initialize a physical interface.
Definition: atca_hal.c:44
+
void * hal_data
Definition: atca_hal.h:63
+
ATCA_STATUS hal_i2c_init(void *hal, ATCAIfaceCfg *cfg)
initialize an I2C interface using given config
Definition: hal_at90usb1287_i2c_asf.c:215
+
ATCA_STATUS hal_swi_post_init(ATCAIface iface)
HAL implementation of SWI post init.
Definition: hal_swi_bitbang.c:128
+
ATCA_STATUS hal_create_mutex(void **ppMutex, char *pName)
Optional hal interfaces.
Definition: hal_freertos.c:69
+
ATCA_STATUS hal_i2c_idle(ATCAIface iface)
idle CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:448
+
ATCA_STATUS hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg)
HAL implementation of Kit USB CDC init.
Definition: hal_linux_kit_cdc.c:102
+
ATCA_STATUS hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses)
discover cdc buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_linux_kit_cdc.c:406
+
ATCA_STATUS hal_unlock_mutex(void *pMutex)
Definition: hal_freertos.c:117
+
ATCA_STATUS hal_kit_hid_wake(ATCAIface iface)
Call the wake for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:341
+
ATCA_STATUS hal_swi_idle(ATCAIface iface)
Send Idle flag via SWI.
Definition: hal_swi_bitbang.c:239
+
void atca_delay_10us(uint32_t delay)
This function delays for a number of tens of microseconds.
Definition: hal_at90usb1287_timer_asf.c:54
+
ATCA_STATUS hal_kit_hid_release(void *hal_data)
Close the physical port for HID.
Definition: hal_all_platforms_kit_hidapi.c:371
+
ATCA_STATUS hal_kit_cdc_wake(ATCAIface iface)
Call the wake for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:340
+
ATCA_STATUS hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_at90usb1287_i2c_asf.c:82
+
ATCA_STATUS hal_kit_hid_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_all_platforms_kit_hidapi.c:66
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
ATCA_STATUS hal_swi_init(void *hal, ATCAIfaceCfg *cfg)
hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an in...
Definition: hal_swi_bitbang.c:88
+
Microchip Crypto Auth status codes.
+
an intermediary data structure to allow the HAL layer to point the standard API functions used by the...
Definition: atca_hal.h:49
+
ATCA_STATUS hal_swi_release(void *hal_data)
Manages reference count on given bus and releases resource if no more reference(s) exist...
Definition: hal_swi_bitbang.c:279
+ +
ATCA_STATUS hal_kit_hid_discover_buses(int i2c_buses[], int max_buses)
discover cdc buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_all_platforms_kit_hidapi.c:56
+
ATCA_STATUS hal_i2c_post_init(ATCAIface iface)
HAL implementation of I2C post init.
Definition: hal_at90usb1287_i2c_asf.c:254
+
ATCA_STATUS hal_swi_wake(ATCAIface iface)
Send Wake flag via SWI.
Definition: hal_swi_bitbang.c:207
+
ATCA_STATUS hal_kit_hid_idle(ATCAIface iface)
Call the idle for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:351
+
void atca_delay_us(uint32_t delay)
Timer API implemented at the HAL level.
Definition: hal_at90usb1287_timer_asf.c:44
+
ATCA_STATUS hal_swi_discover_buses(int swi_buses[], int max_buses)
discover swi buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_swi_bitbang.c:54
+
ATCA_STATUS hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found)
discover any CryptoAuth devices on a given logical bus number
Definition: hal_linux_kit_cdc.c:419
+
ATCA_STATUS hal_kit_hid_sleep(ATCAIface iface)
Call the sleep for kit protocol.
Definition: hal_all_platforms_kit_hidapi.c:361
+
ATCA_STATUS hal_swi_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found)
discover any CryptoAuth devices on a given logical bus number.This function is curently not supported...
Definition: hal_swi_bitbang.c:65
+
ATCA_STATUS hal_i2c_discover_buses(int i2c_buses[], int max_buses)
discover i2c buses available for this hardware this maintains a list of logical to physical bus mappi...
Definition: hal_at90usb1287_i2c_asf.c:61
+
Microchip Crypto Auth hardware interface object.
+
ATCA_STATUS hal_lock_mutex(void *pMutex)
Definition: hal_freertos.c:100
+
ATCA_STATUS hal_kit_hid_init(void *hal, ATCAIfaceCfg *cfg)
HAL implementation of Kit USB HID init.
Definition: hal_all_platforms_kit_hidapi.c:76
+
ATCA_STATUS hal_iface_release(ATCAIfaceType, void *hal_data)
releases a physical interface, HAL knows how to interpret hal_data
Definition: atca_hal.c:149
+
ATCA_STATUS hal_i2c_wake(ATCAIface iface)
wake up CryptoAuth device using I2C bus
Definition: hal_at90usb1287_i2c_asf.c:392
+
ATCA_STATUS hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation of kit protocol receive over USB CDC.
Definition: hal_linux_kit_cdc.c:330
+
ATCA_STATUS hal_kit_cdc_idle(ATCAIface iface)
Call the idle for kit protocol over USB CDC.
Definition: hal_linux_kit_cdc.c:350
+
ATCAIfaceType
Definition: atca_iface.h:44
-
-
hal_esp32_i2c.c File Reference
+
atca_start_config.h File Reference
-
#include <stdio.h>
-#include <string.h>
-#include <driver/i2c.h>
-#include "hal/atca_hal.h"
-#include "esp_err.h"
-#include "esp_log.h"
-
- - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - - - - - - - - - - - - - - - -

-Macros

#define SDA_PIN   16
 
#define SCL_PIN   17
 
#define ACK_CHECK_EN   0x1
 
#define ACK_CHECK_DIS   0x0
 
#define ACK_VAL   0x0
 
#define NACK_VAL   0x1
 
#define LOG_LOCAL_LEVEL   ESP_LOG_INFO
 
#define MAX_I2C_BUSES   2
 
- - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

void hal_i2c_change_baud (ATCAIface iface, uint32_t speed)
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 
- - - - - - - - - -

-Variables

ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
 
int i2c_bus_ref_ct = 0
 
i2c_config_t conf
 
const char * TAG = "HAL_I2C"
 
-

Macro Definition Documentation

- -

◆ ACK_CHECK_DIS

- -
-
- - - - -
#define ACK_CHECK_DIS   0x0
-
-

I2C master will not check ack from slave

- -
-
- -

◆ ACK_CHECK_EN

- -
-
- - - - -
#define ACK_CHECK_EN   0x1
-
-

I2C master will check ack from slave

- -
-
- -

◆ ACK_VAL

- -
-
- - - - -
#define ACK_VAL   0x0
-
-

I2C ack value

- -
-
- -

◆ LOG_LOCAL_LEVEL

- -
-
- - - - -
#define LOG_LOCAL_LEVEL   ESP_LOG_INFO
-
- -
-
- -

◆ MAX_I2C_BUSES

- -
-
- - - - -
#define MAX_I2C_BUSES   2
-
- -
-
- -

◆ NACK_VAL

- -
-
- - - - -
#define NACK_VAL   0x1
-
-

I2C nack value

- -
-
- -

◆ SCL_PIN

- -
-
- - - - -
#define SCL_PIN   17
-
- -
-
- -

◆ SDA_PIN

- -
-
- - - - -
#define SDA_PIN   16
-
- -
-
-

Typedef Documentation

- -

◆ ATCAI2CMaster_t

- -
-
- - - - -
typedef struct atcaI2Cmaster ATCAI2CMaster_t
-
- -
-
-

Function Documentation

- -

◆ hal_i2c_change_baud()

- -
-
- - - - - - - - - - - - - - - - - - -
void hal_i2c_change_baud (ATCAIface iface,
uint32_t speed 
)
-
- -
-
- -

◆ hal_i2c_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[],
int max_buses 
)
-
- -
-
- -

◆ hal_i2c_discover_devices()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_discover_devices (int bus_num,
ATCAIfaceCfgcfg,
int * found 
)
-
- -
-
- -

◆ hal_i2c_idle()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
-
- -
-
- -

◆ hal_i2c_init()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_init (void * hal,
ATCAIfaceCfgcfg 
)
-
- -
-
- -

◆ hal_i2c_post_init()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
-
- -
-
- -

◆ hal_i2c_receive()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxlength 
)
-
- -
-
- -

◆ hal_i2c_release()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_release (void * hal_data)
-
- -
-
- -

◆ hal_i2c_send()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
-
- -
-
- -

◆ hal_i2c_sleep()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
-
- -
-
- -

◆ hal_i2c_wake()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
-
- -
-
-

Variable Documentation

- -

◆ conf

- -
-
- - - - -
i2c_config_t conf
-
- -
-
- -

◆ i2c_bus_ref_ct

- -
-
- - - - -
int i2c_bus_ref_ct = 0
-
- -
-
- -

◆ i2c_hal_data

- -
-
- - - - -
ATCAI2CMaster_t* i2c_hal_data[MAX_I2C_BUSES]
-
-
-
- -

◆ TAG

- -
-
- - - - -
const char* TAG = "HAL_I2C"
-
- -
-
+

Go to the source code of this file.

@@ -87,24 +87,15 @@
-
atca_bool.h File Reference
+
atca_start_config.h
- -

bool define for systems that don't have it -More...

-
#include <stdbool.h>
-
-

Go to the source code of this file.

-

Detailed Description

-

bool define for systems that don't have it

- -
+Go to the documentation of this file.
1 /*
2  this is a placeholder include used to satisfy the include
3 
4  when used with Atmel START, this file will be overwritten
5  with the user configuration generated by Atmel START
6  */
-
-
hal_esp32_timer.c File Reference
+
atca_start_iface.h File Reference
-
#include "atca_hal.h"
-#include "freertos/FreeRTOS.h"
-#include "freertos/task.h"
-
- - - - - -

-Functions

void ets_delay_us (uint32_t)
 
void atca_delay_ms (uint32_t msec)
 
-

Function Documentation

- -

◆ atca_delay_ms()

- -
-
- - - - - - - - -
void atca_delay_ms (uint32_t msec)
-
- -
-
- -

◆ ets_delay_us()

- -
-
- - - - - - - - -
void ets_delay_us (uint32_t )
-
-
-
+

Go to the source code of this file.

@@ -90,12 +90,12 @@
atca_start_iface.h
-Go to the documentation of this file.
1 /*
2  this is a placeholder include used to satisfy the include
3 
4  when used with Atmel START, this file will be overwritten
5  with the user configuration generated by Atmel START
6  */
+Go to the documentation of this file.
1 /*
2  this is a placeholder include used to satisfy the include
3 
4  when used with Atmel START, this file will be overwritten
5  with the user configuration generated by Atmel START
6  */
-

FreeRTOS Hardware/OS Abstration Layer. +

HAL for kit protocol over HID for any platform. More...

-
#include "atca_hal.h"
-#include "FreeRTOS.h"
-#include "semphr.h"
-#include "task.h"
+
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "hidapi.h"
+#include "atca_hal.h"
+#include "hal_all_platforms_kit_hidapi.h"
+#include "hal/kit_protocol.h"
- - - -

-Macros

#define ATCA_MUTEX_TIMEOUT   portMAX_DELAY
 
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
 Optional hal interfaces. More...
 
ATCA_STATUS hal_destroy_mutex (void *pMutex)
 
ATCA_STATUS hal_lock_mutex (void *pMutex)
 
ATCA_STATUS hal_unlock_mutex (void *pMutex)
 
ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
+ + +

+Variables

atcahid_t _gHid
 

Detailed Description

-

FreeRTOS Hardware/OS Abstration Layer.

+

HAL for kit protocol over HID for any platform.

-

Macro Definition Documentation

- -

◆ ATCA_MUTEX_TIMEOUT

- -
-
- - - - -
#define ATCA_MUTEX_TIMEOUT   portMAX_DELAY
-
- -
-
-
+
-

ATCA Hardware abstraction layer for I2C bit banging. +

HAL for kit protocol over HID for any platform. More...

-
#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "atca_device.h"
-#include "hal_i2c_bitbang.h"
-#include "atca_execution.h"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
#include "hidapi.h"
+
+

Go to the source code of this file.

+

-Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
+ + + +

+Data Structures

struct  atcahid
 
+ + + + + +

+Macros

#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
+ + +

+Typedefs

typedef struct atcahid atcahid_t
 

Detailed Description

-

ATCA Hardware abstraction layer for I2C bit banging.

+

HAL for kit protocol over HID for any platform.

-

ATCA Hardware abstraction layer for I2C bit banging. +

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers. More...

-
#include "i2c_bitbang_at88ck9000.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 This is the hal_data for ATCA HAL. More...
 
- - - - +
#include <asf.h>
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_at90usb1287_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+

-Enumerations

enum  i2c_read_write_flag { I2C_WRITE = (uint8_t)0x00, -I2C_READ = (uint8_t)0x01 - }
 This enumeration lists flags for I2C read or write addressing. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for I2C bit banging.

+

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.

+

Prerequisite: Add I2C Master Polled/Interrupt support to application in Atmel Studio this HAL implementation assumes you've included the ASF I2C libraries in your project, otherwise, the HAL layer will not compile because the ASF I2C drivers are a dependency

-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. +

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers. More...

-
#include <string.h>
-#include <stdio.h>
-#include <atmel_start.h>
-#include <hal_gpio.h>
-#include <hal_delay.h>
-#include "atca_hal.h"
-#include "atca_device.h"
-#include "hal_i2c_start.h"
-#include "peripheral_clk_config.h"
-#include "atca_execution.h"
-#include "atca_start_config.h"
-#include "atca_start_iface.h"
-
+
#include <asf.h>
+#include "twi_megarf.h"
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   1
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - -

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the START I2C primitives to set up the interface.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.

+

Prerequisite: add I2C Master Polled support to application in Atmel Studio

@@ -90,20 +90,20 @@
hal_at90usb1287_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_AT90USB1287_I2C_ASF_H_
31 #define HAL_AT90USB1287_I2C_ASF_H_
32 
33 #include <asf.h>
34 #include "twi_megarf.h"
35 
45 #define MAX_I2C_BUSES 1 // AT90USB1287 has only 1 PORT that can be configured as I2C
46 
49 typedef struct atcaI2Cmaster
50 {
51  volatile void* i2c_master_instance;
52  int ref_ct;
53  int bus_index; // for conveniences during interface release phase
55 
56 void change_i2c_speed(ATCAIface iface, uint32_t speed);
57 
59 #endif /* HAL_AT90USB1287_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL created using ASF
+Go to the documentation of this file.
1 
30 #ifndef HAL_AT90USB1287_I2C_ASF_H_
31 #define HAL_AT90USB1287_I2C_ASF_H_
32 
33 #include <asf.h>
34 #include "twi_megarf.h"
35 
45 #define MAX_I2C_BUSES 1 // AT90USB1287 has only 1 PORT that can be configured as I2C
46 
49 typedef struct atcaI2Cmaster
50 {
51  volatile void* i2c_master_instance;
52  int ref_ct;
53  int bus_index; // for conveniences during interface release phase
55 
56 void change_i2c_speed(ATCAIface iface, uint32_t speed);
57 
59 #endif /* HAL_AT90USB1287_I2C_ASF_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL created using ASF
-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. +

ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers. More...

-
#include "atmel_start.h"
-#include <stdlib.h>
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   6
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for Atmel START SERCOM More...
 
+
#include <asf.h>
+#include <delay.h>
+#include "atca_hal.h"
+
- - - + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers.

- -

ATCA Hardware abstraction layer for Linux using I2C. -More...

-
#include <linux/i2c-dev.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
+
#include <stdio.h>
#include <string.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "atca_hal.h"
-#include "hal_linux_i2c_userspace.h"
+#include <driver/i2c.h>
+#include "hal/atca_hal.h"
+#include "esp_err.h"
+#include "esp_log.h"
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + + + + + + + + + + + + + + + +

+Macros

#define SDA_PIN   16
 
#define SCL_PIN   17
 
#define ACK_CHECK_EN   0x1
 
#define ACK_CHECK_DIS   0x0
 
#define ACK_VAL   0x0
 
#define NACK_VAL   0x1
 
#define LOG_LOCAL_LEVEL   ESP_LOG_INFO
 
#define MAX_I2C_BUSES   2
 
+ + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void hal_i2c_change_baud (ATCAIface iface, uint32_t speed)
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 
- - - - + + + + + + + +

Variables

ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
 
int i2c_bus_ref_ct = 0
 
ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
 
int i2c_bus_ref_ct = 0
 
i2c_config_t conf
 
const char * TAG = "HAL_I2C"
 
-

Detailed Description

-

ATCA Hardware abstraction layer for Linux using I2C.

- -
+

Macro Definition Documentation

+ +

◆ ACK_CHECK_DIS

+ +
+
+ + + + +
#define ACK_CHECK_DIS   0x0
+
+

I2C master will not check ack from slave

+ +
+
+ +

◆ ACK_CHECK_EN

+ +
+
+ + + + +
#define ACK_CHECK_EN   0x1
+
+

I2C master will check ack from slave

+ +
+
+ +

◆ ACK_VAL

+ +
+
+ + + + +
#define ACK_VAL   0x0
+
+

I2C ack value

+ +
+
+ +

◆ LOG_LOCAL_LEVEL

+ +
+
+ + + + +
#define LOG_LOCAL_LEVEL   ESP_LOG_INFO
+
+ +
+
+ +

◆ MAX_I2C_BUSES

+ +
+
+ + + + +
#define MAX_I2C_BUSES   2
+
+ +
+
+ +

◆ NACK_VAL

+ +
+
+ + + + +
#define NACK_VAL   0x1
+
+

I2C nack value

+ +
+
+ +

◆ SCL_PIN

+ +
+
+ + + + +
#define SCL_PIN   17
+
+ +
+
+ +

◆ SDA_PIN

+ +
+
+ + + + +
#define SDA_PIN   16
+
+ +
+
+

Typedef Documentation

+ +

◆ ATCAI2CMaster_t

+ +
+
+ + + + +
typedef struct atcaI2Cmaster ATCAI2CMaster_t
+
+ +
+
+

Function Documentation

+ +

◆ hal_i2c_change_baud()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hal_i2c_change_baud (ATCAIface iface,
uint32_t speed 
)
+
+ +
+
+ +

◆ hal_i2c_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[],
int max_buses 
)
+
+ +
+
+ +

◆ hal_i2c_discover_devices()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_discover_devices (int bus_num,
ATCAIfaceCfgcfg,
int * found 
)
+
+ +
+
+ +

◆ hal_i2c_idle()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
+
+ +
+
+ +

◆ hal_i2c_init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_init (void * hal,
ATCAIfaceCfgcfg 
)
+
+ +
+
+ +

◆ hal_i2c_post_init()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
+
+ +
+
+ +

◆ hal_i2c_receive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxlength 
)
+
+ +
+
+ +

◆ hal_i2c_release()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_release (void * hal_data)
+
+ +
+
+ +

◆ hal_i2c_send()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
+
+ +
+
+ +

◆ hal_i2c_sleep()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
+
+ +
+
+ +

◆ hal_i2c_wake()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
+
+ +
+
+

Variable Documentation

+ +

◆ conf

+ +
+
+ + + + +
i2c_config_t conf
+
+ +
+
+ +

◆ i2c_bus_ref_ct

+ +
+
+ + + + +
int i2c_bus_ref_ct = 0
+
+ +
+
+ +

◆ i2c_hal_data

+ +
+
+ + + + +
ATCAI2CMaster_t* i2c_hal_data[MAX_I2C_BUSES]
+
+ +
+
+ +

◆ TAG

+ +
+
+ + + + +
const char* TAG = "HAL_I2C"
+
+ +
+
+
+
#include "atca_hal.h"
+#include "freertos/FreeRTOS.h"
+#include "freertos/task.h"
+
+ + + + + +

+Functions

void ets_delay_us (uint32_t)
 
void atca_delay_ms (uint32_t msec)
 
+

Function Documentation

+ +

◆ atca_delay_ms()

-

ATCA Hardware abstraction layer for Linux using I2C. -More...

+
+
+ + + + + + + + +
void atca_delay_ms (uint32_t msec)
+
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   2
 
- - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 
-

Detailed Description

-

ATCA Hardware abstraction layer for Linux using I2C.

- -
+
+
+ +

◆ ets_delay_us()

+ +
+
+ + + + + + + + +
void ets_delay_us (uint32_t )
+
+ +
+
+
-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device. +

FreeRTOS Hardware/OS Abstration Layer. More...

-
#include <stdio.h>
-#include <string.h>
-#include <termios.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include "atca_hal.h"
-#include "kit_phy.h"
-#include "hal_linux_kit_cdc.h"
-#include "kit_protocol.h"
+
#include "atca_hal.h"
+#include "FreeRTOS.h"
+#include "semphr.h"
+#include "task.h"
- - - - + +

Macros

#define max(a, b)   (((a) > (b)) ? (a) : (b))
 
#define min(a, b)   (((a) < (b)) ? (a) : (b))
 
#define ATCA_MUTEX_TIMEOUT   portMAX_DELAY
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS hal_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB CDC init. More...
 
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
 HAL implementation of Kit USB CDC post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
 Number of USB CDC devices found. More...
 
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of kit protocol receive over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
 Call the wake for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
 Call the idle for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
 Call the sleep for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
 Close the physical port for CDC over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
- - - - - - - + + + + + + + + +

-Variables

atcacdc_t _gCdc
 
char * dev = "/dev/ttyACM0"
 
int speed = B115200
 
ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
 Optional hal interfaces. More...
 
ATCA_STATUS hal_destroy_mutex (void *pMutex)
 
ATCA_STATUS hal_lock_mutex (void *pMutex)
 
ATCA_STATUS hal_unlock_mutex (void *pMutex)
 

Detailed Description

-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.

+

FreeRTOS Hardware/OS Abstration Layer.

-
+

Macro Definition Documentation

+ +

◆ ATCA_MUTEX_TIMEOUT

+ +
+
+ + + + +
#define ATCA_MUTEX_TIMEOUT   portMAX_DELAY
+
+ +
+
+
-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device. +

ATCA Hardware abstraction layer for I2C bit banging. More...

- -

Go to the source code of this file.

- - - - - - -

-Data Structures

struct  cdc_device
 
struct  atcacdc
 
- - - - - - - -

-Macros

#define CDC_DEVICES_MAX   10
 
#define CDC_BUFFER_MAX   1024
 
#define INVALID_HANDLE_VALUE   ((int)(-1))
 
- - - - - - - +
#include <asf.h>
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "atca_device.h"
+#include "hal_i2c_bitbang.h"
+#include "atca_execution.h"
+

-Typedefs

typedef int HANDLE
 
typedef struct cdc_device cdc_device_t
 
typedef struct atcacdc atcacdc_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.

+

ATCA Hardware abstraction layer for I2C bit banging.

-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device. +

ATCA Hardware abstraction layer for I2C bit banging. More...

-
#include <libudev.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include "atca_hal.h"
-#include "hal_linux_kit_hid.h"
-#include "hal/kit_protocol.h"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
#include "i2c_bitbang_at88ck9000.h"
+
+

Go to the source code of this file.

+

-Functions

ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 This is the hal_data for ATCA HAL. More...
 
- - - + + + +

-Variables

atcahid_t _gHid
 

+Enumerations

enum  i2c_read_write_flag { I2C_WRITE = (uint8_t)0x00, +I2C_READ = (uint8_t)0x01 + }
 This enumeration lists flags for I2C read or write addressing. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.

+

ATCA Hardware abstraction layer for I2C bit banging.

@@ -90,22 +90,22 @@
hal_i2c_bitbang.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_I2C_BITBANG_H_
29 #define HAL_I2C_BITBANG_H_
30 
31 
32 
33 
34 
35 #if BOARD == AT88CK9000
36 # include "i2c_bitbang_at88ck9000.h"
37 #endif
38 
39 #if (SAMD21 == 1)
40 #include "i2c_bitbang_samd21.h"
41 #endif
42 
43 
55 {
56  I2C_WRITE = (uint8_t)0x00,
57  I2C_READ = (uint8_t)0x01
58 };
59 
63 typedef struct atcaI2Cmaster
64 {
65  uint32_t pin_sda;
66  uint32_t pin_scl;
67  int ref_ct;
69  int bus_index;
71 
74 #endif /* HAL_AT88CK900X_I2C_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
definitions for bit-banged I2C
-
read command flag
Definition: hal_i2c_bitbang.h:57
-
i2c_read_write_flag
This enumeration lists flags for I2C read or write addressing.
Definition: hal_i2c_bitbang.h:54
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
uint32_t pin_sda
Definition: hal_i2c_bitbang.h:65
-
write command flag
Definition: hal_i2c_bitbang.h:56
-
uint32_t pin_scl
Definition: hal_i2c_bitbang.h:66
-
struct atcaI2Cmaster ATCAI2CMaster_t
This is the hal_data for ATCA HAL.
+Go to the documentation of this file.
1 
28 #ifndef HAL_I2C_BITBANG_H_
29 #define HAL_I2C_BITBANG_H_
30 
31 
32 
33 
34 
35 #if BOARD == AT88CK9000
36 # include "i2c_bitbang_at88ck9000.h"
37 #endif
38 
39 #if (SAMD21 == 1)
40 #include "i2c_bitbang_samd21.h"
41 #endif
42 
43 
55 {
56  I2C_WRITE = (uint8_t)0x00,
57  I2C_READ = (uint8_t)0x01
58 };
59 
63 typedef struct atcaI2Cmaster
64 {
65  uint32_t pin_sda;
66  uint32_t pin_scl;
67  int ref_ct;
69  int bus_index;
71 
74 #endif /* HAL_AT88CK900X_I2C_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
uint32_t pin_sda
Definition: hal_i2c_bitbang.h:65
+
write command flag
Definition: hal_i2c_bitbang.h:56
+
i2c_read_write_flag
This enumeration lists flags for I2C read or write addressing.
Definition: hal_i2c_bitbang.h:54
+
uint32_t pin_scl
Definition: hal_i2c_bitbang.h:66
+
definitions for bit-banged I2C
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
This is the hal_data for ATCA HAL.
+
read command flag
Definition: hal_i2c_bitbang.h:57
-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device. +

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. More...

- -

Go to the source code of this file.

- - - - - - -

-Data Structures

struct  hid_device
 
struct  atcahid
 
- - - - - -

-Macros

#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
- - - - - +
#include <string.h>
+#include <stdio.h>
+#include <atmel_start.h>
+#include <hal_gpio.h>
+#include <hal_delay.h>
+#include "atca_hal.h"
+#include "atca_device.h"
+#include "hal_i2c_start.h"
+#include "peripheral_clk_config.h"
+#include "atca_execution.h"
+#include "atca_start_config.h"
+#include "atca_start_iface.h"
+

-Typedefs

typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.

+

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the START I2C primitives to set up the interface.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

-

Timer Utility Functions for Linux. +

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. More...

-
#include <stdint.h>
-#include <unistd.h>
-#include "atca_hal.h"
-
+
#include "atmel_start.h"
+#include <stdlib.h>
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   6
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for Atmel START SERCOM More...
 
- - - - - - - - - + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

Timer Utility Functions for Linux.

+

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

@@ -90,21 +90,21 @@
hal_i2c_start.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAMD21_I2C_START_H_
31 #define HAL_SAMD21_I2C_START_H_
32 
33 #include "atmel_start.h"
34 #include <stdlib.h>
35 
44 #define MAX_I2C_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as I2C
45 
48 typedef struct atcaI2Cmaster
49 {
50  struct i2c_m_sync_desc i2c_master_instance;
51  uint32_t sercom_core_freq;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
61 #endif /* HAL_SAMD21_I2C_START_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
uint32_t sercom_core_freq
Definition: hal_i2c_start.h:51
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for Atmel START SERCOM
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAMD21_I2C_START_H_
31 #define HAL_SAMD21_I2C_START_H_
32 
33 #include "atmel_start.h"
34 #include <stdlib.h>
35 
44 #define MAX_I2C_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as I2C
45 
48 typedef struct atcaI2Cmaster
49 {
50  struct i2c_m_sync_desc i2c_master_instance;
51  uint32_t sercom_core_freq;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
61 #endif /* HAL_SAMD21_I2C_START_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
uint32_t sercom_core_freq
Definition: hal_i2c_start.h:51
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for Atmel START SERCOM
-

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers. +

ATCA Hardware abstraction layer for Linux using I2C. More...

-
#include <plib.h>
-#include <stdio.h>
+
#include <linux/i2c-dev.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
#include <string.h>
-#include "hal/atca_hal.h"
-#include "hal/hal_pic32mx695f512h_i2c.h"
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "atca_hal.h"
+#include "hal_linux_i2c_userspace.h"
- - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + +

Functions

void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
 
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
+ + + + +

+Variables

ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
 
int i2c_bus_ref_ct = 0
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the xxx I2C primitives to set up the interface.

-

Prerequisite:

+

ATCA Hardware abstraction layer for Linux using I2C.

-
hal_pic32mx695f512h_i2c.h File Reference
+
hal_linux_i2c_userspace.h File Reference
-

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers. +

ATCA Hardware abstraction layer for Linux using I2C. More...

Go to the source code of this file.

- - + +

Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - - - - - +

Macros

#define GetSystemClock()   (80000000ul)
 
#define GetPeripheralClock()   (GetSystemClock() / (1 << OSCCONbits.PBDIV))
 
#define GetInstructionClock()   (GetSystemClock())
 
#define MAX_I2C_BUSES   4
#define MAX_I2C_BUSES   2
 
- - + -

Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 
- - - - - - - -

-Functions

void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
 
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the xxx I2C primitives to set up the interface.

-

Prerequisite:

+

ATCA Hardware abstraction layer for Linux using I2C.

-Go to the documentation of this file.
1 
33 #ifndef HAL_PIC32MX695F512H_I2C_ASF_H_
34 #define HAL_PIC32MX695F512H_I2C_ASF_H_
35 
36 
45 // Clock Constants
46 #define GetSystemClock() (80000000ul)
47 #define GetPeripheralClock() (GetSystemClock() / (1 << OSCCONbits.PBDIV))
48 #define GetInstructionClock() (GetSystemClock())
49 
50 #define MAX_I2C_BUSES 4 // PIC32MX695F512H has 4 TWI
51 
55 typedef struct atcaI2Cmaster
56 {
57  I2C_MODULE id;
58  int ref_ct;
59  // for conveniences during interface release phase
60  int bus_index;
62 
63 void i2c_write(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len);
64 ATCA_STATUS i2c_read(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len);
65 
66 void change_i2c_speed(ATCAIface iface, uint32_t speed);
67 
70 #endif /* HAL_PIC32MX695F512H_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
ATCA_STATUS
Definition: atca_status.h:41
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
ATCA_STATUS i2c_read(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
Definition: hal_pic32mx695f512h_i2c.c:211
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
-
I2C_MODULE id
Definition: hal_pic32mx695f512h_i2c.h:57
-
void i2c_write(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
Definition: hal_pic32mx695f512h_i2c.c:188
+Go to the documentation of this file.
1 
28 #ifndef HAL_LINUX_I2C_USERSPACE_H_
29 #define HAL_LINUX_I2C_USERSPACE_H_
30 
38 #define MAX_I2C_BUSES 2 // Raspberry Pi has 2 TWI
39 
40 // A structure to hold I2C information
41 typedef struct atcaI2Cmaster
42 {
43  char i2c_file[16];
44  int ref_ct;
45  // for conveniences during interface release phase
46  int bus_index;
48 
51 #endif /* HAL_LINUX_I2C_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
char i2c_file[16]
Definition: hal_linux_i2c_userspace.h:43
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
-

ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine. +

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device. More...

-
#include <plib.h>
-#include "hal/atca_hal.h"
+
#include <stdio.h>
+#include <string.h>
+#include <termios.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include "atca_hal.h"
+#include "kit_phy.h"
+#include "hal_linux_kit_cdc.h"
+#include "kit_protocol.h"
- - - - + + + +

Macros

#define CPU_CLOCK   (80000000UL)
 
#define us_SCALE   ((CPU_CLOCK / 2) / 1000000)
 
#define max(a, b)   (((a) > (b)) ? (a) : (b))
 
#define min(a, b)   (((a) < (b)) ? (a) : (b))
 
- - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void delay_us (UINT32 delay)
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB CDC init. More...
 
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
 HAL implementation of Kit USB CDC post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
 Number of USB CDC devices found. More...
 
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of kit protocol receive over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
 Call the wake for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
 Call the idle for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
 Call the sleep for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
 Close the physical port for CDC over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
+ + + + + + +

+Variables

atcacdc_t _gCdc
 
char * dev = "/dev/ttyACM0"
 
int speed = B115200
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine.

+

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.

-

ATCA Hardware abstraction layer for PIC32MZ2048. +

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device. More...

-
#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "atca_hal.h"
-#include "atca_device.h"
-#include "hal/hal_pic32mz2048efm_i2c.h"
-#include "driver/i2c/drv_i2c.h"
-#include "system_definitions.h"
-#include "driver/i2c/src/drv_i2c_local.h"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +

Go to the source code of this file.

+

-Functions

ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
+ + + + + +

+Data Structures

struct  cdc_device
 
struct  atcacdc
 
+ + + + + + +

+Macros

#define CDC_DEVICES_MAX   10
 
#define CDC_BUFFER_MAX   1024
 
#define INVALID_HANDLE_VALUE   ((int)(-1))
 
- - - - - - - - - - - - - - + + + + + + +

-Variables

DRV_HANDLE drvI2CMasterHandle
 
DRV_HANDLE drvI2CMasterHandle1
 
DRV_I2C_BUFFER_HANDLE write_bufHandle
 
DRV_I2C_BUFFER_HANDLE read_bufHandle
 
uint32_t Debug_count = 0
 HAL implementation of I2C send over ASF. More...
 
uint32_t bytes_transferred = 0
 

+Typedefs

typedef int HANDLE
 
typedef struct cdc_device cdc_device_t
 
typedef struct atcacdc atcacdc_t
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MZ2048.

+

ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.

-

Function Documentation

- -

◆ hal_i2c_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[],
int max_buses 
)
-
- -

discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge

-
Parameters
- - - -
[in]i2c_busesan array of logical bus numbers
[in]max_busesmaximum number of buses the app wants to attempt to discover
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_discover_devices()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_discover_devices (int bus_num,
ATCAIfaceCfg cfg[],
int * found 
)
-
- -

discover any CryptoAuth devices on a given logical bus number

-
Parameters
- - - - -
[in]bus_numlogical bus number on which to look for CryptoAuth devices
[out]cfgpointer to head of an array of interface config structures which get filled in by this method
[out]foundnumber of devices found on this bus
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_idle()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
-
- -

idle CryptoAuth device using I2C bus

-
Parameters
- - -
[in]ifaceinterface to logical device to idle
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_init()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_init (void * hal,
ATCAIfaceCfgcfg 
)
-
- -

initialize an I2C interface using given config

-
Parameters
- - - -
[in]halopaque ptr to HAL data
[in]cfginterface configuration
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_post_init()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
-
- -

HAL implementation of I2C post init.

-
Parameters
- - -
[in]ifaceinstance
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_receive()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxlength 
)
-
- -

HAL implementation of I2C receive function.

-
Parameters
- - - - -
[in]ifaceDevice to interact with.
[out]rxdataData received will be returned here.
[in,out]rxlengthAs input, the size of the rxdata buffer. As output, the number of bytes received.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_release()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_release (void * hal_data)
-
- -

manages reference count on given bus and releases resource if no more refences exist

-
Parameters
- - -
[in]hal_dataopaque pointer to hal data structure - known only to the HAL implementation
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_send()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_i2c_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
-
- -
-
- -

◆ hal_i2c_sleep()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
-
- -

sleep CryptoAuth device using I2C bus

-
Parameters
- - -
[in]ifaceinterface to logical device to sleep
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_i2c_wake()

- -
-
- - - - - - - - -
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
-
- -

wake up CryptoAuth device using I2C bus

-
Parameters
- - -
[in]ifaceinterface to logical device to wakeup
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-

Variable Documentation

- -

◆ bytes_transferred

- -
-
- - - - -
uint32_t bytes_transferred = 0
-
- -
-
- -

◆ Debug_count

- -
-
- - - - -
uint32_t Debug_count = 0
-
- -

HAL implementation of I2C send over ASF.

-
Parameters
- - - - -
[in]ifaceinstance
[in]txdatapointer to space to bytes to send
[in]txlengthnumber of bytes to send
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ drvI2CMasterHandle

- -
-
- - - - -
DRV_HANDLE drvI2CMasterHandle
-
- -
-
- -

◆ drvI2CMasterHandle1

- -
-
- - - - -
DRV_HANDLE drvI2CMasterHandle1
-
- -
-
- -

◆ read_bufHandle

- -
-
- - - - -
DRV_I2C_BUFFER_HANDLE read_bufHandle
-
- -
-
- -

◆ write_bufHandle

- -
-
- - - - -
DRV_I2C_BUFFER_HANDLE write_bufHandle
-
- -
-
-
+
@@ -90,22 +90,22 @@
hal_linux_kit_cdc.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_LINUX_KIT_CDC_H_
29 #define HAL_LINUX_KIT_CDC_H_
30 
38 // Kit USB defines
39 #define CDC_DEVICES_MAX 10
40 #define CDC_BUFFER_MAX 1024
41 
42 
43 // Each device that is found will have a read handle and a write handle
44 typedef int HANDLE;
45 #define INVALID_HANDLE_VALUE ((int)(-1))
46 typedef struct cdc_device
47 {
50 } cdc_device_t;
51 
52 
53 // A structure to hold CDC information
54 typedef struct atcacdc
55 {
58 } atcacdc_t;
59 
62 #endif /* HAL_LINUX_KIT_CDC_H_ */
63 
cdc_device_t kits[CDC_DEVICES_MAX]
Definition: hal_linux_kit_cdc.h:56
-
struct atcacdc atcacdc_t
-
Definition: hal_linux_kit_cdc.h:46
-
int HANDLE
Definition: hal_linux_kit_cdc.h:44
-
#define CDC_DEVICES_MAX
Definition: hal_linux_kit_cdc.h:39
-
int8_t num_kits_found
Definition: hal_linux_kit_cdc.h:57
-
struct cdc_device cdc_device_t
-
Definition: hal_linux_kit_cdc.h:54
-
HANDLE read_handle
Definition: hal_linux_kit_cdc.h:48
-
HANDLE write_handle
The kit USB read file handle.
Definition: hal_linux_kit_cdc.h:49
+Go to the documentation of this file.
1 
28 #ifndef HAL_LINUX_KIT_CDC_H_
29 #define HAL_LINUX_KIT_CDC_H_
30 
38 // Kit USB defines
39 #define CDC_DEVICES_MAX 10
40 #define CDC_BUFFER_MAX 1024
41 
42 
43 // Each device that is found will have a read handle and a write handle
44 typedef int HANDLE;
45 #define INVALID_HANDLE_VALUE ((int)(-1))
46 typedef struct cdc_device
47 {
50 } cdc_device_t;
51 
52 
53 // A structure to hold CDC information
54 typedef struct atcacdc
55 {
58 } atcacdc_t;
59 
62 #endif /* HAL_LINUX_KIT_CDC_H_ */
63 
int HANDLE
Definition: hal_linux_kit_cdc.h:44
+
HANDLE read_handle
Definition: hal_linux_kit_cdc.h:48
+
struct cdc_device cdc_device_t
+
Definition: hal_linux_kit_cdc.h:54
+
int8_t num_kits_found
Definition: hal_linux_kit_cdc.h:57
+
#define CDC_DEVICES_MAX
Definition: hal_linux_kit_cdc.h:39
+
Definition: hal_linux_kit_cdc.h:46
+
cdc_device_t kits[CDC_DEVICES_MAX]
Definition: hal_linux_kit_cdc.h:56
+
struct atcacdc atcacdc_t
+
HANDLE write_handle
The kit USB read file handle.
Definition: hal_linux_kit_cdc.h:49
-

ATCA Hardware abstraction layer for PIC32MZ2048. +

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device. More...

- -

Go to the source code of this file.

- - - - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
struct  DRV_I2C_Object
 
- - - - - +
#include <libudev.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include "atca_hal.h"
+#include "hal_linux_kit_hid.h"
+#include "hal/kit_protocol.h"
+

-Macros

#define HARMONY_I2C_DRIVER   1
 
#define MAX_I2C_BUSES   3
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
- - - - + + +

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 

+Variables

atcahid_t _gHid
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MZ2048.

+

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.

-

ATCA Hardware abstraction layer for PIC32MZ2048. +

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device. More...

-
#include <stdint.h>
-
+ +

Go to the source code of this file.

+
+ + + + + +

+Data Structures

struct  hid_device
 
struct  atcahid
 
- - - - + + + +

Macros

#define GetSystemClock()   (200000000UL)/* Fcy = 200MHz */
 
#define us_SCALE   (GetSystemClock() / 2000000)
 
#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
- - - - - - - - - - - - + + + + +

-Functions

void delay_us (uint32_t delay)
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

+Typedefs

typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
 

Detailed Description

-

ATCA Hardware abstraction layer for PIC32MZ2048.

+

ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.

@@ -90,21 +90,21 @@
hal_linux_kit_hid.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_LINUX_KIT_HID_H_
29 #define HAL_LINUX_KIT_HID_H_
30 
38 // Kit USB defines
39 #define HID_DEVICES_MAX 10
40 #define HID_PACKET_MAX 512
41 
42 // Each device that is found will have a read handle and a write handle
43 typedef struct hid_device
44 {
45  FILE *read_handle;
46  FILE *write_handle;
47 } hid_device_t;
48 
49 
50 // A structure to hold HID information
51 typedef struct atcahid
52 {
54  int8_t num_kits_found;
55 } atcahid_t;
56 
58 #endif /* HAL_LINUX_KIT_HID_H_ */
Definition: hal_linux_kit_hid.h:43
-
struct atcahid atcahid_t
-
int8_t num_kits_found
Definition: hal_all_platforms_kit_hidapi.h:51
-
FILE * write_handle
The kit USB read file handle.
Definition: hal_linux_kit_hid.h:46
-
#define HID_DEVICES_MAX
Definition: hal_linux_kit_hid.h:39
-
struct hid_device hid_device_t
-
hid_device * kits[HID_DEVICES_MAX]
Definition: hal_all_platforms_kit_hidapi.h:50
-
FILE * read_handle
Definition: hal_linux_kit_hid.h:45
-
Definition: hal_all_platforms_kit_hidapi.h:48
+Go to the documentation of this file.
1 
28 #ifndef HAL_LINUX_KIT_HID_H_
29 #define HAL_LINUX_KIT_HID_H_
30 
38 // Kit USB defines
39 #define HID_DEVICES_MAX 10
40 #define HID_PACKET_MAX 512
41 
42 // Each device that is found will have a read handle and a write handle
43 typedef struct hid_device
44 {
45  FILE *read_handle;
46  FILE *write_handle;
47 } hid_device_t;
48 
49 
50 // A structure to hold HID information
51 typedef struct atcahid
52 {
54  int8_t num_kits_found;
55 } atcahid_t;
56 
58 #endif /* HAL_LINUX_KIT_HID_H_ */
hid_device * kits[HID_DEVICES_MAX]
Definition: hal_all_platforms_kit_hidapi.h:50
+
FILE * write_handle
The kit USB read file handle.
Definition: hal_linux_kit_hid.h:46
+
int8_t num_kits_found
Definition: hal_all_platforms_kit_hidapi.h:51
+
Definition: hal_all_platforms_kit_hidapi.h:48
+
#define HID_DEVICES_MAX
Definition: hal_linux_kit_hid.h:39
+
struct hid_device hid_device_t
+
Definition: hal_linux_kit_hid.h:43
+
struct atcahid atcahid_t
+
FILE * read_handle
Definition: hal_linux_kit_hid.h:45
-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. +

Timer Utility Functions for Linux. More...

-
#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_sam4s_i2c_asf.h"
-#include "atca_device.h"
-#include "atca_execution.h"
+
#include <stdint.h>
+#include <unistd.h>
+#include "atca_hal.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

-

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

+

Timer Utility Functions for Linux.

-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers. More...

-
#include <asf.h>
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   2
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
+
#include <plib.h>
+#include <stdio.h>
+#include <string.h>
+#include "hal/atca_hal.h"
+#include "hal/hal_pic32mx695f512h_i2c.h"
+
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
 
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

-

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

+

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the xxx I2C primitives to set up the interface.

+

Prerequisite:

-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers. More...

-
#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
+ +

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + + + + + + + +

+Macros

#define GetSystemClock()   (80000000ul)
 
#define GetPeripheralClock()   (GetSystemClock() / (1 << OSCCONbits.PBDIV))
 
#define GetInstructionClock()   (GetSystemClock())
 
#define MAX_I2C_BUSES   4
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
- - - - - - - - - + + + + + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
 
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

-

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio

+

ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the xxx I2C primitives to set up the interface.

+

Prerequisite:

-

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine. More...

-
#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_samb11_i2c_asf.h"
-#include "atca_device.h"
-#include "atca_execution.h"
+
#include <plib.h>
+#include "hal/atca_hal.h"
+ + + + + +

+Macros

#define CPU_CLOCK   (80000000UL)
 
#define us_SCALE   ((CPU_CLOCK / 2) / 1000000)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void delay_us (UINT32 delay)
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

-

Prerequisite: add I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine.

-

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MZ2048. More...

-
#include <asf.h>
-
-

Go to the source code of this file.

- - - - - +
#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "atca_hal.h"
+#include "atca_device.h"
+#include "hal/hal_pic32mz2048efm_i2c.h"
+#include "driver/i2c/drv_i2c.h"
+#include "system_definitions.h"
+#include "driver/i2c/src/drv_i2c_local.h"
+

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   2
 
- - - - + + + + + + + + + + + + + +

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF More...
 

+Variables

DRV_HANDLE drvI2CMasterHandle
 
DRV_HANDLE drvI2CMasterHandle1
 
DRV_I2C_BUFFER_HANDLE write_bufHandle
 
DRV_I2C_BUFFER_HANDLE read_bufHandle
 
uint32_t Debug_count = 0
 HAL implementation of I2C send over ASF. More...
 
uint32_t bytes_transferred = 0
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for PIC32MZ2048.

-
+

Function Documentation

+ +

◆ hal_i2c_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[],
int max_buses 
)
+
+ +

discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge

+
Parameters
+ + + +
[in]i2c_busesan array of logical bus numbers
[in]max_busesmaximum number of buses the app wants to attempt to discover
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_discover_devices()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_discover_devices (int bus_num,
ATCAIfaceCfg cfg[],
int * found 
)
+
+ +

discover any CryptoAuth devices on a given logical bus number

+
Parameters
+ + + + +
[in]bus_numlogical bus number on which to look for CryptoAuth devices
[out]cfgpointer to head of an array of interface config structures which get filled in by this method
[out]foundnumber of devices found on this bus
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_idle()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
+
+ +

idle CryptoAuth device using I2C bus

+
Parameters
+ + +
[in]ifaceinterface to logical device to idle
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_init (void * hal,
ATCAIfaceCfgcfg 
)
+
+ +

initialize an I2C interface using given config

+
Parameters
+ + + +
[in]halopaque ptr to HAL data
[in]cfginterface configuration
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_post_init()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
+
+ +

HAL implementation of I2C post init.

+
Parameters
+ + +
[in]ifaceinstance
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_receive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxlength 
)
+
+ +

HAL implementation of I2C receive function.

+
Parameters
+ + + + +
[in]ifaceDevice to interact with.
[out]rxdataData received will be returned here.
[in,out]rxlengthAs input, the size of the rxdata buffer. As output, the number of bytes received.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_release()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_release (void * hal_data)
+
+ +

manages reference count on given bus and releases resource if no more refences exist

+
Parameters
+ + +
[in]hal_dataopaque pointer to hal data structure - known only to the HAL implementation
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_send()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_i2c_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
+
+ +
+
+ +

◆ hal_i2c_sleep()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
+
+ +

sleep CryptoAuth device using I2C bus

+
Parameters
+ + +
[in]ifaceinterface to logical device to sleep
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_i2c_wake()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
+
+ +

wake up CryptoAuth device using I2C bus

+
Parameters
+ + +
[in]ifaceinterface to logical device to wakeup
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+

Variable Documentation

+ +

◆ bytes_transferred

+ +
+
+ + + + +
uint32_t bytes_transferred = 0
+
+ +
+
+ +

◆ Debug_count

+ +
+
+ + + + +
uint32_t Debug_count = 0
+
+ +

HAL implementation of I2C send over ASF.

+
Parameters
+ + + + +
[in]ifaceinstance
[in]txdatapointer to space to bytes to send
[in]txlengthnumber of bytes to send
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ drvI2CMasterHandle

+ +
+
+ + + + +
DRV_HANDLE drvI2CMasterHandle
+
+ +
+
+ +

◆ drvI2CMasterHandle1

+ +
+
+ + + + +
DRV_HANDLE drvI2CMasterHandle1
+
+ +
+
+ +

◆ read_bufHandle

+ +
+
+ + + + +
DRV_I2C_BUFFER_HANDLE read_bufHandle
+
+ +
+
+ +

◆ write_bufHandle

+ +
+
+ + + + +
DRV_I2C_BUFFER_HANDLE write_bufHandle
+
+ +
+
+
-

ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MZ2048. More...

-
#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
- - - - - - - - - - + +

Go to the source code of this file.

+

-Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
+ + + + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
struct  DRV_I2C_Object
 
+ + + + + +

+Macros

#define HARMONY_I2C_DRIVER   1
 
#define MAX_I2C_BUSES   3
 
+ + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers.

+

ATCA Hardware abstraction layer for PIC32MZ2048.

@@ -90,21 +90,21 @@
hal_pic32mz2048efm_i2c.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_PIC32MZ2048EFM_I2C_H_
29 #define HAL_PIC32MZ2048EFM_I2C_H_
30 
31 
41 // Wherever needed to indicate that it is a Harmony driver hal implementation
42 #define HARMONY_I2C_DRIVER 1
43 
44 // Clock Constants
45 #define MAX_I2C_BUSES 3 //
46 
50 typedef struct atcaI2Cmaster
51 {
52  int id;
53  int ref_ct;
54  int bus_index;
56 
57 typedef struct
58 {
59  volatile uintptr_t i2cDriverInstance;
61  void * i2cDriverInit;
65 #endif /* HAL_PIC32MX695F512H_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
Definition: hal_pic32mz2048efm_i2c.h:57
-
void * i2cDriverInit
Definition: hal_pic32mz2048efm_i2c.h:61
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
volatile uintptr_t i2cDriverInstance
Definition: hal_pic32mz2048efm_i2c.h:59
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
-
int id
Definition: hal_esp32_i2c.c:38
-
uint32_t i2cDriverInstanceIndex
Definition: hal_pic32mz2048efm_i2c.h:60
+Go to the documentation of this file.
1 
28 #ifndef HAL_PIC32MZ2048EFM_I2C_H_
29 #define HAL_PIC32MZ2048EFM_I2C_H_
30 
31 
41 // Wherever needed to indicate that it is a Harmony driver hal implementation
42 #define HARMONY_I2C_DRIVER 1
43 
44 // Clock Constants
45 #define MAX_I2C_BUSES 3 //
46 
50 typedef struct atcaI2Cmaster
51 {
52  int id;
53  int ref_ct;
54  int bus_index;
56 
57 typedef struct
58 {
59  volatile uintptr_t i2cDriverInstance;
61  void * i2cDriverInit;
65 #endif /* HAL_PIC32MX695F512H_I2C_ASF_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int id
Definition: hal_esp32_i2c.c:38
+
Definition: hal_pic32mz2048efm_i2c.h:57
+
void * i2cDriverInit
Definition: hal_pic32mz2048efm_i2c.h:61
+
volatile uintptr_t i2cDriverInstance
Definition: hal_pic32mz2048efm_i2c.h:59
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
+
uint32_t i2cDriverInstanceIndex
Definition: hal_pic32mz2048efm_i2c.h:60
-

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers. +

ATCA Hardware abstraction layer for PIC32MZ2048. More...

-
#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_samd21_i2c_asf.h"
-#include "atca_device.h"
-#include "atca_execution.h"
-#include "atca_status.h"
+
#include <stdint.h>
+ + + + + +

+Macros

#define GetSystemClock()   (200000000UL)/* Fcy = 200MHz */
 
#define us_SCALE   (GetSystemClock() / 2000000)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void delay_us (uint32_t delay)
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for PIC32MZ2048.

-

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. More...

#include <asf.h>
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   6
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_sam4s_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

+

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. +

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. More...

#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
+ +

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   2
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
- - - - - - - - - + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

+

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

+

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

@@ -90,21 +90,21 @@
hal_sam4s_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAM4S_I2C_ASF_H_
31 #define HAL_SAM4S_I2C_ASF_H_
32 
33 #include <asf.h>
34 
35 
45 #define MAX_I2C_BUSES 2 // SAM4S has 2 TWI
46 
50 typedef struct atcaI2Cmaster
51 {
52  uint32_t twi_id;
54  int ref_ct;
55  // for conveniences during interface release phase
56  int bus_index;
58 
59 void change_i2c_speed(ATCAIface iface, uint32_t speed);
60 
63 #endif /* HAL_SAM4S_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
Twi * twi_master_instance
Definition: hal_sam4s_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
-
uint32_t twi_id
Definition: hal_sam4s_i2c_asf.h:52
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAM4S_I2C_ASF_H_
31 #define HAL_SAM4S_I2C_ASF_H_
32 
33 #include <asf.h>
34 
35 
45 #define MAX_I2C_BUSES 2 // SAM4S has 2 TWI
46 
50 typedef struct atcaI2Cmaster
51 {
52  uint32_t twi_id;
54  int ref_ct;
55  // for conveniences during interface release phase
56  int bus_index;
58 
59 void change_i2c_speed(ATCAIface iface, uint32_t speed);
60 
63 #endif /* HAL_SAM4S_I2C_ASF_H_ */
Twi * twi_master_instance
Definition: hal_sam4s_i2c_asf.h:53
+
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
uint32_t twi_id
Definition: hal_sam4s_i2c_asf.h:52
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
-

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers. More...

#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "atca_device.h"
-#include "hal_samg55_i2c_asf.h"
-#include "atca_execution.h"
+#include <delay.h>
+#include "atca_hal.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

-

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

+

ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.

+

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio

-

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers. More...

#include <asf.h>
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   2
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_samb11_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.

-

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

+

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

+

Prerequisite: add I2C Master Polled support to application in Atmel Studio

-

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio. +

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers. More...

#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
- - - - - - - - - - + +

Go to the source code of this file.

+

-Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   2
 
+ + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF More...
 

Detailed Description

-

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio.

+

ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

@@ -90,18 +90,18 @@
hal_samb11_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAMB11_I2C_ASF_H_
31 #define HAL_SAMB11_I2C_ASF_H_
32 
33 #include <asf.h>
34 
43 #define MAX_I2C_BUSES 2 // SAMB11 has up to 2 I2C address that can be configured as I2C
44 
47 typedef struct atcaI2Cmaster
48 {
49  I2C* i2c_sercom;
50  struct i2c_master_module i2c_master_instance;
51  int ref_ct;
52  // for conveniences during interface release phase
53  int bus_index;
55 
57 #endif /* HAL_SAMB11_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
I2C * i2c_sercom
Definition: hal_samb11_i2c_asf.h:49
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAMB11_I2C_ASF_H_
31 #define HAL_SAMB11_I2C_ASF_H_
32 
33 #include <asf.h>
34 
43 #define MAX_I2C_BUSES 2 // SAMB11 has up to 2 I2C address that can be configured as I2C
44 
47 typedef struct atcaI2Cmaster
48 {
49  I2C* i2c_sercom;
50  struct i2c_master_module i2c_master_instance;
51  int ref_ct;
52  // for conveniences during interface release phase
53  int bus_index;
55 
57 #endif /* HAL_SAMB11_I2C_ASF_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF
+
I2C * i2c_sercom
Definition: hal_samb11_i2c_asf.h:49
-

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers. More...

#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_samv71_i2c_asf.h"
-#include "atca_device.h"
-#include "atca_execution.h"
+#include <delay.h>
+#include "atca_hal.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.

-

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

-

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers.

-

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers. More...

#include <asf.h>
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   3
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_samd21_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+#include "atca_status.h"
+
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.

+

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

@@ -134,7 +150,7 @@
-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. +

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers. More...

#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
-
+ +

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   6
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
- - - - - - - - - + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

+

ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

@@ -90,21 +90,21 @@
hal_samd21_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAMD21_I2C_ASF_H_
31 #define HAL_SAMD21_I2C_ASF_H_
32 
33 #include <asf.h>
34 
44 #define MAX_I2C_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as I2C
45 
48 typedef struct atcaI2Cmaster
49 {
50  Sercom* i2c_sercom;
51  struct i2c_master_module i2c_master_instance;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
60 #endif /* HAL_SAMD21_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
Sercom * i2c_sercom
Definition: hal_samd21_i2c_asf.h:50
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAMD21_I2C_ASF_H_
31 #define HAL_SAMD21_I2C_ASF_H_
32 
33 #include <asf.h>
34 
44 #define MAX_I2C_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as I2C
45 
48 typedef struct atcaI2Cmaster
49 {
50  Sercom* i2c_sercom;
51  struct i2c_master_module i2c_master_instance;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
60 #endif /* HAL_SAMD21_I2C_ASF_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
Sercom * i2c_sercom
Definition: hal_samd21_i2c_asf.h:50
+
volatile void * i2c_master_instance
Definition: hal_at90usb1287_i2c_asf.h:51
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
-

ATCA Hardware abstraction layer for SWI bit banging. +

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. More...

#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_swi_bitbang.h"
-#include "atca_device.h"
+#include <delay.h>
+#include "atca_hal.h"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
 discover swi buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application.This function is currently not supported. of the a-priori knowledge More...
 
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is curently not supported. More...
 
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SWI bit banging.

+

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

-

ATCA Hardware abstraction layer for SWI bit banging. +

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers. More...

-
#include "swi_bitbang_at88ck9000.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
- - - - -

-Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 This is the hal_data for ATCA HAL. More...
 
- - - - +
#include <asf.h>
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "atca_device.h"
+#include "hal_samg55_i2c_asf.h"
+#include "atca_execution.h"
+

-Enumerations

enum  swi_flag { SWI_FLAG_CMD = (uint8_t)0x77, -SWI_FLAG_TX = (uint8_t)0x88, -SWI_FLAG_IDLE = (uint8_t)0xBB, -SWI_FLAG_SLEEP = (uint8_t)0xCC - }
 This enumeration lists flags for SWI. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SWI bit banging.

+

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

+

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

-

ATCA Hardware abstraction layer for SWI over UART drivers. +

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers. More...

-
#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_swi_uart.h"
-#include "atca_device.h"
-#include "atca_execution.h"
-
+
#include <asf.h>
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   2
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
 discover swi buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application.This function is currently not supported. of the a-priori knowledge More...
 
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is curently not supported. More...
 
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
 HAL implementation of SWI send one byte over UART. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SWI over UART drivers.

+

ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.

+

Prerequisite: add "TWI - Two-Wire Interface (Common API) (service)" module to application in Atmel Studio

@@ -90,22 +90,22 @@
hal_samg55_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAMG55_I2C_ASF_H_
31 #define HAL_SAMG55_I2C_ASF_H_
32 
33 #include <asf.h>
34 
35 
45 #define MAX_I2C_BUSES 2 // SAMG55 has 2 TWI
46 
50 typedef struct atcaI2Cmaster
51 {
52  Flexcom* twi_flexcom;
53  uint32_t twi_flexcom_id;
55  int ref_ct;
56  // for conveniences during interface release phase
57  int bus_index;
59 
60 void change_i2c_speed(ATCAIface iface, uint32_t speed);
61 
64 #endif /* HAL_SAMG55_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
Twi * twi_master_instance
Definition: hal_sam4s_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
uint32_t twi_flexcom_id
Definition: hal_samg55_i2c_asf.h:53
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
-
Flexcom * twi_flexcom
Definition: hal_samg55_i2c_asf.h:52
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAMG55_I2C_ASF_H_
31 #define HAL_SAMG55_I2C_ASF_H_
32 
33 #include <asf.h>
34 
35 
45 #define MAX_I2C_BUSES 2 // SAMG55 has 2 TWI
46 
50 typedef struct atcaI2Cmaster
51 {
52  Flexcom* twi_flexcom;
53  uint32_t twi_flexcom_id;
55  int ref_ct;
56  // for conveniences during interface release phase
57  int bus_index;
59 
60 void change_i2c_speed(ATCAIface iface, uint32_t speed);
61 
64 #endif /* HAL_SAMG55_I2C_ASF_H_ */
Twi * twi_master_instance
Definition: hal_sam4s_i2c_asf.h:53
+
Flexcom * twi_flexcom
Definition: hal_samg55_i2c_asf.h:52
+
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL
+
uint32_t twi_flexcom_id
Definition: hal_samg55_i2c_asf.h:53
-

ATCA Hardware abstraction layer for SWI over UART drivers. +

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio. More...

- -

Go to the source code of this file.

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

-Macros

#define SWI_WAKE_TOKEN   ((uint8_t)0x00)
 flag preceding a command More...
 
#define SWI_FLAG_CMD   ((uint8_t)0x77)
 flag preceding a command More...
 
#define SWI_FLAG_TX   ((uint8_t)0x88)
 flag requesting a response More...
 
#define SWI_FLAG_IDLE   ((uint8_t)0xBB)
 flag requesting to go into Idle mode More...
 
#define SWI_FLAG_SLEEP   ((uint8_t)0xCC)
 flag requesting to go into Sleep mode More...
 
+
#include <asf.h>
+#include <delay.h>
+#include "atca_hal.h"
+
- - - + + + + + + + + +

Functions

ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
 HAL implementation of SWI send one byte over UART. More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SWI over UART drivers.

+

Prerequisite: add "Delay routines (service)" module to application in Atmel Studio.

-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. +

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers. More...

-
#include <hal_delay.h>
-#include "atca_hal.h"
+
#include <asf.h>
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_samv71_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

+

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.

+

This code is structured in two parts. Part 1 is the connection of the ATCA HAL API to the physical I2C implementation. Part 2 is the ASF I2C primitives to set up the interface.

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

@@ -119,7 +149,7 @@
-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device. +

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers. More...

-
#include "atca_hal.h"
-#include "kit_phy.h"
-#include "hal_win_kit_cdc.h"
-#include "kit_protocol.h"
-#include <SetupAPI.h>
-#include <stdlib.h>
-#include <tchar.h>
-#include <stdio.h>
-
+
#include <asf.h>
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   3
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB CDC init. More...
 
ATCA_STATUS hal_cdc_discover_buses (int i2c_buses[], int max_buses)
 discover all CDC kits available.This function is currently not implemented. this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
 HAL implementation of Kit USB CDC post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
 Number of USB CDC devices found. More...
 
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of kit protocol receive over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
 Call the wake for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
 Call the idle for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
 Call the sleep for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
 Close the physical port for CDC. More...
 
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
- - - + + +

-Variables

atcacdc_t _gCdc
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.

+

ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

-

Function Documentation

- -

◆ hal_cdc_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_cdc_discover_buses (int i2c_buses[],
int max_buses 
)
-
- -

discover all CDC kits available.This function is currently not implemented. this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge

-
Parameters
- - - -
[in]i2c_buses- an array of logical bus numbers
[in]max_buses- maximum number of buses the app wants to attempt to discover
-
-
-
Returns
ATCA_UNIMPLEMENTED
- -
-
- -

◆ hal_cdc_discover_devices()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_cdc_discover_devices (int bus_num,
ATCAIfaceCfg cfg[],
int * found 
)
-
- -

discover any CryptoAuth devices on a given logical bus number.This function is currently not implemented.

-
Parameters
- - - - -
[in]bus_num- logical bus number on which to look for CryptoAuth devices
[out]cfg[]- pointer to head of an array of interface config structures which get filled in by this method
[out]*found- number of devices found on this bus
-
-
-
Returns
ATCA_UNIMPLEMENTED
- -
-
- -

◆ hal_kit_cdc_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[],
int max_buses 
)
-
- -

discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented.

-
Parameters
- - - -
[in]cdc_buses- an array of logical bus numbers
[in]max_buses- maximum number of buses the app wants to attempt to discover
-
-
-
Returns
ATCA_UNIMPLEMENTED
- -
-
- -

◆ hal_kit_cdc_discover_devices()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num,
ATCAIfaceCfgcfg,
int * found 
)
-
- -

discover any CryptoAuth devices on a given logical bus number

-
Parameters
- - - - -
[in]bus_num- logical bus number on which to look for CryptoAuth devices
[out]cfg[]- pointer to head of an array of interface config structures which get filled in by this method
[out]*found- number of devices found on this bus
-
-
-
Returns
ATCA_UNIMPLEMENTED
- -
-
- -

◆ hal_kit_cdc_idle()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
-
- -

Call the idle for kit protocol over USB CDC.

-
Parameters
- - -
[in]ifaceATCAIface instance that is the interface object to send the bytes over
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_init()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_kit_cdc_init (void * hal,
ATCAIfaceCfgcfg 
)
-
- -

HAL implementation of Kit USB CDC init.

-
Parameters
- - - -
[in]halpointer to HAL specific data that is maintained by this HAL
[in]cfgpointer to HAL specific configuration data that is used to initialize this HAL
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_post_init()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
-
- -

HAL implementation of Kit USB CDC post init.

-
Parameters
- - -
[in]ifaceinstance
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_receive()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxsize 
)
-
- -

HAL implementation of kit protocol receive over USB CDC.

-
Parameters
- - - - -
[in]ifaceDevice to interact with.
[out]rxdataData received will be returned here.
[in,out]rxsizeAs input, the size of the rxdata buffer. As output, the number of bytes received.
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_release()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_cdc_release (void * hal_data)
-
- -

Close the physical port for CDC.

-
Parameters
- - -
[in]hal_dataThe hardware abstraction data specific to this HAL
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_send()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
-
- -

HAL implementation of kit protocol send over USB CDC.

-
Parameters
- - - - -
[in]ifaceinstance
[in]txdatapointer to bytes to send
[in]txlengthnumber of bytes to send
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_sleep()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
-
- -

Call the sleep for kit protocol over USB CDC.

-
Parameters
- - -
[in]ifaceATCAIface instance that is the interface object to send the bytes over
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_cdc_wake()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
-
- -

Call the wake for kit protocol over USB CDC.

-
Parameters
- - -
[in]ifaceATCAIface instance that is the interface object to send the bytes over
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ hal_kit_phy_num_found()

- -
-
- - - - - - - - -
ATCA_STATUS hal_kit_phy_num_found (int8_t * num_found)
-
- -

Number of USB CDC devices found.

-
Parameters
- - -
[out]num_foundNumber of USB CDC devices found returned here
-
-
-
Returns
ATCA_SUCCESS
- -
-
- -

◆ kit_phy_receive()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS kit_phy_receive (ATCAIface iface,
char * rxdata,
int * rxsize 
)
-
- -

HAL implementation of kit protocol receive data.It is called by the top layer.

-
Parameters
- - - - -
[in]ifaceinstance
[out]rxdatapointer to space to receive the data
[in,out]rxsizeptr to expected number of receive bytes to request
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
- -

◆ kit_phy_send()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
ATCA_STATUS kit_phy_send (ATCAIface iface,
const char * txdata,
int txlength 
)
-
- -

HAL implementation of kit protocol send .It is called by the top layer.

-
Parameters
- - - - -
[in]ifaceinstance
[in]txdatapointer to bytes to send
[in]txlengthnumber of bytes to send
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
- -
-
-

Variable Documentation

- -

◆ _gCdc

- -
-
- - - - -
atcacdc_t _gCdc
-
- -
-
-
+
@@ -90,22 +90,22 @@
hal_samv71_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_SAMV71_I2C_ASF_H_
31 #define HAL_SAMV71_I2C_ASF_H_
32 
33 #include <asf.h>
34 
44 #define MAX_I2C_BUSES 3
45 
48 typedef struct atcaI2Cmaster
49 {
50  uint8_t twi_id;
51  Twihs* twi_module;
52 
53  int ref_ct;
54  // for conveniences during interface release phase
55  int bus_index;
57 
59 
61 #endif /* HAL_SAMD21_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
ATCA_STATUS
Definition: atca_status.h:41
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
uint8_t twi_id
Definition: hal_samv71_i2c_asf.h:50
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
Twihs * twi_module
Definition: hal_samv71_i2c_asf.h:51
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
+Go to the documentation of this file.
1 
30 #ifndef HAL_SAMV71_I2C_ASF_H_
31 #define HAL_SAMV71_I2C_ASF_H_
32 
33 #include <asf.h>
34 
44 #define MAX_I2C_BUSES 3
45 
48 typedef struct atcaI2Cmaster
49 {
50  uint8_t twi_id;
51  Twihs* twi_module;
52 
53  int ref_ct;
54  // for conveniences during interface release phase
55  int bus_index;
57 
59 
61 #endif /* HAL_SAMD21_I2C_ASF_H_ */
ATCA_STATUS
Definition: atca_status.h:41
+
Twihs * twi_module
Definition: hal_samv71_i2c_asf.h:51
+
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
uint8_t twi_id
Definition: hal_samv71_i2c_asf.h:50
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device. +

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. More...

-
#include <Windows.h>
-
-

Go to the source code of this file.

- - - - - - -

-Data Structures

struct  cdc_device
 
struct  atcacdc
 
- - - - - -

-Macros

#define CDC_DEVICES_MAX   10
 
#define CDC_BUFFER_MAX   1024
 
- - - - - +
#include <asf.h>
+#include <delay.h>
+#include "atca_hal.h"
+

-Typedefs

typedef struct cdc_device cdc_device_t
 
typedef struct atcacdc atcacdc_t
 
+ + + + + + + + + +

+Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.

+

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

-

Macro Definition Documentation

- -

◆ CDC_BUFFER_MAX

- -
-
- - - - -
#define CDC_BUFFER_MAX   1024
-
- -
-
- -

◆ CDC_DEVICES_MAX

- -
-
- - - - -
#define CDC_DEVICES_MAX   10
-
- -
-
-

Typedef Documentation

- -

◆ atcacdc_t

- -
-
- - - - -
typedef struct atcacdc atcacdc_t
-
- -
-
- -

◆ cdc_device_t

- -
-
- - - - -
typedef struct cdc_device cdc_device_t
-
- -
-
-
+
-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device. +

ATCA Hardware abstraction layer for SWI bit banging. More...

-
#include "atca_hal.h"
-#include "hal_win_kit_hid.h"
-#include "kit_protocol.h"
-#include "kit_phy.h"
-#include <SetupAPI.h>
+
#include <asf.h>
+#include <string.h>
#include <stdio.h>
-#include <stdlib.h>
-#include <tchar.h>
+#include "atca_hal.h"
+#include "hal_swi_bitbang.h"
+#include "atca_device.h"
- - - -

-Macros

#define HID_GUID   { 0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Variables

atcahid_t _gHid
 
ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
 discover swi buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application.This function is currently not supported. of the a-priori knowledge More...
 
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is curently not supported. More...
 
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.

+

ATCA Hardware abstraction layer for SWI bit banging.

-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device. +

ATCA Hardware abstraction layer for SWI bit banging. More...

-
#include <Windows.h>
+
#include "swi_bitbang_at88ck9000.h"

Go to the source code of this file.

- + + - - -

Data Structures

struct  hid_device
struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
struct  atcahid
 
- - - - -

-Macros

#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
- - - - + + + +

Typedefs

typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
 
typedef struct atcaSWImaster ATCASWIMaster_t
 This is the hal_data for ATCA HAL. More...
 
+ + + +

+Enumerations

enum  swi_flag { SWI_FLAG_CMD = (uint8_t)0x77, +SWI_FLAG_TX = (uint8_t)0x88, +SWI_FLAG_IDLE = (uint8_t)0xBB, +SWI_FLAG_SLEEP = (uint8_t)0xCC + }
 This enumeration lists flags for SWI. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.

+

ATCA Hardware abstraction layer for SWI bit banging.

-Go to the documentation of this file.
1 
28 #ifndef HAL_WIN_KIT_HID_H_
29 #define HAL_WIN_KIT_HID_H_
30 
31 #include <Windows.h>
32 
40 // Kit USB defines
41 #define HID_DEVICES_MAX 10
42 #define HID_PACKET_MAX 512
43 
44 // Each device that is found will have a read handle and a write handle
45 typedef struct hid_device
46 {
49 } hid_device_t;
50 
51 
52 // A structure to hold HID information
53 typedef struct atcahid
54 {
56  int8_t num_kits_found;
57 } atcahid_t;
58 
60 #endif /* HAL_WIN_KIT_HID_H_ */
HANDLE write_handle
The kit USB read file handle.
Definition: hal_win_kit_hid.h:48
-
Definition: hal_linux_kit_hid.h:43
-
int HANDLE
Definition: hal_linux_kit_cdc.h:44
-
struct atcahid atcahid_t
-
int8_t num_kits_found
Definition: hal_all_platforms_kit_hidapi.h:51
-
#define HID_DEVICES_MAX
Definition: hal_win_kit_hid.h:41
-
struct hid_device hid_device_t
-
hid_device * kits[HID_DEVICES_MAX]
Definition: hal_all_platforms_kit_hidapi.h:50
-
Definition: hal_all_platforms_kit_hidapi.h:48
-
HANDLE read_handle
Definition: hal_win_kit_hid.h:47
+Go to the documentation of this file.
1 
28 #ifndef HAL_SWI_BITBANG_H_
29 #define HAL_SWI_BITBANG_H_
30 
31 
32 #if BOARD == AT88CK9000
33 #include "swi_bitbang_at88ck9000.h"
34 #endif
35 
36 #if (SAMD21 == 1)
37 #include "swi_bitbang_samd21.h"
38 #endif
39 
40 
41 
53 {
54  SWI_FLAG_CMD = (uint8_t)0x77,
55  SWI_FLAG_TX = (uint8_t)0x88,
56  SWI_FLAG_IDLE = (uint8_t)0xBB,
57  SWI_FLAG_SLEEP = (uint8_t)0xCC
58 };
59 
63 typedef struct atcaSWImaster
64 {
65  uint8_t pin_sda;
66  int ref_ct;
68  int bus_index;
70 
73 #endif /* HAL_SWI_BITBANG_H_ */
Hardware Interface Functions - SWI bit-banged.
+
flag requesting to go into Idle mode
Definition: hal_swi_bitbang.h:56
+
struct atcaSWImaster ATCASWIMaster_t
This is the hal_data for ATCA HAL.
+
uint8_t pin_sda
Definition: hal_swi_bitbang.h:65
+
flag requesting a response
Definition: hal_swi_bitbang.h:55
+
swi_flag
This enumeration lists flags for SWI.
Definition: hal_swi_bitbang.h:52
+
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+
flag requesting to go into Sleep mode
Definition: hal_swi_bitbang.h:57
+
int ref_ct
Definition: hal_swi_bitbang.h:66
+
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
+
flag preceding a command
Definition: hal_swi_bitbang.h:54
-

ATCA Hardware abstraction layer for windows timer functions. +

ATCA Hardware abstraction layer for SWI over UART drivers. More...

-
#include <windows.h>
-#include <math.h>
-#include "atca_hal.h"
+
#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_swi_uart.h"
+#include "atca_device.h"
+#include "atca_execution.h"
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
 discover swi buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application.This function is currently not supported. of the a-priori knowledge More...
 
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is curently not supported. More...
 
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
 HAL implementation of SWI send one byte over UART. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for windows timer functions.

+

ATCA Hardware abstraction layer for SWI over UART drivers.

-

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers. +

ATCA Hardware abstraction layer for SWI over UART drivers. More...

-
#include <asf.h>
-#include <string.h>
-#include <stdio.h>
-#include "atca_hal.h"
-#include "hal_xmega_a3bu_i2c_asf.h"
-#include "atca_device.h"
-#include "atca_execution.h"
-
+ +

Go to the source code of this file.

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

+Macros

#define SWI_WAKE_TOKEN   ((uint8_t)0x00)
 flag preceding a command More...
 
#define SWI_FLAG_CMD   ((uint8_t)0x77)
 flag preceding a command More...
 
#define SWI_FLAG_TX   ((uint8_t)0x88)
 flag requesting a response More...
 
#define SWI_FLAG_IDLE   ((uint8_t)0xBB)
 flag requesting to go into Idle mode More...
 
#define SWI_FLAG_SLEEP   ((uint8_t)0xCC)
 flag requesting to go into Sleep mode More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +

Functions

ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
 HAL implementation of SWI send one byte over UART. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.

-

Prerequisite: add I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for SWI over UART drivers.

@@ -90,19 +90,19 @@
hal_swi_uart.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_SWI_UART_H_
29 #define HAL_SWI_UART_H_
30 
31 #ifdef ATMEL_START
32  #include "swi_uart_start.h"
33 #elif defined (SAMD21_ASF)
34  #include "swi_uart_samd21_asf.h"
35 #elif defined (XMEGA_ASF)
36  #include "swi_uart_xmega_a3bu_asf.h"
37 #elif defined (AT90USB_ASF)
39 #endif
40 
41 
49 #define SWI_WAKE_TOKEN ((uint8_t)0x00)
50 #define SWI_FLAG_CMD ((uint8_t)0x77)
51 #define SWI_FLAG_TX ((uint8_t)0x88)
52 #define SWI_FLAG_IDLE ((uint8_t)0xBB)
53 #define SWI_FLAG_SLEEP ((uint8_t)0xCC)
54 
55 ATCA_STATUS hal_swi_send_flag(ATCAIface iface, uint8_t flag);
56 
58 #endif /* HAL_SWI_UART_H_ */
ATCA_STATUS
Definition: atca_status.h:41
-
ATXMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
-
ATXMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over UART drivers.
- -
ATMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
ATCA_STATUS hal_swi_send_flag(ATCAIface iface, uint8_t data)
HAL implementation of SWI send one byte over UART.
Definition: hal_swi_uart.c:274
+Go to the documentation of this file.
1 
28 #ifndef HAL_SWI_UART_H_
29 #define HAL_SWI_UART_H_
30 
31 #ifdef ATMEL_START
32  #include "swi_uart_start.h"
33 #elif defined (SAMD21_ASF)
34  #include "swi_uart_samd21_asf.h"
35 #elif defined (XMEGA_ASF)
36  #include "swi_uart_xmega_a3bu_asf.h"
37 #elif defined (AT90USB_ASF)
39 #endif
40 
41 
49 #define SWI_WAKE_TOKEN ((uint8_t)0x00)
50 #define SWI_FLAG_CMD ((uint8_t)0x77)
51 #define SWI_FLAG_TX ((uint8_t)0x88)
52 #define SWI_FLAG_IDLE ((uint8_t)0xBB)
53 #define SWI_FLAG_SLEEP ((uint8_t)0xCC)
54 
55 ATCA_STATUS hal_swi_send_flag(ATCAIface iface, uint8_t flag);
56 
58 #endif /* HAL_SWI_UART_H_ */
ATCA_STATUS
Definition: atca_status.h:41
+
ATXMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
+
ATXMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over UART drivers.
+
ATMEGA&#39;s ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
+
ATCA_STATUS hal_swi_send_flag(ATCAIface iface, uint8_t data)
HAL implementation of SWI send one byte over UART.
Definition: hal_swi_uart.c:274
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
-

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers. +

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers. More...

-
#include <asf.h>
-#include "twi_master.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - -

-Macros

#define MAX_I2C_BUSES   4
 
- - - - -

-Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
+
#include <hal_delay.h>
+#include "atca_hal.h"
+
- - - + + + + + + + + +

Functions

void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.

-

Prerequisite: add I2C Master Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.

+

Prerequisite: add SERCOM I2C Master Polled support to application in Atmel Studio

-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. +

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device. More...

-
#include <asf.h>
-#include <delay.h>
-#include "atca_hal.h"
+
#include "atca_hal.h"
+#include "kit_phy.h"
+#include "hal_win_kit_cdc.h"
+#include "kit_protocol.h"
+#include <SetupAPI.h>
+#include <stdlib.h>
+#include <tchar.h>
+#include <stdio.h>
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB CDC init. More...
 
ATCA_STATUS hal_cdc_discover_buses (int i2c_buses[], int max_buses)
 discover all CDC kits available.This function is currently not implemented. this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
 HAL implementation of Kit USB CDC post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
 Number of USB CDC devices found. More...
 
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of kit protocol receive over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
 Call the wake for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
 Call the idle for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
 Call the sleep for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
 Close the physical port for CDC. More...
 
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
+ + +

+Variables

atcacdc_t _gCdc
 

Detailed Description

-

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

+

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.

-
+

Function Documentation

+ +

◆ hal_cdc_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_cdc_discover_buses (int i2c_buses[],
int max_buses 
)
+
+ +

discover all CDC kits available.This function is currently not implemented. this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge

+
Parameters
+ + + +
[in]i2c_buses- an array of logical bus numbers
[in]max_buses- maximum number of buses the app wants to attempt to discover
+
+
+
Returns
ATCA_UNIMPLEMENTED
+ +
+
+ +

◆ hal_cdc_discover_devices()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_cdc_discover_devices (int bus_num,
ATCAIfaceCfg cfg[],
int * found 
)
+
+ +

discover any CryptoAuth devices on a given logical bus number.This function is currently not implemented.

+
Parameters
+ + + + +
[in]bus_num- logical bus number on which to look for CryptoAuth devices
[out]cfg[]- pointer to head of an array of interface config structures which get filled in by this method
[out]*found- number of devices found on this bus
+
+
+
Returns
ATCA_UNIMPLEMENTED
+ +
+
+ +

◆ hal_kit_cdc_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[],
int max_buses 
)
+
+ +

discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented.

+
Parameters
+ + + +
[in]cdc_buses- an array of logical bus numbers
[in]max_buses- maximum number of buses the app wants to attempt to discover
+
+
+
Returns
ATCA_UNIMPLEMENTED
+ +
+
+ +

◆ hal_kit_cdc_discover_devices()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num,
ATCAIfaceCfgcfg,
int * found 
)
+
+ +

discover any CryptoAuth devices on a given logical bus number

+
Parameters
+ + + + +
[in]bus_num- logical bus number on which to look for CryptoAuth devices
[out]cfg[]- pointer to head of an array of interface config structures which get filled in by this method
[out]*found- number of devices found on this bus
+
+
+
Returns
ATCA_UNIMPLEMENTED
+ +
+
+ +

◆ hal_kit_cdc_idle()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
+
+ +

Call the idle for kit protocol over USB CDC.

+
Parameters
+ + +
[in]ifaceATCAIface instance that is the interface object to send the bytes over
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_init()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_kit_cdc_init (void * hal,
ATCAIfaceCfgcfg 
)
+
+ +

HAL implementation of Kit USB CDC init.

+
Parameters
+ + + +
[in]halpointer to HAL specific data that is maintained by this HAL
[in]cfgpointer to HAL specific configuration data that is used to initialize this HAL
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_post_init()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
+
+ +

HAL implementation of Kit USB CDC post init.

+
Parameters
+ + +
[in]ifaceinstance
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_receive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface,
uint8_t * rxdata,
uint16_t * rxsize 
)
+
+ +

HAL implementation of kit protocol receive over USB CDC.

+
Parameters
+ + + + +
[in]ifaceDevice to interact with.
[out]rxdataData received will be returned here.
[in,out]rxsizeAs input, the size of the rxdata buffer. As output, the number of bytes received.
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_release()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_cdc_release (void * hal_data)
+
+ +

Close the physical port for CDC.

+
Parameters
+ + +
[in]hal_dataThe hardware abstraction data specific to this HAL
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_send()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface,
uint8_t * txdata,
int txlength 
)
+
+ +

HAL implementation of kit protocol send over USB CDC.

+
Parameters
+ + + + +
[in]ifaceinstance
[in]txdatapointer to bytes to send
[in]txlengthnumber of bytes to send
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_sleep()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
+
+ +

Call the sleep for kit protocol over USB CDC.

+
Parameters
+ + +
[in]ifaceATCAIface instance that is the interface object to send the bytes over
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_cdc_wake()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
+
+ +

Call the wake for kit protocol over USB CDC.

+
Parameters
+ + +
[in]ifaceATCAIface instance that is the interface object to send the bytes over
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ hal_kit_phy_num_found()

+ +
+
+ + + + + + + + +
ATCA_STATUS hal_kit_phy_num_found (int8_t * num_found)
+
+ +

Number of USB CDC devices found.

+
Parameters
+ + +
[out]num_foundNumber of USB CDC devices found returned here
+
+
+
Returns
ATCA_SUCCESS
+ +
+
+ +

◆ kit_phy_receive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS kit_phy_receive (ATCAIface iface,
char * rxdata,
int * rxsize 
)
+
+ +

HAL implementation of kit protocol receive data.It is called by the top layer.

+
Parameters
+ + + + +
[in]ifaceinstance
[out]rxdatapointer to space to receive the data
[in,out]rxsizeptr to expected number of receive bytes to request
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+ +

◆ kit_phy_send()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ATCA_STATUS kit_phy_send (ATCAIface iface,
const char * txdata,
int txlength 
)
+
+ +

HAL implementation of kit protocol send .It is called by the top layer.

+
Parameters
+ + + + +
[in]ifaceinstance
[in]txdatapointer to bytes to send
[in]txlengthnumber of bytes to send
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+ +
+
+

Variable Documentation

+ +

◆ _gCdc

+ +
+
+ + + + +
atcacdc_t _gCdc
+
+ +
+
+
-

Hardware Interface Functions - I2C bit-bang for SAMD21. +

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device. More...

-
#include <asf.h>
-#include <stdint.h>
-#include "i2c_bitbang_samd21.h"
-
+
#include <Windows.h>
+
+

Go to the source code of this file.

+
+ + + + + +

+Data Structures

struct  cdc_device
 
struct  atcacdc
 
- - -

Macros

#define DEFAULT_I2C_BUS   2
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +

-Functions

void i2c_discover_buses (int i2c_bitbang_buses[], int max_buses)
 Assigns the logical bus number for discovering the devices. More...
 
void i2c_set_pin (uint8_t sda, uint8_t scl)
 Set I2C data and clock pin. Other functions will use these pins. More...
 
void i2c_enable (void)
 Configure GPIO pins for I2C clock and data as output. More...
 
void i2c_disable (void)
 Configure GPIO pins for I2C clock and data as input. More...
 
void i2c_send_start (void)
 Send a START condition. More...
 
void i2c_send_ack (uint8_t ack)
 Send an ACK or NACK (after receive). More...
 
void i2c_send_stop (void)
 Send a STOP condition. More...
 
void i2c_send_wake_token (void)
 Send a Wake Token. More...
 
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
 Send one byte. More...
 
ATCA_STATUS i2c_send_bytes (uint8_t count, uint8_t *data)
 Send a number of bytes. More...
 
uint8_t i2c_receive_one_byte (uint8_t ack)
 Receive one byte (MSB first). More...
 
void i2c_receive_byte (uint8_t *data)
 Receive one byte and send ACK. More...
 
void i2c_receive_bytes (uint8_t count, uint8_t *data)
 Receive a number of bytes. More...
 
#define CDC_DEVICES_MAX   10
 
#define CDC_BUFFER_MAX   1024
 
- - - - - - - + + + + +

-Variables

I2CBuses i2c_buses_default
 
uint8_t pin_sda
 
uint8_t pin_scl
 

+Typedefs

typedef struct cdc_device cdc_device_t
 
typedef struct atcacdc atcacdc_t
 

Detailed Description

-

Hardware Interface Functions - I2C bit-bang for SAMD21.

+

ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.

Macro Definition Documentation

- -

◆ DEFAULT_I2C_BUS

- -
-
- - - - -
#define DEFAULT_I2C_BUS   2
-
- -
-
-

Function Documentation

- -

◆ i2c_disable()

- -
-
- - - - - - - - -
void i2c_disable (void )
-
- -

Configure GPIO pins for I2C clock and data as input.

- -
-
- -

◆ i2c_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_discover_buses (int i2c_bitbang_buses[],
int max_buses 
)
-
- -

Assigns the logical bus number for discovering the devices.

-
Parameters
- - - -
[in]i2c_bitbang_busesThe logical bus numbers are assigned to the variables.
[in]max_busesMaximum number of bus used for discovering.
-
-
- -
-
- -

◆ i2c_enable()

+ +

◆ CDC_BUFFER_MAX

- - - - - +
void i2c_enable (void )#define CDC_BUFFER_MAX   1024
-

Configure GPIO pins for I2C clock and data as output.

-
- -

◆ i2c_receive_byte()

+ +

◆ CDC_DEVICES_MAX

- - - - - +
void i2c_receive_byte (uint8_t * data)#define CDC_DEVICES_MAX   10
-

Receive one byte and send ACK.

-
Parameters
- - -
[out]datapointer to received byte
-
-
- -
-
- -

◆ i2c_receive_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_receive_bytes (uint8_t count,
uint8_t * data 
)
-
- -

Receive a number of bytes.

-
Parameters
- - - -
[out]datapointer to receive buffer
[in]countnumber of bytes to receive
-
-
- -
-
- -

◆ i2c_receive_one_byte()

- -
-
- - - - - - - - -
uint8_t i2c_receive_one_byte (uint8_t ack)
-
- -

Receive one byte (MSB first).

-
Parameters
- - -
[in]ack0:NACK, else:ACK
-
-
-
Returns
Number of bytes received
-

We don't need to delay after the last bit because it takes time to switch the pin to output for acknowledging.

- -
-
- -

◆ i2c_send_ack()

- -
-
- - - - - - - - -
void i2c_send_ack (uint8_t ack)
-
- -

Send an ACK or NACK (after receive).

-
Parameters
- - -
[in]ack0: NACK, else: ACK
-
-
-

< Low data line indicates an ACK.

-

< High data line indicates a NACK.

-

Clock out acknowledgment.

- -
-
- -

◆ i2c_send_byte()

- -
-
- - - - - - - - -
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
-
- -

Send one byte.

-
Parameters
- - -
[in]i2c_bytebyte to write
-
-
-
Returns
ATCA_STATUS
-

This avoids spikes but adds an if condition. We could parametrize the call to I2C_SET_OUTPUT and translate the msb to OUTSET or OUTCLR, but then the code would become target specific.
-
-
-
-
-
- Send 8 bits of data.

-

Clock out the data bit.

-

Shifting while clock is high compensates for the time it takes to evaluate the bit while clock is low. That way, the low and high time of the clock pin is almost equal.
-
-
- Clock in last data bit.

-

Set data line to be an input.

-

Wait for the ack.

- -
-
- -

◆ i2c_send_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS i2c_send_bytes (uint8_t count,
uint8_t * data 
)
-
- -

Send a number of bytes.

-
Parameters
- - - -
[in]countnumber of bytes to send
[in]datapointer to buffer containing bytes to send
-
-
-
Returns
ATCA_STATUS
- -
-
- -

◆ i2c_send_start()

- -
-
- - - - - - - - -
void i2c_send_start (void )
-
- -

Send a START condition.

-

Set clock high in case we re-start.

- -
-
- -

◆ i2c_send_stop()

- -
-
- - - - - - - - -
void i2c_send_stop (void )
-
- -

Send a STOP condition.

- -
-
- -

◆ i2c_send_wake_token()

- -
-
- - - - - - - - -
void i2c_send_wake_token (void )
-
- -

Send a Wake Token.

- -
-
- -

◆ i2c_set_pin()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_set_pin (uint8_t sda,
uint8_t scl 
)
-
- -

Set I2C data and clock pin. Other functions will use these pins.

-
Parameters
- - - -
[in]sdadefinition of GPIO pin to be used as data pin
[in]scldefinition of GPIO pin to be used as clock pin
-
-
- -
-
-

Variable Documentation

- -

◆ i2c_buses_default

- -
-
- - - - -
I2CBuses i2c_buses_default
-
-Initial value:
= {
{EXT3_PIN_3, EXT3_PIN_9, EXT3_PIN_I2C_SDA, EXT3_PIN_13, EXT2_PIN_3, EXT2_PIN_5, EXT2_PIN_7, EXT2_PIN_9, EXT2_PIN_13, EXT2_PIN_15, EXT2_PIN_17, EXT1_PIN_3, EXT1_PIN_5, EXT1_PIN_7, EXT1_PIN_9, EXT1_PIN_13, EXT1_PIN_15, EXT1_PIN_17},
{EXT3_PIN_7, EXT3_PIN_10, EXT3_PIN_I2C_SCL, EXT3_PIN_14, EXT2_PIN_4, EXT2_PIN_6, EXT2_PIN_8, EXT2_PIN_10, EXT2_PIN_14, EXT2_PIN_16, EXT2_PIN_18, EXT1_PIN_4, EXT1_PIN_6, EXT1_PIN_8, EXT1_PIN_10, EXT1_PIN_14, EXT1_PIN_16, EXT1_PIN_18}
}
- -

◆ pin_scl

+

Typedef Documentation

+ +

◆ atcacdc_t

- +
uint8_t pin_scltypedef struct atcacdc atcacdc_t
- -

◆ pin_sda

+ +

◆ cdc_device_t

- +
uint8_t pin_sdatypedef struct cdc_device cdc_device_t
@@ -598,7 +188,7 @@

    - + diff --git a/docs/html/a00476.js b/docs/html/a00476.js index a19037c41..b827e6b20 100644 --- a/docs/html/a00476.js +++ b/docs/html/a00476.js @@ -1,20 +1,7 @@ var a00476 = [ - [ "DEFAULT_I2C_BUS", "a00476.html#a77664727b70d3a4c919604dc428d239f", null ], - [ "i2c_disable", "a00476.html#abe70f8fe4c72329b89ec526c749f50d7", null ], - [ "i2c_discover_buses", "a00476.html#a43b4ceef3780597f5f667ff9cfd0f191", null ], - [ "i2c_enable", "a00476.html#a5a1923e2271df541e858cb4e05d7b895", null ], - [ "i2c_receive_byte", "a00476.html#a2a3abf2b54b2161feeaf57fdc834586e", null ], - [ "i2c_receive_bytes", "a00476.html#a690ed5c65fe26bbbdf166bbaaf177fc9", null ], - [ "i2c_receive_one_byte", "a00476.html#a2f6cabfafc11c56ea8335f54fac20343", null ], - [ "i2c_send_ack", "a00476.html#a223e077dcbdfaf7944f76664c81c4c3b", null ], - [ "i2c_send_byte", "a00476.html#a04db7e3e2316cb43e97250a12c4eb81b", null ], - [ "i2c_send_bytes", "a00476.html#a281f835e0c21015a8ab672b08940b730", null ], - [ "i2c_send_start", "a00476.html#a128fce372792e241c66c533edec30c1b", null ], - [ "i2c_send_stop", "a00476.html#a28d871f938b84b40a153a806c55d6aef", null ], - [ "i2c_send_wake_token", "a00476.html#a20d903bd4606203e120babaf3fe4d926", null ], - [ "i2c_set_pin", "a00476.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d", null ], - [ "i2c_buses_default", "a00476.html#ad2e9f2387bb528f37bceb48cd88af3d0", null ], - [ "pin_scl", "a00476.html#a30ad301ad2a35d50b2e4284a58b82b67", null ], - [ "pin_sda", "a00476.html#afd6d53ef6b697533839248b40bc97861", null ] + [ "CDC_BUFFER_MAX", "a00476.html#a5ac8c9377f90d6ce3044f81f900a54fe", null ], + [ "CDC_DEVICES_MAX", "a00476.html#a08b6c05184266dc4d5c8727bb9c1c754", null ], + [ "atcacdc_t", "a00476.html#a2df85bfd309840b4c9a5087e053d4811", null ], + [ "cdc_device_t", "a00476.html#a99ee56102171adcbcecb8a78fb9fa895", null ] ]; \ No newline at end of file diff --git a/docs/html/a00455_source.html b/docs/html/a00476_source.html similarity index 75% rename from docs/html/a00455_source.html rename to docs/html/a00476_source.html index c84caad3a..e81b2e645 100644 --- a/docs/html/a00455_source.html +++ b/docs/html/a00476_source.html @@ -67,7 +67,7 @@

@@ -90,22 +90,22 @@
hal_win_kit_cdc.h
-Go to the documentation of this file.
1 
28 #ifndef HAL_WIN_KIT_CDC_H_
29 #define HAL_WIN_KIT_CDC_H_
30 
31 #include <Windows.h>
32 
33 // Kit USB defines
34 #define CDC_DEVICES_MAX 10
35 #define CDC_BUFFER_MAX 1024
36 
37 
38 // Each device that is found will have a read handle and a write handle
39 typedef struct cdc_device
40 {
43 } cdc_device_t;
44 
45 
46 // A structure to hold CDC information
47 typedef struct atcacdc
48 {
50  int8_t num_kits_found;
51 } atcacdc_t;
52 
53 #endif /* HAL_WIN_KIT_CDC_H_ */
54 
cdc_device_t kits[CDC_DEVICES_MAX]
Definition: hal_linux_kit_cdc.h:56
-
struct atcacdc atcacdc_t
-
Definition: hal_linux_kit_cdc.h:46
-
int HANDLE
Definition: hal_linux_kit_cdc.h:44
-
#define CDC_DEVICES_MAX
Definition: hal_win_kit_cdc.h:34
-
int8_t num_kits_found
Definition: hal_linux_kit_cdc.h:57
-
Definition: hal_linux_kit_cdc.h:54
-
HANDLE read_handle
Definition: hal_linux_kit_cdc.h:48
-
struct cdc_device cdc_device_t
-
HANDLE write_handle
The kit USB read file handle.
Definition: hal_linux_kit_cdc.h:49
+Go to the documentation of this file.
1 
28 #ifndef HAL_WIN_KIT_CDC_H_
29 #define HAL_WIN_KIT_CDC_H_
30 
31 #include <Windows.h>
32 
33 // Kit USB defines
34 #define CDC_DEVICES_MAX 10
35 #define CDC_BUFFER_MAX 1024
36 
37 
38 // Each device that is found will have a read handle and a write handle
39 typedef struct cdc_device
40 {
43 } cdc_device_t;
44 
45 
46 // A structure to hold CDC information
47 typedef struct atcacdc
48 {
50  int8_t num_kits_found;
51 } atcacdc_t;
52 
53 #endif /* HAL_WIN_KIT_CDC_H_ */
54 
int HANDLE
Definition: hal_linux_kit_cdc.h:44
+
HANDLE read_handle
Definition: hal_linux_kit_cdc.h:48
+
Definition: hal_linux_kit_cdc.h:54
+
int8_t num_kits_found
Definition: hal_linux_kit_cdc.h:57
+
#define CDC_DEVICES_MAX
Definition: hal_win_kit_cdc.h:34
+
Definition: hal_linux_kit_cdc.h:46
+
cdc_device_t kits[CDC_DEVICES_MAX]
Definition: hal_linux_kit_cdc.h:56
+
struct cdc_device cdc_device_t
+
struct atcacdc atcacdc_t
+
HANDLE write_handle
The kit USB read file handle.
Definition: hal_linux_kit_cdc.h:49
-

definitions for bit-banged I2C +

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device. More...

-
#include "atca_status.h"
-#include <delay.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  I2CBuses
 
+
#include "atca_hal.h"
+#include "hal_win_kit_hid.h"
+#include "kit_protocol.h"
+#include "kit_phy.h"
+#include <SetupAPI.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <tchar.h>
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +

Macros

#define MAX_I2C_BUSES   18
 
#define I2C_ENABLE()
 
#define I2C_DISABLE()
 
#define I2C_CLOCK_LOW()   port_pin_set_output_level(pin_scl, false)
 
#define I2C_CLOCK_HIGH()   port_pin_set_output_level(pin_scl, true)
 
#define I2C_DATA_LOW()   port_pin_set_output_level(pin_sda, false)
 
#define I2C_DATA_HIGH()   port_pin_set_output_level(pin_sda, true)
 
#define I2C_DATA_IN()   port_pin_get_input_level(pin_sda)
 
#define I2C_SET_OUTPUT()
 
#define I2C_SET_OUTPUT_HIGH()   { I2C_SET_OUTPUT(); I2C_DATA_HIGH(); }
 
#define I2C_SET_OUTPUT_LOW()   { I2C_SET_OUTPUT(); I2C_DATA_LOW(); }
 
#define I2C_SET_INPUT()
 
#define DISABLE_INTERRUPT()   cpu_irq_disable()
 
#define ENABLE_INTERRUPT()   cpu_irq_enable()
 
#define I2C_CLOCK_DELAY_WRITE_LOW()   delay_us(1)
 
#define I2C_CLOCK_DELAY_WRITE_HIGH()   delay_us(1)
 
#define I2C_CLOCK_DELAY_READ_LOW()   delay_us(1)
 
#define I2C_CLOCK_DELAY_READ_HIGH()   delay_us(1)
 
#define I2C_CLOCK_DELAY_SEND_ACK()   delay_us(1)
 
#define I2C_HOLD_DELAY()   delay_us(1)
 This delay is inserted to make the Start and Stop hold time at least 250 ns. More...
 
#define I2C_ACK_TIMEOUT   (4)
 loop count when waiting for an acknowledgment More...
 
#define HID_GUID   { 0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

void i2c_set_pin (uint8_t sda, uint8_t scl)
 Set I2C data and clock pin. Other functions will use these pins. More...
 
void i2c_discover_buses (int i2c_bitbang_buses[], int max_buses)
 Assigns the logical bus number for discovering the devices. More...
 
void i2c_enable (void)
 Configure GPIO pins for I2C clock and data as output. More...
 
void i2c_disable (void)
 Configure GPIO pins for I2C clock and data as input. More...
 
void i2c_send_start (void)
 Send a START condition. More...
 
void i2c_send_ack (uint8_t ack)
 Send an ACK or NACK (after receive). More...
 
void i2c_send_stop (void)
 Send a STOP condition. More...
 
void i2c_send_wake_token (void)
 Send a Wake Token. More...
 
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
 Send one byte. More...
 
ATCA_STATUS i2c_send_bytes (uint8_t count, uint8_t *data)
 Send a number of bytes. More...
 
uint8_t i2c_receive_one_byte (uint8_t ack)
 Receive one byte (MSB first). More...
 
void i2c_receive_byte (uint8_t *data)
 Receive one byte and send ACK. More...
 
void i2c_receive_bytes (uint8_t count, uint8_t *data)
 Receive a number of bytes. More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
- - - - - - + +

Variables

I2CBuses i2c_buses_default
 
uint8_t pin_sda
 
uint8_t pin_scl
 
atcahid_t _gHid
 

Detailed Description

-

definitions for bit-banged I2C

+

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.

-

Macro Definition Documentation

- -

◆ DISABLE_INTERRUPT

- -
-
- - - - - - - -
#define DISABLE_INTERRUPT()   cpu_irq_disable()
-
- -
-
- -

◆ ENABLE_INTERRUPT

- -
-
- - - - - - - -
#define ENABLE_INTERRUPT()   cpu_irq_enable()
-
- -
-
- -

◆ I2C_ACK_TIMEOUT

- -
-
- - - - -
#define I2C_ACK_TIMEOUT   (4)
-
- -

loop count when waiting for an acknowledgment

- -
-
- -

◆ I2C_CLOCK_DELAY_READ_HIGH

- -
-
- - - - - - - -
#define I2C_CLOCK_DELAY_READ_HIGH()   delay_us(1)
-
- -
-
- -

◆ I2C_CLOCK_DELAY_READ_LOW

- -
-
- - - - - - - -
#define I2C_CLOCK_DELAY_READ_LOW()   delay_us(1)
-
- -
-
- -

◆ I2C_CLOCK_DELAY_SEND_ACK

- -
-
- - - - - - - -
#define I2C_CLOCK_DELAY_SEND_ACK()   delay_us(1)
-
- -
-
- -

◆ I2C_CLOCK_DELAY_WRITE_HIGH

- -
-
- - - - - - - -
#define I2C_CLOCK_DELAY_WRITE_HIGH()   delay_us(1)
-
- -
-
- -

◆ I2C_CLOCK_DELAY_WRITE_LOW

- -
-
- - - - - - - -
#define I2C_CLOCK_DELAY_WRITE_LOW()   delay_us(1)
-
- -
-
- -

◆ I2C_CLOCK_HIGH

- -
-
- - - - - - - -
#define I2C_CLOCK_HIGH()   port_pin_set_output_level(pin_scl, true)
-
- -
-
- -

◆ I2C_CLOCK_LOW

- -
-
- - - - - - - -
#define I2C_CLOCK_LOW()   port_pin_set_output_level(pin_scl, false)
-
- -
-
- -

◆ I2C_DATA_HIGH

- -
-
- - - - - - - -
#define I2C_DATA_HIGH()   port_pin_set_output_level(pin_sda, true)
-
- -
-
- -

◆ I2C_DATA_IN

- -
-
- - - - - - - -
#define I2C_DATA_IN()   port_pin_get_input_level(pin_sda)
-
- -
-
- -

◆ I2C_DATA_LOW

- -
-
- - - - - - - -
#define I2C_DATA_LOW()   port_pin_set_output_level(pin_sda, false)
-
- -
-
- -

◆ I2C_DISABLE

- -
-
- - - - - - - -
#define I2C_DISABLE()
-
-Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_INPUT; \
pin_conf.input_pull = PORT_PIN_PULL_UP; \
port_pin_set_config(pin_sda, &pin_conf); \
port_pin_set_config(pin_scl, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
-
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
-
uint8_t pin_scl
Definition: i2c_bitbang_samd21.c:40
-
-
-
- -

◆ I2C_ENABLE

- -
-
- - - - - - - -
#define I2C_ENABLE()
-
-Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
port_pin_set_config(pin_sda, &pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT; \
port_pin_set_config(pin_scl, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
-
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
-
uint8_t pin_scl
Definition: i2c_bitbang_samd21.c:40
-
-
-
- -

◆ I2C_HOLD_DELAY

- -
-
- - - - - - - -
#define I2C_HOLD_DELAY()   delay_us(1)
-
- -

This delay is inserted to make the Start and Stop hold time at least 250 ns.

- -
-
- -

◆ I2C_SET_INPUT

- -
-
- - - - - - - -
#define I2C_SET_INPUT()
-
-Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_INPUT; \
port_pin_set_config(pin_sda, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
-
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
-
-
-
- -

◆ I2C_SET_OUTPUT

- -
-
- - - - - - - -
#define I2C_SET_OUTPUT()
-
-Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
port_pin_set_config(pin_sda, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
-
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
-
-
-
- -

◆ I2C_SET_OUTPUT_HIGH

- -
-
- - - - - - - -
#define I2C_SET_OUTPUT_HIGH()   { I2C_SET_OUTPUT(); I2C_DATA_HIGH(); }
-
- -
-
- -

◆ I2C_SET_OUTPUT_LOW

- -
-
- - - - - - - -
#define I2C_SET_OUTPUT_LOW()   { I2C_SET_OUTPUT(); I2C_DATA_LOW(); }
-
- -
-
- -

◆ MAX_I2C_BUSES

- -
-
- - - - -
#define MAX_I2C_BUSES   18
-
- -
-
-

Function Documentation

- -

◆ i2c_disable()

- -
-
- - - - - - - - -
void i2c_disable (void )
-
- -

Configure GPIO pins for I2C clock and data as input.

- -
-
- -

◆ i2c_discover_buses()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_discover_buses (int i2c_bitbang_buses[],
int max_buses 
)
-
- -

Assigns the logical bus number for discovering the devices.

-
Parameters
- - - -
[in]i2c_bitbang_busesThe logical bus numbers are assigned to the variables.
[in]max_busesMaximum number of bus used for discovering.
-
-
- -
-
- -

◆ i2c_enable()

- -
-
- - - - - - - - -
void i2c_enable (void )
-
- -

Configure GPIO pins for I2C clock and data as output.

- -
-
- -

◆ i2c_receive_byte()

- -
-
- - - - - - - - -
void i2c_receive_byte (uint8_t * data)
-
- -

Receive one byte and send ACK.

-
Parameters
- - -
[out]datapointer to received byte
-
-
- -
-
- -

◆ i2c_receive_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_receive_bytes (uint8_t count,
uint8_t * data 
)
-
- -

Receive a number of bytes.

-
Parameters
- - - -
[out]datapointer to receive buffer
[in]countnumber of bytes to receive
-
-
- -
-
- -

◆ i2c_receive_one_byte()

- -
-
- - - - - - - - -
uint8_t i2c_receive_one_byte (uint8_t ack)
-
- -

Receive one byte (MSB first).

-
Parameters
- - -
[in]ack0:NACK, else:ACK
-
-
-
Returns
Number of bytes received
-

We don't need to delay after the last bit because it takes time to switch the pin to output for acknowledging.

- -
-
- -

◆ i2c_send_ack()

- -
-
- - - - - - - - -
void i2c_send_ack (uint8_t ack)
-
- -

Send an ACK or NACK (after receive).

-
Parameters
- - -
[in]ack0: NACK, else: ACK
-
-
-

< Low data line indicates an ACK.

-

< High data line indicates a NACK.

-

Clock out acknowledgment.

- -
-
- -

◆ i2c_send_byte()

- -
-
- - - - - - - - -
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
-
- -

Send one byte.

-
Parameters
- - -
[in]i2c_bytebyte to write
-
-
-
Returns
ATCA_STATUS
-

This avoids spikes but adds an if condition. We could parametrize the call to I2C_SET_OUTPUT and translate the msb to OUTSET or OUTCLR, but then the code would become target specific.
-
-
-
-
-
- Send 8 bits of data.

-

Clock out the data bit.

-

Shifting while clock is high compensates for the time it takes to evaluate the bit while clock is low. That way, the low and high time of the clock pin is almost equal.
-
-
- Clock in last data bit.

-

Set data line to be an input.

-

Wait for the ack.

- -
-
- -

◆ i2c_send_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS i2c_send_bytes (uint8_t count,
uint8_t * data 
)
-
- -

Send a number of bytes.

-
Parameters
- - - -
[in]countnumber of bytes to send
[in]datapointer to buffer containing bytes to send
-
-
-
Returns
ATCA_STATUS
- -
-
- -

◆ i2c_send_start()

- -
-
- - - - - - - - -
void i2c_send_start (void )
-
- -

Send a START condition.

-

Set clock high in case we re-start.

- -
-
- -

◆ i2c_send_stop()

- -
-
- - - - - - - - -
void i2c_send_stop (void )
-
- -

Send a STOP condition.

- -
-
- -

◆ i2c_send_wake_token()

- -
-
- - - - - - - - -
void i2c_send_wake_token (void )
-
- -

Send a Wake Token.

- -
-
- -

◆ i2c_set_pin()

- -
-
- - - - - - - - - - - - - - - - - - -
void i2c_set_pin (uint8_t sda,
uint8_t scl 
)
-
- -

Set I2C data and clock pin. Other functions will use these pins.

-
Parameters
- - - -
[in]sdadefinition of GPIO pin to be used as data pin
[in]scldefinition of GPIO pin to be used as clock pin
-
-
- -
-
-

Variable Documentation

- -

◆ i2c_buses_default

- -
-
- - - - -
I2CBuses i2c_buses_default
-
- -
-
- -

◆ pin_scl

- -
-
- - - - -
uint8_t pin_scl
-
- -
-
- -

◆ pin_sda

- -
-
- - - - -
uint8_t pin_sda
-
- -
-
-
+
-

ATCA Hardware abstraction layer physical send & receive function definitions. +

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device. More...

-
#include "cryptoauthlib.h"
+
#include <Windows.h>

Go to the source code of this file.

- - - - - - - - - - + + + + + +

-Functions

ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 

+Data Structures

struct  hid_device
 
struct  atcahid
 
+ + + + + +

+Macros

#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
 
+ + + + +

+Typedefs

typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
 

Detailed Description

-

ATCA Hardware abstraction layer physical send & receive function definitions.

-

This is included for kit protocol implementations. It is included in the kit protocol callback to actually send and recieve bytes.

+

ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.

-Go to the documentation of this file.
1 
31 #ifndef KIT_PHY_H_
32 #define KIT_PHY_H_
33 
34 #include "cryptoauthlib.h"
35 
36 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 ATCA_STATUS kit_phy_num_found(int8_t* num_found);
49 ATCA_STATUS kit_phy_send(ATCAIface iface, const char *txdata, int txlength);
50 ATCA_STATUS kit_phy_receive(ATCAIface iface, char* rxdata, int* rxlength);
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
58 #endif /* ATCA_HAL_PHY_H_ */
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS kit_phy_send(ATCAIface iface, uint8_t *txdata, int txlength)
HAL implementation of send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:183
-
Single aggregation point for all CryptoAuthLib header files.
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
ATCA_STATUS kit_phy_num_found(int8_t *num_found)
Number of USB HID devices found.
Definition: hal_all_platforms_kit_hidapi.c:306
-
ATCA_STATUS kit_phy_receive(ATCAIface iface, uint8_t *rxdata, int *rxsize)
HAL implementation of kit protocol send over USB HID.
Definition: hal_all_platforms_kit_hidapi.c:241
+Go to the documentation of this file.
1 
28 #ifndef HAL_WIN_KIT_HID_H_
29 #define HAL_WIN_KIT_HID_H_
30 
31 #include <Windows.h>
32 
40 // Kit USB defines
41 #define HID_DEVICES_MAX 10
42 #define HID_PACKET_MAX 512
43 
44 // Each device that is found will have a read handle and a write handle
45 typedef struct hid_device
46 {
49 } hid_device_t;
50 
51 
52 // A structure to hold HID information
53 typedef struct atcahid
54 {
56  int8_t num_kits_found;
57 } atcahid_t;
58 
60 #endif /* HAL_WIN_KIT_HID_H_ */
int HANDLE
Definition: hal_linux_kit_cdc.h:44
+
hid_device * kits[HID_DEVICES_MAX]
Definition: hal_all_platforms_kit_hidapi.h:50
+
int8_t num_kits_found
Definition: hal_all_platforms_kit_hidapi.h:51
+
Definition: hal_all_platforms_kit_hidapi.h:48
+
#define HID_DEVICES_MAX
Definition: hal_win_kit_hid.h:41
+
HANDLE write_handle
The kit USB read file handle.
Definition: hal_win_kit_hid.h:48
+
struct hid_device hid_device_t
+
Definition: hal_linux_kit_hid.h:43
+
struct atcahid atcahid_t
+
HANDLE read_handle
Definition: hal_win_kit_hid.h:47
-

Microchip Crypto Auth hardware interface object. +

ATCA Hardware abstraction layer for windows timer functions. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "kit_phy.h"
-#include "kit_protocol.h"
-#include "basic/atca_helpers.h"
+
#include <windows.h>
+#include <math.h>
+#include "atca_hal.h"
- - - - - -

-Macros

#define KIT_MAX_SCAN_COUNT   4
 
#define KIT_MAX_TX_BUF   32
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

Functions

char * strnchr (const char *s, size_t count, int c)
 
char kit_id_from_devtype (ATCADeviceType devtype)
 
ATCA_STATUS kit_init (ATCAIface iface)
 HAL implementation of kit protocol init. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the physical protocol to receive the bytes. More...
 
ATCA_STATUS kit_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS kit_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS kit_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
 Wrap binary bytes in ascii kit protocol. More...
 
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
 Parse the response ascii from the kit. More...
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

Microchip Crypto Auth hardware interface object.

+

ATCA Hardware abstraction layer for windows timer functions.

-
#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

- - - - - - - - -

-Macros

#define KIT_TX_WRAP_SIZE   (7)
 
#define KIT_MSG_SIZE   (32)
 
#define KIT_RX_WRAP_SIZE   (KIT_MSG_SIZE + 6)
 
+ +

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers. +More...

+
#include <asf.h>
+#include <string.h>
+#include <stdio.h>
+#include "atca_hal.h"
+#include "hal_xmega_a3bu_i2c_asf.h"
+#include "atca_device.h"
+#include "atca_execution.h"
+
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS kit_init (ATCAIface iface)
 HAL implementation of kit protocol init. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the physical protocol to receive the bytes. More...
 
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
 Wrap binary bytes in ascii kit protocol. More...
 
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
 Parse the response ascii from the kit. More...
 
ATCA_STATUS kit_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS kit_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS kit_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 

Detailed Description

-
+

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.

+

Prerequisite: add I2C Master Polled support to application in Atmel Studio

+
-

Hardware Interface Functions - SWI bit-banged. +

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers. More...

#include <asf.h>
-#include <stdint.h>
-#include "swi_bitbang_samd21.h"
-#include "atca_command.h"
-
+#include "twi_master.h"
+ +

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
+ + + +

+Macros

#define MAX_I2C_BUSES   4
 
+ + + + +

+Typedefs

typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
- - - - - - - - - - - - - - - - - - - - - - - - -

Functions

void swi_set_pin (uint8_t id)
 Set SWI signal pin. Other functions will use this pin. More...
 
void swi_enable (void)
 Configure GPIO pin for SWI signal as output. More...
 
void swi_disable (void)
 Configure GPIO pin for SWI signal as input. More...
 
void swi_set_signal_pin (uint8_t is_high)
 Set signal pin Low or High. More...
 
void swi_send_wake_token (void)
 Send a Wake Token. More...
 
void swi_send_bytes (uint8_t count, uint8_t *buffer)
 Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function. More...
 
void swi_send_byte (uint8_t byte)
 Send one byte. More...
 
ATCA_STATUS swi_receive_bytes (uint8_t count, uint8_t *buffer)
 Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function. More...
 
- - - + + +

-Variables

SWIBuses swi_buses_default
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 

Detailed Description

-

Hardware Interface Functions - SWI bit-banged.

+

ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.

+

Prerequisite: add I2C Master Polled support to application in Atmel Studio

-

Function Documentation

- -

◆ swi_disable()

- -
-
- - - - - - - - -
void swi_disable (void )
-
- -

Configure GPIO pin for SWI signal as input.

- -
-
- -

◆ swi_enable()

- -
-
- - - - - - - - -
void swi_enable (void )
-
- -

Configure GPIO pin for SWI signal as output.

- -
-
- -

◆ swi_receive_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS swi_receive_bytes (uint8_t count,
uint8_t * buffer 
)
-
- -

Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function.

-
Parameters
- - - -
[in]countnumber of bytes to receive
[out]bufferpointer to receive buffer
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
-

Receive bits and store in buffer.

-

Detect start bit.

-

Wait for falling edge.

-

Wait for rising edge.

-

let's just wait the maximum time for the falling edge of a zero bit to arrive after we have detected the rising edge of the start bit.
-
-
-
-
- Detect possible edge indicating zero bit.

-

Wait for rising edge of zero pulse before returning. Otherwise we might interpret its rising edge as the next start pulse.
-
-
- Update byte at current buffer index.

-

received "one" bit

-

Indicate that we timed out after having received at least one byte.

- -
-
- -

◆ swi_send_byte()

- -
-
- - - - - - - - -
void swi_send_byte (uint8_t byte)
-
- -

Send one byte.

-
Parameters
- - -
[in]bytebyte to send
-
-
- -
-
- -

◆ swi_send_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
void swi_send_bytes (uint8_t count,
uint8_t * buffer 
)
-
- -

Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function.

-
Parameters
- - - -
[in]countnumber of bytes to send.
[in]bufferpointer to buffer containing bytes to send
-
-
-

< Send Logic 1 (7F)

-

< Send Logic 0 (7D)

- -
-
- -

◆ swi_send_wake_token()

- -
-
- - - - - - - - -
void swi_send_wake_token (void )
-
- -

Send a Wake Token.

- -
-
- -

◆ swi_set_pin()

- -
-
- - - - - - - - -
void swi_set_pin (uint8_t id)
-
- -

Set SWI signal pin. Other functions will use this pin.

-
Parameters
- - -
[in]iddefinition of GPIO pin to be used
-
-
- -
-
- -

◆ swi_set_signal_pin()

- -
-
- - - - - - - - -
void swi_set_signal_pin (uint8_t is_high)
-
- -

Set signal pin Low or High.

-
Parameters
- - -
[in]is_high0: Low, else: High.
-
-
- -
-
-

Variable Documentation

- -

◆ swi_buses_default

- -
-
- - - - -
SWIBuses swi_buses_default
-
-Initial value:
= {
{ EXT3_PIN_3, EXT3_PIN_9, EXT3_PIN_I2C_SDA, EXT3_PIN_13, EXT2_PIN_13, EXT2_PIN_5, EXT2_PIN_7, EXT2_PIN_9, EXT2_PIN_3, EXT2_PIN_15, EXT2_PIN_17, EXT1_PIN_3, EXT1_PIN_5, EXT1_PIN_7, EXT1_PIN_9, EXT1_PIN_13, EXT1_PIN_15, EXT1_PIN_17, EXT3_PIN_7, EXT3_PIN_10, EXT3_PIN_I2C_SCL, EXT3_PIN_14, EXT2_PIN_4, EXT2_PIN_6, EXT2_PIN_8, EXT2_PIN_10, EXT2_PIN_14, EXT2_PIN_16, EXT2_PIN_18, EXT1_PIN_4, EXT1_PIN_6, EXT1_PIN_8, EXT1_PIN_10, EXT1_PIN_14, EXT1_PIN_16, EXT1_PIN_18 }
}
-
-
-
+
@@ -90,20 +90,20 @@
hal_xmega_a3bu_i2c_asf.h
-Go to the documentation of this file.
1 
30 #ifndef HAL_XMEGA_A3BU_I2C_ASF_H_
31 #define HAL_XMEGA_A3BU_I2C_ASF_H_
32 
33 #include <asf.h>
34 #include "twi_master.h"
35 
45 #define MAX_I2C_BUSES 4 // XMEGA A3BU has up to 4 PORT that can be configured as I2C
46 
49 typedef struct atcaI2Cmaster
50 {
51  twi_master_t i2c_master_instance;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
60 #endif /* HAL_XMEGA_A3BU_I2C_ASF_H_ */
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
-
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
-
int speed
Definition: hal_linux_kit_cdc.c:61
-
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
-
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
-
twi_master_t i2c_master_instance
Definition: hal_xmega_a3bu_i2c_asf.h:51
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL created using ASF
+Go to the documentation of this file.
1 
30 #ifndef HAL_XMEGA_A3BU_I2C_ASF_H_
31 #define HAL_XMEGA_A3BU_I2C_ASF_H_
32 
33 #include <asf.h>
34 #include "twi_master.h"
35 
45 #define MAX_I2C_BUSES 4 // XMEGA A3BU has up to 4 PORT that can be configured as I2C
46 
49 typedef struct atcaI2Cmaster
50 {
51  twi_master_t i2c_master_instance;
52  int ref_ct;
53  // for conveniences during interface release phase
54  int bus_index;
56 
57 void change_i2c_speed(ATCAIface iface, uint32_t speed);
58 
60 #endif /* HAL_XMEGA_A3BU_I2C_ASF_H_ */
int ref_ct
Definition: hal_at90usb1287_i2c_asf.h:52
+
int speed
Definition: hal_linux_kit_cdc.c:61
+
void change_i2c_speed(ATCAIface iface, uint32_t speed)
method to change the bus speed of I2C
Definition: hal_at90usb1287_i2c_asf.c:374
+
twi_master_t i2c_master_instance
Definition: hal_xmega_a3bu_i2c_asf.h:51
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
this is the hal_data for ATCA HAL created using ASF
Definition: hal_at90usb1287_i2c_asf.h:49
+
int bus_index
for conveniences during interface release phase
Definition: hal_at90usb1287_i2c_asf.h:53
+
struct atcaI2Cmaster ATCAI2CMaster_t
this is the hal_data for ATCA HAL created using ASF
-

Hardware Interface Functions - SWI bit-banged. +

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers. More...

-
#include "atca_status.h"
+
#include <asf.h>
#include <delay.h>
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  SWIBuses
 
- - - - - - - - - - - - - - - - - - - - - -

-Macros

#define MAX_SWI_BUSES   36
 SAMD21 xplainned pro has 36 free GPIO pins available. More...
 
Macros for Bit-Banged SWI Timing

Times to drive bits at 230.4 kbps.

-
#define BIT_DELAY_1L   delay_us(3)
 
#define BIT_DELAY_1H   delay_us(3)
 should be 4.34 us, is 4.05us More...
 
#define BIT_DELAY_5   delay_us(26)
 
#define BIT_DELAY_7   delay_us(34)
 
#define RX_TX_DELAY   delay_us(65)
 
#define START_PULSE_TIME_OUT   (600)
 
#define ZERO_PULSE_TIME_OUT   (40)
 
+#include "atca_hal.h"
+
- - - - - - - - - - - - - - - - - - - - - - - - -

Functions

void swi_set_pin (uint8_t id)
 Set SWI signal pin. Other functions will use this pin. More...
 
void swi_enable (void)
 Configure GPIO pin for SWI signal as output. More...
 
void swi_disable (void)
 Configure GPIO pin for SWI signal as input. More...
 
void swi_set_signal_pin (uint8_t is_high)
 Set signal pin Low or High. More...
 
void swi_send_wake_token (void)
 Send a Wake Token. More...
 
void swi_send_bytes (uint8_t count, uint8_t *buffer)
 Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function. More...
 
void swi_send_byte (uint8_t byte)
 Send one byte. More...
 
ATCA_STATUS swi_receive_bytes (uint8_t count, uint8_t *buffer)
 Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function. More...
 
- - - + + + + + + + + +

-Variables

SWIBuses swi_buses_default
 
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 

Detailed Description

-

Hardware Interface Functions - SWI bit-banged.

+

ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.

-

Macro Definition Documentation

- -

◆ BIT_DELAY_1H

- -
-
- - - - -
#define BIT_DELAY_1H   delay_us(3)
-
- -

should be 4.34 us, is 4.05us

- -
-
- -

◆ BIT_DELAY_1L

- -
-
- - - - -
#define BIT_DELAY_1L   delay_us(3)
-
-

delay macro for width of one pulse (start pulse or zero pulse) should be 4.34 us, is 4.05 us

- -
-
- -

◆ BIT_DELAY_5

- -
-
- - - - -
#define BIT_DELAY_5   delay_us(26)
-
-

time to keep pin high for five pulses plus stop bit (used to bit-bang CryptoAuth 'zero' bit) should be 26.04 us, is 26.92 us

- -
-
- -

◆ BIT_DELAY_7

- -
-
- - - - -
#define BIT_DELAY_7   delay_us(34)
-
-

time to keep pin high for seven bits plus stop bit (used to bit-bang CryptoAuth 'one' bit) should be 34.72 us, is 35.13 us

- -
-
- -

◆ MAX_SWI_BUSES

- -
-
- - - - -
#define MAX_SWI_BUSES   36
-
- -

SAMD21 xplainned pro has 36 free GPIO pins available.

- -
-
- -

◆ RX_TX_DELAY

- -
-
- - - - -
#define RX_TX_DELAY   delay_us(65)
-
-

turn around time when switching from receive to transmit should be 93 us (Setting little less value as there would be other process before these steps)

- -
-
- -

◆ START_PULSE_TIME_OUT

- -
-
- - - - -
#define START_PULSE_TIME_OUT   (600)
-
-

Lets set the timeout value for start pulse detection to the uint8_t maximum. This value is decremented while waiting for the falling edge of a start pulse.

- -
-
- -

◆ ZERO_PULSE_TIME_OUT

- -
-
- - - - -
#define ZERO_PULSE_TIME_OUT   (40)
-
-

Maximum time between rising edge of start pulse and falling edge of zero pulse is 8.6 us. Therefore, a value of 40 (around 15 us) gives ample time to detect a zero pulse and also leaves enough time to detect the following start pulse. This value is decremented while waiting for the falling edge of a zero pulse.

- -
-
-

Function Documentation

- -

◆ swi_disable()

- -
-
- - - - - - - - -
void swi_disable (void )
-
- -

Configure GPIO pin for SWI signal as input.

- -
-
- -

◆ swi_enable()

- -
-
- - - - - - - - -
void swi_enable (void )
-
- -

Configure GPIO pin for SWI signal as output.

- -
-
- -

◆ swi_receive_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
ATCA_STATUS swi_receive_bytes (uint8_t count,
uint8_t * buffer 
)
-
- -

Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function.

-
Parameters
- - - -
[in]countnumber of bytes to receive
[out]bufferpointer to receive buffer
-
-
-
Returns
ATCA_SUCCESS on success, otherwise an error code.
-

Receive bits and store in buffer.

-

Detect start bit.

-

Wait for falling edge.

-

Wait for rising edge.

-

let's just wait the maximum time for the falling edge of a zero bit to arrive after we have detected the rising edge of the start bit.
-
-
-
-
- Detect possible edge indicating zero bit.

-

Wait for rising edge of zero pulse before returning. Otherwise we might interpret its rising edge as the next start pulse.
-
-
- Update byte at current buffer index.

-

received "one" bit

-

Indicate that we timed out after having received at least one byte.

- -
-
- -

◆ swi_send_byte()

- -
-
- - - - - - - - -
void swi_send_byte (uint8_t byte)
-
- -

Send one byte.

-
Parameters
- - -
[in]bytebyte to send
-
-
- -
-
- -

◆ swi_send_bytes()

- -
-
- - - - - - - - - - - - - - - - - - -
void swi_send_bytes (uint8_t count,
uint8_t * buffer 
)
-
- -

Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function.

-
Parameters
- - - -
[in]countnumber of bytes to send.
[in]bufferpointer to buffer containing bytes to send
-
-
-

< Send Logic 1 (7F)

-

< Send Logic 0 (7D)

- -
-
- -

◆ swi_send_wake_token()

- -
-
- - - - - - - - -
void swi_send_wake_token (void )
-
- -

Send a Wake Token.

- -
-
- -

◆ swi_set_pin()

- -
-
- - - - - - - - -
void swi_set_pin (uint8_t id)
-
- -

Set SWI signal pin. Other functions will use this pin.

-
Parameters
- - -
[in]iddefinition of GPIO pin to be used
-
-
- -
-
- -

◆ swi_set_signal_pin()

- -
-
- - - - - - - - -
void swi_set_signal_pin (uint8_t is_high)
-
- -

Set signal pin Low or High.

-
Parameters
- - -
[in]is_high0: Low, else: High.
-
-
- -
-
-

Variable Documentation

- -

◆ swi_buses_default

- -
-
- - - - -
SWIBuses swi_buses_default
-
- -
-
-
+
-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers. +

Hardware Interface Functions - I2C bit-bang for SAMD21. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "usart_serial.h"
-#include "swi_uart_at90usb1287_asf.h"
-#include "basic/atca_helpers.h"
+
#include <asf.h>
+#include <stdint.h>
+#include "i2c_bitbang_samd21.h"
+ + + +

+Macros

#define DEFAULT_I2C_BUS   2
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
void i2c_discover_buses (int i2c_bitbang_buses[], int max_buses)
 Assigns the logical bus number for discovering the devices. More...
 
void i2c_set_pin (uint8_t sda, uint8_t scl)
 Set I2C data and clock pin. Other functions will use these pins. More...
 
void i2c_enable (void)
 Configure GPIO pins for I2C clock and data as output. More...
 
void i2c_disable (void)
 Configure GPIO pins for I2C clock and data as input. More...
 
void i2c_send_start (void)
 Send a START condition. More...
 
void i2c_send_ack (uint8_t ack)
 Send an ACK or NACK (after receive). More...
 
void i2c_send_stop (void)
 Send a STOP condition. More...
 
void i2c_send_wake_token (void)
 Send a Wake Token. More...
 
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
 Send one byte. More...
 
ATCA_STATUS i2c_send_bytes (uint8_t count, uint8_t *data)
 Send a number of bytes. More...
 
uint8_t i2c_receive_one_byte (uint8_t ack)
 Receive one byte (MSB first). More...
 
void i2c_receive_byte (uint8_t *data)
 Receive one byte and send ACK. More...
 
void i2c_receive_bytes (uint8_t count, uint8_t *data)
 Receive a number of bytes. More...
 
+ + + + + + +

+Variables

I2CBuses i2c_buses_default
 
uint8_t pin_sda
 
uint8_t pin_scl
 

Detailed Description

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.

-

Prerequisite: add UART Polled support to application in Atmel Studio

+

Hardware Interface Functions - I2C bit-bang for SAMD21.

-
+

Macro Definition Documentation

+ +

◆ DEFAULT_I2C_BUS

+ +
+
+ + + + +
#define DEFAULT_I2C_BUS   2
+
+ +
+
+

Function Documentation

+ +

◆ i2c_disable()

+ +
+
+ + + + + + + + +
void i2c_disable (void )
+
+ +

Configure GPIO pins for I2C clock and data as input.

+ +
+
+ +

◆ i2c_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_discover_buses (int i2c_bitbang_buses[],
int max_buses 
)
+
+ +

Assigns the logical bus number for discovering the devices.

+
Parameters
+ + + +
[in]i2c_bitbang_busesThe logical bus numbers are assigned to the variables.
[in]max_busesMaximum number of bus used for discovering.
+
+
+ +
+
+ +

◆ i2c_enable()

+ +
+
+ + + + + + + + +
void i2c_enable (void )
+
+ +

Configure GPIO pins for I2C clock and data as output.

+ +
+
+ +

◆ i2c_receive_byte()

+ +
+
+ + + + + + + + +
void i2c_receive_byte (uint8_t * data)
+
+ +

Receive one byte and send ACK.

+
Parameters
+ + +
[out]datapointer to received byte
+
+
+ +
+
+ +

◆ i2c_receive_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_receive_bytes (uint8_t count,
uint8_t * data 
)
+
+ +

Receive a number of bytes.

+
Parameters
+ + + +
[out]datapointer to receive buffer
[in]countnumber of bytes to receive
+
+
+ +
+
+ +

◆ i2c_receive_one_byte()

+ +
+
+ + + + + + + + +
uint8_t i2c_receive_one_byte (uint8_t ack)
+
+ +

Receive one byte (MSB first).

+
Parameters
+ + +
[in]ack0:NACK, else:ACK
+
+
+
Returns
Number of bytes received
+

We don't need to delay after the last bit because it takes time to switch the pin to output for acknowledging.

+ +
+
+ +

◆ i2c_send_ack()

+ +
+
+ + + + + + + + +
void i2c_send_ack (uint8_t ack)
+
+ +

Send an ACK or NACK (after receive).

+
Parameters
+ + +
[in]ack0: NACK, else: ACK
+
+
+

< Low data line indicates an ACK.

+

< High data line indicates a NACK.

+

Clock out acknowledgment.

+ +
+
+ +

◆ i2c_send_byte()

+ +
+
+ + + + + + + + +
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
+
+ +

Send one byte.

+
Parameters
+ + +
[in]i2c_bytebyte to write
+
+
+
Returns
ATCA_STATUS
+

This avoids spikes but adds an if condition. We could parametrize the call to I2C_SET_OUTPUT and translate the msb to OUTSET or OUTCLR, but then the code would become target specific.
+
+
+
+
+
+ Send 8 bits of data.

+

Clock out the data bit.

+

Shifting while clock is high compensates for the time it takes to evaluate the bit while clock is low. That way, the low and high time of the clock pin is almost equal.
+
+
+ Clock in last data bit.

+

Set data line to be an input.

+

Wait for the ack.

+ +
+
+ +

◆ i2c_send_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS i2c_send_bytes (uint8_t count,
uint8_t * data 
)
+
+ +

Send a number of bytes.

+
Parameters
+ + + +
[in]countnumber of bytes to send
[in]datapointer to buffer containing bytes to send
+
+
+
Returns
ATCA_STATUS
+ +
+
+ +

◆ i2c_send_start()

+ +
+
+ + + + + + + + +
void i2c_send_start (void )
+
+ +

Send a START condition.

+

Set clock high in case we re-start.

+ +
+
+ +

◆ i2c_send_stop()

+ +
+
+ + + + + + + + +
void i2c_send_stop (void )
+
+ +

Send a STOP condition.

+ +
+
+ +

◆ i2c_send_wake_token()

+ +
+
+ + + + + + + + +
void i2c_send_wake_token (void )
+
+ +

Send a Wake Token.

+ +
+
+ +

◆ i2c_set_pin()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_set_pin (uint8_t sda,
uint8_t scl 
)
+
+ +

Set I2C data and clock pin. Other functions will use these pins.

+
Parameters
+ + + +
[in]sdadefinition of GPIO pin to be used as data pin
[in]scldefinition of GPIO pin to be used as clock pin
+
+
+ +
+
+

Variable Documentation

+ +

◆ i2c_buses_default

+ +
+
+ + + + +
I2CBuses i2c_buses_default
+
+Initial value:
= {
{EXT3_PIN_3, EXT3_PIN_9, EXT3_PIN_I2C_SDA, EXT3_PIN_13, EXT2_PIN_3, EXT2_PIN_5, EXT2_PIN_7, EXT2_PIN_9, EXT2_PIN_13, EXT2_PIN_15, EXT2_PIN_17, EXT1_PIN_3, EXT1_PIN_5, EXT1_PIN_7, EXT1_PIN_9, EXT1_PIN_13, EXT1_PIN_15, EXT1_PIN_17},
{EXT3_PIN_7, EXT3_PIN_10, EXT3_PIN_I2C_SCL, EXT3_PIN_14, EXT2_PIN_4, EXT2_PIN_6, EXT2_PIN_8, EXT2_PIN_10, EXT2_PIN_14, EXT2_PIN_16, EXT2_PIN_18, EXT1_PIN_4, EXT1_PIN_6, EXT1_PIN_8, EXT1_PIN_10, EXT1_PIN_14, EXT1_PIN_16, EXT1_PIN_18}
}
+
+
+ +

◆ pin_scl

+ +
+
+ + + + +
uint8_t pin_scl
+
+ +
+
+ +

◆ pin_sda

+ +
+
+ + + + +
uint8_t pin_sda
+
+ +
+
+
-
swi_uart_at90usb1287_asf.h File Reference
+
i2c_bitbang_samd21.h File Reference
-

ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers. +

definitions for bit-banged I2C More...

-
#include <asf.h>
-#include "cryptoauthlib.h"
-#include "serial.h"
+
#include "atca_status.h"
+#include <delay.h>

Go to the source code of this file.

- - +

Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
struct  I2CBuses
 
- - - - - - - - - - -

Macros

#define MAX_SWI_BUSES   1
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   90
 
- - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for SWI UART More...
 
#define MAX_I2C_BUSES   18
 
#define I2C_ENABLE()
 
#define I2C_DISABLE()
 
#define I2C_CLOCK_LOW()   port_pin_set_output_level(pin_scl, false)
 
#define I2C_CLOCK_HIGH()   port_pin_set_output_level(pin_scl, true)
 
#define I2C_DATA_LOW()   port_pin_set_output_level(pin_sda, false)
 
#define I2C_DATA_HIGH()   port_pin_set_output_level(pin_sda, true)
 
#define I2C_DATA_IN()   port_pin_get_input_level(pin_sda)
 
#define I2C_SET_OUTPUT()
 
#define I2C_SET_OUTPUT_HIGH()   { I2C_SET_OUTPUT(); I2C_DATA_HIGH(); }
 
#define I2C_SET_OUTPUT_LOW()   { I2C_SET_OUTPUT(); I2C_DATA_LOW(); }
 
#define I2C_SET_INPUT()
 
#define DISABLE_INTERRUPT()   cpu_irq_disable()
 
#define ENABLE_INTERRUPT()   cpu_irq_enable()
 
#define I2C_CLOCK_DELAY_WRITE_LOW()   delay_us(1)
 
#define I2C_CLOCK_DELAY_WRITE_HIGH()   delay_us(1)
 
#define I2C_CLOCK_DELAY_READ_LOW()   delay_us(1)
 
#define I2C_CLOCK_DELAY_READ_HIGH()   delay_us(1)
 
#define I2C_CLOCK_DELAY_SEND_ACK()   delay_us(1)
 
#define I2C_HOLD_DELAY()   delay_us(1)
 This delay is inserted to make the Start and Stop hold time at least 250 ns. More...
 
#define I2C_ACK_TIMEOUT   (4)
 loop count when waiting for an acknowledgment More...
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
void i2c_set_pin (uint8_t sda, uint8_t scl)
 Set I2C data and clock pin. Other functions will use these pins. More...
 
void i2c_discover_buses (int i2c_bitbang_buses[], int max_buses)
 Assigns the logical bus number for discovering the devices. More...
 
void i2c_enable (void)
 Configure GPIO pins for I2C clock and data as output. More...
 
void i2c_disable (void)
 Configure GPIO pins for I2C clock and data as input. More...
 
void i2c_send_start (void)
 Send a START condition. More...
 
void i2c_send_ack (uint8_t ack)
 Send an ACK or NACK (after receive). More...
 
void i2c_send_stop (void)
 Send a STOP condition. More...
 
void i2c_send_wake_token (void)
 Send a Wake Token. More...
 
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
 Send one byte. More...
 
ATCA_STATUS i2c_send_bytes (uint8_t count, uint8_t *data)
 Send a number of bytes. More...
 
uint8_t i2c_receive_one_byte (uint8_t ack)
 Receive one byte (MSB first). More...
 
void i2c_receive_byte (uint8_t *data)
 Receive one byte and send ACK. More...
 
void i2c_receive_bytes (uint8_t count, uint8_t *data)
 Receive a number of bytes. More...
 
+ + + + + + +

+Variables

I2CBuses i2c_buses_default
 
uint8_t pin_sda
 
uint8_t pin_scl
 

Detailed Description

-

ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.

-

Prerequisite: add UART Polled support to application in Atmel Studio

+

definitions for bit-banged I2C

-
+

Macro Definition Documentation

+ +

◆ DISABLE_INTERRUPT

+ +
+
+ + + + + + + +
#define DISABLE_INTERRUPT()   cpu_irq_disable()
+
+ +
+
+ +

◆ ENABLE_INTERRUPT

+ +
+
+ + + + + + + +
#define ENABLE_INTERRUPT()   cpu_irq_enable()
+
+ +
+
+ +

◆ I2C_ACK_TIMEOUT

+ +
+
+ + + + +
#define I2C_ACK_TIMEOUT   (4)
+
+ +

loop count when waiting for an acknowledgment

+ +
+
+ +

◆ I2C_CLOCK_DELAY_READ_HIGH

+ +
+
+ + + + + + + +
#define I2C_CLOCK_DELAY_READ_HIGH()   delay_us(1)
+
+ +
+
+ +

◆ I2C_CLOCK_DELAY_READ_LOW

+ +
+
+ + + + + + + +
#define I2C_CLOCK_DELAY_READ_LOW()   delay_us(1)
+
+ +
+
+ +

◆ I2C_CLOCK_DELAY_SEND_ACK

+ +
+
+ + + + + + + +
#define I2C_CLOCK_DELAY_SEND_ACK()   delay_us(1)
+
+ +
+
+ +

◆ I2C_CLOCK_DELAY_WRITE_HIGH

+ +
+
+ + + + + + + +
#define I2C_CLOCK_DELAY_WRITE_HIGH()   delay_us(1)
+
+ +
+
+ +

◆ I2C_CLOCK_DELAY_WRITE_LOW

+ +
+
+ + + + + + + +
#define I2C_CLOCK_DELAY_WRITE_LOW()   delay_us(1)
+
+ +
+
+ +

◆ I2C_CLOCK_HIGH

+ +
+
+ + + + + + + +
#define I2C_CLOCK_HIGH()   port_pin_set_output_level(pin_scl, true)
+
+ +
+
+ +

◆ I2C_CLOCK_LOW

+ +
+
+ + + + + + + +
#define I2C_CLOCK_LOW()   port_pin_set_output_level(pin_scl, false)
+
+ +
+
+ +

◆ I2C_DATA_HIGH

+ +
+
+ + + + + + + +
#define I2C_DATA_HIGH()   port_pin_set_output_level(pin_sda, true)
+
+ +
+
+ +

◆ I2C_DATA_IN

+ +
+
+ + + + + + + +
#define I2C_DATA_IN()   port_pin_get_input_level(pin_sda)
+
+ +
+
+ +

◆ I2C_DATA_LOW

+ +
+
+ + + + + + + +
#define I2C_DATA_LOW()   port_pin_set_output_level(pin_sda, false)
+
+ +
+
+ +

◆ I2C_DISABLE

+ +
+
+ + + + + + + +
#define I2C_DISABLE()
+
+Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_INPUT; \
pin_conf.input_pull = PORT_PIN_PULL_UP; \
port_pin_set_config(pin_sda, &pin_conf); \
port_pin_set_config(pin_scl, &pin_conf); }
uint8_t pin_scl
Definition: i2c_bitbang_samd21.c:40
+
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
+
+
+ +

◆ I2C_ENABLE

+ +
+
+ + + + + + + +
#define I2C_ENABLE()
+
+Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
port_pin_set_config(pin_sda, &pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT; \
port_pin_set_config(pin_scl, &pin_conf); }
uint8_t pin_scl
Definition: i2c_bitbang_samd21.c:40
+
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
+
+
+ +

◆ I2C_HOLD_DELAY

+ +
+
+ + + + + + + +
#define I2C_HOLD_DELAY()   delay_us(1)
+
+ +

This delay is inserted to make the Start and Stop hold time at least 250 ns.

+ +
+
+ +

◆ I2C_SET_INPUT

+ +
+
+ + + + + + + +
#define I2C_SET_INPUT()
+
+Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_INPUT; \
port_pin_set_config(pin_sda, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
+
+
+ +

◆ I2C_SET_OUTPUT

+ +
+
+ + + + + + + +
#define I2C_SET_OUTPUT()
+
+Value:
{ struct port_config pin_conf; \
port_get_config_defaults(&pin_conf); \
pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
port_pin_set_config(pin_sda, &pin_conf); }
struct port_config pin_conf
Definition: swi_uart_samd21_asf.c:44
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
+
+
+ +

◆ I2C_SET_OUTPUT_HIGH

+ +
+
+ + + + + + + +
#define I2C_SET_OUTPUT_HIGH()   { I2C_SET_OUTPUT(); I2C_DATA_HIGH(); }
+
+ +
+
+ +

◆ I2C_SET_OUTPUT_LOW

+ +
+
+ + + + + + + +
#define I2C_SET_OUTPUT_LOW()   { I2C_SET_OUTPUT(); I2C_DATA_LOW(); }
+
+ +
+
+ +

◆ MAX_I2C_BUSES

+ +
+
+ + + + +
#define MAX_I2C_BUSES   18
+
+ +
+
+

Function Documentation

+ +

◆ i2c_disable()

+ +
+
+ + + + + + + + +
void i2c_disable (void )
+
+ +

Configure GPIO pins for I2C clock and data as input.

+ +
+
+ +

◆ i2c_discover_buses()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_discover_buses (int i2c_bitbang_buses[],
int max_buses 
)
+
+ +

Assigns the logical bus number for discovering the devices.

+
Parameters
+ + + +
[in]i2c_bitbang_busesThe logical bus numbers are assigned to the variables.
[in]max_busesMaximum number of bus used for discovering.
+
+
+ +
+
+ +

◆ i2c_enable()

+ +
+
+ + + + + + + + +
void i2c_enable (void )
+
+ +

Configure GPIO pins for I2C clock and data as output.

+ +
+
+ +

◆ i2c_receive_byte()

+ +
+
+ + + + + + + + +
void i2c_receive_byte (uint8_t * data)
+
+ +

Receive one byte and send ACK.

+
Parameters
+ + +
[out]datapointer to received byte
+
+
+ +
+
+ +

◆ i2c_receive_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_receive_bytes (uint8_t count,
uint8_t * data 
)
+
+ +

Receive a number of bytes.

+
Parameters
+ + + +
[out]datapointer to receive buffer
[in]countnumber of bytes to receive
+
+
+ +
+
+ +

◆ i2c_receive_one_byte()

+ +
+
+ + + + + + + + +
uint8_t i2c_receive_one_byte (uint8_t ack)
+
+ +

Receive one byte (MSB first).

+
Parameters
+ + +
[in]ack0:NACK, else:ACK
+
+
+
Returns
Number of bytes received
+

We don't need to delay after the last bit because it takes time to switch the pin to output for acknowledging.

+ +
+
+ +

◆ i2c_send_ack()

+ +
+
+ + + + + + + + +
void i2c_send_ack (uint8_t ack)
+
+ +

Send an ACK or NACK (after receive).

+
Parameters
+ + +
[in]ack0: NACK, else: ACK
+
+
+

< Low data line indicates an ACK.

+

< High data line indicates a NACK.

+

Clock out acknowledgment.

+ +
+
+ +

◆ i2c_send_byte()

+ +
+
+ + + + + + + + +
ATCA_STATUS i2c_send_byte (uint8_t i2c_byte)
+
+ +

Send one byte.

+
Parameters
+ + +
[in]i2c_bytebyte to write
+
+
+
Returns
ATCA_STATUS
+

This avoids spikes but adds an if condition. We could parametrize the call to I2C_SET_OUTPUT and translate the msb to OUTSET or OUTCLR, but then the code would become target specific.
+
+
+
+
+
+ Send 8 bits of data.

+

Clock out the data bit.

+

Shifting while clock is high compensates for the time it takes to evaluate the bit while clock is low. That way, the low and high time of the clock pin is almost equal.
+
+
+ Clock in last data bit.

+

Set data line to be an input.

+

Wait for the ack.

+ +
+
+ +

◆ i2c_send_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS i2c_send_bytes (uint8_t count,
uint8_t * data 
)
+
+ +

Send a number of bytes.

+
Parameters
+ + + +
[in]countnumber of bytes to send
[in]datapointer to buffer containing bytes to send
+
+
+
Returns
ATCA_STATUS
+ +
+
+ +

◆ i2c_send_start()

+ +
+
+ + + + + + + + +
void i2c_send_start (void )
+
+ +

Send a START condition.

+

Set clock high in case we re-start.

+ +
+
+ +

◆ i2c_send_stop()

+ +
+
+ + + + + + + + +
void i2c_send_stop (void )
+
+ +

Send a STOP condition.

+ +
+
+ +

◆ i2c_send_wake_token()

+ +
+
+ + + + + + + + +
void i2c_send_wake_token (void )
+
+ +

Send a Wake Token.

+ +
+
+ +

◆ i2c_set_pin()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void i2c_set_pin (uint8_t sda,
uint8_t scl 
)
+
+ +

Set I2C data and clock pin. Other functions will use these pins.

+
Parameters
+ + + +
[in]sdadefinition of GPIO pin to be used as data pin
[in]scldefinition of GPIO pin to be used as clock pin
+
+
+ +
+
+

Variable Documentation

+ +

◆ i2c_buses_default

+ +
+
+ + + + +
I2CBuses i2c_buses_default
+
+ +
+
+ +

◆ pin_scl

+ +
+
+ + + + +
uint8_t pin_scl
+
+ +
+
+ +

◆ pin_sda

+ +
+
+ + + + +
uint8_t pin_sda
+
+ +
+
+
-Go to the documentation of this file.
1 
30 #ifndef SWI_UART_AT90USB1287_ASF_H
31 #define SWI_UART_AT90USB1287_ASF_H
32 
33 #include <asf.h>
34 #include "cryptoauthlib.h"
35 #include "serial.h"
36 
50 #define MAX_SWI_BUSES 1 // AT90USB1287 has only 1 port
51 
52 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
53 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
54 #define RX_DELAY 10 // Delay before responses come
55 #define TX_DELAY 90 // Delay before new flag is sent
56 
59 typedef struct atcaSWImaster
60 {
61  // struct usart_module for Atmel SWI interface
62  usart_if usart_instance;
63  int ref_ct;
64  // for conveniences during interface release phase
65  int bus_index;
67 
68 
71 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
72 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
73 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
74 
75 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
76 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
77 
80 #endif // SWI_UART_AT90USB1287_ASF_H
int ref_ct
Definition: hal_swi_bitbang.h:66
-
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
-
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
-
ATCA_STATUS
Definition: atca_status.h:41
-
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
-
Single aggregation point for all CryptoAuthLib header files.
-
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
-
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for SWI UART
-
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
-
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
-
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
-
usart_if usart_instance
Definition: swi_uart_at90usb1287_asf.h:62
-
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
-
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+Go to the documentation of this file.
1 
28 #ifndef I2C_BITBANG_SAMD21_H_
29 #define I2C_BITBANG_SAMD21_H_
30 
31 #include "atca_status.h"
32 #include <delay.h>
33 
34 
35 #define MAX_I2C_BUSES 18 //The MAX_I2C_BUSES is the number of free pins in samd21 xplained pro
36 
37 
38 typedef struct
39 {
42 } I2CBuses;
43 
45 
46 extern uint8_t pin_sda;
47 extern uint8_t pin_scl;
48 
49 # define I2C_ENABLE() { struct port_config pin_conf; \
50  port_get_config_defaults(&pin_conf); \
51  pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
52  port_pin_set_config(pin_sda, &pin_conf); \
53  pin_conf.direction = PORT_PIN_DIR_OUTPUT; \
54  port_pin_set_config(pin_scl, &pin_conf); }
55 # define I2C_DISABLE() { struct port_config pin_conf; \
56  port_get_config_defaults(&pin_conf); \
57  pin_conf.direction = PORT_PIN_DIR_INPUT; \
58  pin_conf.input_pull = PORT_PIN_PULL_UP; \
59  port_pin_set_config(pin_sda, &pin_conf); \
60  port_pin_set_config(pin_scl, &pin_conf); }
61 # define I2C_CLOCK_LOW() port_pin_set_output_level(pin_scl, false)
62 # define I2C_CLOCK_HIGH() port_pin_set_output_level(pin_scl, true)
63 # define I2C_DATA_LOW() port_pin_set_output_level(pin_sda, false)
64 # define I2C_DATA_HIGH() port_pin_set_output_level(pin_sda, true)
65 # define I2C_DATA_IN() port_pin_get_input_level(pin_sda)
66 # define I2C_SET_OUTPUT() { struct port_config pin_conf; \
67  port_get_config_defaults(&pin_conf); \
68  pin_conf.direction = PORT_PIN_DIR_OUTPUT_WTH_READBACK; \
69  port_pin_set_config(pin_sda, &pin_conf); }
70 # define I2C_SET_OUTPUT_HIGH() { I2C_SET_OUTPUT(); I2C_DATA_HIGH(); }
71 # define I2C_SET_OUTPUT_LOW() { I2C_SET_OUTPUT(); I2C_DATA_LOW(); }
72 # define I2C_SET_INPUT() { struct port_config pin_conf; \
73  port_get_config_defaults(&pin_conf); \
74  pin_conf.direction = PORT_PIN_DIR_INPUT; \
75  port_pin_set_config(pin_sda, &pin_conf); }
76 # define DISABLE_INTERRUPT() cpu_irq_disable()
77 # define ENABLE_INTERRUPT() cpu_irq_enable()
78 
79 
80 #define I2C_CLOCK_DELAY_WRITE_LOW() delay_us(1)
81 #define I2C_CLOCK_DELAY_WRITE_HIGH() delay_us(1)
82 #define I2C_CLOCK_DELAY_READ_LOW() delay_us(1)
83 #define I2C_CLOCK_DELAY_READ_HIGH() delay_us(1)
84 #define I2C_CLOCK_DELAY_SEND_ACK() delay_us(1)
85 #define I2C_HOLD_DELAY() delay_us(1)
87 
88 
89 
90 
92 #define I2C_ACK_TIMEOUT (4)
93 
94 
102 void i2c_set_pin(uint8_t sda, uint8_t scl);
103 
104 
113 void i2c_discover_buses(int i2c_bitbang_buses[], int max_buses);
114 
118 void i2c_enable(void);
119 
123 void i2c_disable(void);
124 
125 
129 void i2c_send_start(void);
130 
136 void i2c_send_ack(uint8_t ack);
137 
141 void i2c_send_stop(void);
142 
146 void i2c_send_wake_token(void);
147 
155 ATCA_STATUS i2c_send_byte(uint8_t i2c_byte);
156 
165 ATCA_STATUS i2c_send_bytes(uint8_t count, uint8_t *data);
166 
174 uint8_t i2c_receive_one_byte(uint8_t ack);
175 
181 void i2c_receive_byte(uint8_t *data);
182 
189 void i2c_receive_bytes(uint8_t count, uint8_t *data);
190 
191 #endif /* I2C_BITBANG_SAMD21_H_ */
uint8_t i2c_receive_one_byte(uint8_t ack)
Receive one byte (MSB first).
Definition: i2c_bitbang_samd21.c:212
+
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS i2c_send_byte(uint8_t i2c_byte)
Send one byte.
Definition: i2c_bitbang_samd21.c:120
+
void i2c_send_wake_token(void)
Send a Wake Token.
Definition: i2c_bitbang_samd21.c:113
+
uint8_t pin_scl
Definition: i2c_bitbang_samd21.c:40
+
void i2c_send_stop(void)
Send a STOP condition.
Definition: i2c_bitbang_samd21.c:103
+
void i2c_set_pin(uint8_t sda, uint8_t scl)
Set I2C data and clock pin. Other functions will use these pins.
Definition: i2c_bitbang_samd21.c:49
+
void i2c_send_ack(uint8_t ack)
Send an ACK or NACK (after receive).
Definition: i2c_bitbang_samd21.c:78
+
I2CBuses i2c_buses_default
Definition: i2c_bitbang_samd21.c:34
+
void i2c_send_start(void)
Send a START condition.
Definition: i2c_bitbang_samd21.c:68
+
Microchip Crypto Auth status codes.
+
void i2c_discover_buses(int i2c_bitbang_buses[], int max_buses)
Assigns the logical bus number for discovering the devices.
Definition: i2c_bitbang_samd21.c:42
+
Definition: i2c_bitbang_samd21.h:38
+
void i2c_disable(void)
Configure GPIO pins for I2C clock and data as input.
Definition: i2c_bitbang_samd21.c:62
+
#define MAX_I2C_BUSES
Definition: i2c_bitbang_samd21.h:35
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
void i2c_receive_byte(uint8_t *data)
Receive one byte and send ACK.
Definition: i2c_bitbang_samd21.c:243
+
void i2c_enable(void)
Configure GPIO pins for I2C clock and data as output.
Definition: i2c_bitbang_samd21.c:55
+
ATCA_STATUS i2c_send_bytes(uint8_t count, uint8_t *data)
Send a number of bytes.
Definition: i2c_bitbang_samd21.c:190
+
void i2c_receive_bytes(uint8_t count, uint8_t *data)
Receive a number of bytes.
Definition: i2c_bitbang_samd21.c:248
-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers. +

ATCA Hardware abstraction layer physical send & receive function definitions. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "swi_uart_samd21_asf.h"
-#include "basic/atca_helpers.h"
-
+
#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+
- - - - - - - - - - - - - - - - - - - - - -

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
- - - + + + + + + + + +

-Variables

struct port_config pin_conf
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 

Detailed Description

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.

-

Prerequisite: add UART Polled support to application in Atmel Studio

+

ATCA Hardware abstraction layer physical send & receive function definitions.

+

This is included for kit protocol implementations. It is included in the kit protocol callback to actually send and recieve bytes.

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers. +

Microchip Crypto Auth hardware interface object. More...

-
#include <asf.h>
-#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
+
#include <stdlib.h>
+#include <stdio.h>
+#include "kit_phy.h"
+#include "kit_protocol.h"
+#include "basic/atca_helpers.h"
+
- - - - - - - - - - - - - - -

Macros

#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   90
 
#define DEBUG_PIN_1   EXT2_PIN_5
 
#define DEBUG_PIN_2   EXT2_PIN_6
 
- - - - + + + +

-Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
#define KIT_MAX_SCAN_COUNT   4
 
#define KIT_MAX_TX_BUF   32
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
char * strnchr (const char *s, size_t count, int c)
 
char kit_id_from_devtype (ATCADeviceType devtype)
 
ATCA_STATUS kit_init (ATCAIface iface)
 HAL implementation of kit protocol init. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the physical protocol to receive the bytes. More...
 
ATCA_STATUS kit_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS kit_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS kit_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
 Wrap binary bytes in ascii kit protocol. More...
 
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
 Parse the response ascii from the kit. More...
 

Detailed Description

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.

-

Prerequisite: add UART Polled support to application in Atmel Studio

+

Microchip Crypto Auth hardware interface object.

-
swi_uart_start.c File Reference
+
kit_protocol.h File Reference
-
#include <stdlib.h>
-#include <stdio.h>
-#include <peripheral_clk_config.h>
-#include "swi_uart_start.h"
-#include "basic/atca_helpers.h"
-
+
#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+
- - + + + + + +

Macros

#define USART_BAUD_RATE(baud, sercom_freq)   (65536 - ((65536 * 16.0F * baud) / sercom_freq))
 
#define KIT_TX_WRAP_SIZE   (7)
 
#define KIT_MSG_SIZE   (32)
 
#define KIT_RX_WRAP_SIZE   (KIT_MSG_SIZE + 6)
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
ATCA_STATUS kit_init (ATCAIface iface)
 HAL implementation of kit protocol init. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the physical protocol to receive the bytes. More...
 
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
 Wrap binary bytes in ascii kit protocol. More...
 
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
 Parse the response ascii from the kit. More...
 
ATCA_STATUS kit_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS kit_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS kit_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 

Detailed Description

-

Macro Definition Documentation

- -

◆ USART_BAUD_RATE

- -
-
- - - - - - - - - - - - - - - - - - -
#define USART_BAUD_RATE( baud,
 sercom_freq 
)   (65536 - ((65536 * 16.0F * baud) / sercom_freq))
-
- -
-
-
+
@@ -90,23 +90,23 @@
kit_protocol.h
-Go to the documentation of this file.
1 
29 #ifndef KIT_PROTOCOL_H_
30 #define KIT_PROTOCOL_H_
31 
32 #include "cryptoauthlib.h"
33 
34 // Define this for debugging communication
35 //#define KIT_DEBUG
36 
44 // The number of bytes to wrap a command in kit protocol. sizeof("s:t()\n<null>")
45 #define KIT_TX_WRAP_SIZE (7)
46 
47 // The number of bytes to wrap a response in kit protocol. sizeof("<KIT_MSG_SIZE>00()\n<null>")
48 #define KIT_MSG_SIZE (32)
49 #define KIT_RX_WRAP_SIZE (KIT_MSG_SIZE + 6)
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
56 
57 ATCA_STATUS kit_send(ATCAIface iface, const uint8_t* txdata, int txlength);
58 ATCA_STATUS kit_receive(ATCAIface iface, uint8_t* rxdata, uint16_t* rxsize);
59 
60 ATCA_STATUS kit_wrap_cmd(const uint8_t* txdata, int txlength, char* pkitbuf, int* nkitbuf, char target);
61 ATCA_STATUS kit_parse_rsp(const char* pkitbuf, int nkitbuf, uint8_t* kitstatus, uint8_t* rxdata, int* nrxdata);
62 
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 
73 #endif // KIT_PROTOCOL_H
ATCA_STATUS kit_init(ATCAIface iface)
HAL implementation of kit protocol init. This function calls back to the physical protocol to send th...
Definition: kit_protocol.c:86
-
ATCA_STATUS kit_parse_rsp(const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
Parse the response ascii from the kit.
Definition: kit_protocol.c:462
-
ATCA_STATUS
Definition: atca_status.h:41
-
ATCA_STATUS kit_idle(ATCAIface iface)
Call the idle for kit protocol.
Definition: kit_protocol.c:308
-
Single aggregation point for all CryptoAuthLib header files.
-
ATCA_STATUS kit_wake(ATCAIface iface)
Call the wake for kit protocol.
Definition: kit_protocol.c:263
-
ATCA_STATUS kit_sleep(ATCAIface iface)
Call the sleep for kit protocol.
Definition: kit_protocol.c:353
-
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
-
ATCA_STATUS kit_send(ATCAIface iface, const uint8_t *txdata, int txlength)
HAL implementation of kit protocol send. This function calls back to the physical protocol to send th...
Definition: kit_protocol.c:174
-
ATCA_STATUS kit_wrap_cmd(const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
Wrap binary bytes in ascii kit protocol.
Definition: kit_protocol.c:406
-
ATCA_STATUS kit_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the phy...
Definition: kit_protocol.c:216
+Go to the documentation of this file.
1 
29 #ifndef KIT_PROTOCOL_H_
30 #define KIT_PROTOCOL_H_
31 
32 #include "cryptoauthlib.h"
33 
34 // Define this for debugging communication
35 //#define KIT_DEBUG
36 
44 // The number of bytes to wrap a command in kit protocol. sizeof("s:t()\n<null>")
45 #define KIT_TX_WRAP_SIZE (7)
46 
47 // The number of bytes to wrap a response in kit protocol. sizeof("<KIT_MSG_SIZE>00()\n<null>")
48 #define KIT_MSG_SIZE (32)
49 #define KIT_RX_WRAP_SIZE (KIT_MSG_SIZE + 6)
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
56 
57 ATCA_STATUS kit_send(ATCAIface iface, const uint8_t* txdata, int txlength);
58 ATCA_STATUS kit_receive(ATCAIface iface, uint8_t* rxdata, uint16_t* rxsize);
59 
60 ATCA_STATUS kit_wrap_cmd(const uint8_t* txdata, int txlength, char* pkitbuf, int* nkitbuf, char target);
61 ATCA_STATUS kit_parse_rsp(const char* pkitbuf, int nkitbuf, uint8_t* kitstatus, uint8_t* rxdata, int* nrxdata);
62 
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 
73 #endif // KIT_PROTOCOL_H
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS kit_send(ATCAIface iface, const uint8_t *txdata, int txlength)
HAL implementation of kit protocol send. This function calls back to the physical protocol to send th...
Definition: kit_protocol.c:174
+
ATCA_STATUS kit_wrap_cmd(const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
Wrap binary bytes in ascii kit protocol.
Definition: kit_protocol.c:406
+
ATCA_STATUS kit_init(ATCAIface iface)
HAL implementation of kit protocol init. This function calls back to the physical protocol to send th...
Definition: kit_protocol.c:86
+
ATCA_STATUS kit_idle(ATCAIface iface)
Call the idle for kit protocol.
Definition: kit_protocol.c:308
+
ATCA_STATUS kit_wake(ATCAIface iface)
Call the wake for kit protocol.
Definition: kit_protocol.c:263
+
atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface ...
Definition: atca_iface.h:129
+
Single aggregation point for all CryptoAuthLib header files.
+
ATCA_STATUS kit_sleep(ATCAIface iface)
Call the sleep for kit protocol.
Definition: kit_protocol.c:353
+
ATCA_STATUS kit_parse_rsp(const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
Parse the response ascii from the kit.
Definition: kit_protocol.c:462
+
ATCA_STATUS kit_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the phy...
Definition: kit_protocol.c:216
-
#include <stdlib.h>
-#include "atmel_start.h"
-#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
- - - - - - - - - - - -

-Macros

#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   93
 
- - - - -

-Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
+ +

Hardware Interface Functions - SWI bit-banged. +More...

+
#include <asf.h>
+#include <stdint.h>
+#include "swi_bitbang_samd21.h"
+#include "atca_command.h"
+
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
void swi_set_pin (uint8_t id)
 Set SWI signal pin. Other functions will use this pin. More...
 
void swi_enable (void)
 Configure GPIO pin for SWI signal as output. More...
 
void swi_disable (void)
 Configure GPIO pin for SWI signal as input. More...
 
void swi_set_signal_pin (uint8_t is_high)
 Set signal pin Low or High. More...
 
void swi_send_wake_token (void)
 Send a Wake Token. More...
 
void swi_send_bytes (uint8_t count, uint8_t *buffer)
 Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function. More...
 
void swi_send_byte (uint8_t byte)
 Send one byte. More...
 
ATCA_STATUS swi_receive_bytes (uint8_t count, uint8_t *buffer)
 Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function. More...
 
+ + +

+Variables

SWIBuses swi_buses_default
 

Detailed Description

-
-
+

Hardware Interface Functions - SWI bit-banged.

+ +

Function Documentation

+ +

◆ swi_disable()

+ +
+
+ + + + + + + + +
void swi_disable (void )
+
+ +

Configure GPIO pin for SWI signal as input.

+ +
+
+ +

◆ swi_enable()

+ +
+
+ + + + + + + + +
void swi_enable (void )
+
+ +

Configure GPIO pin for SWI signal as output.

+ +
+
+ +

◆ swi_receive_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS swi_receive_bytes (uint8_t count,
uint8_t * buffer 
)
+
+ +

Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function.

+
Parameters
+ + + +
[in]countnumber of bytes to receive
[out]bufferpointer to receive buffer
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+

Receive bits and store in buffer.

+

Detect start bit.

+

Wait for falling edge.

+

Wait for rising edge.

+

let's just wait the maximum time for the falling edge of a zero bit to arrive after we have detected the rising edge of the start bit.
+
+
+
+
+ Detect possible edge indicating zero bit.

+

Wait for rising edge of zero pulse before returning. Otherwise we might interpret its rising edge as the next start pulse.
+
+
+ Update byte at current buffer index.

+

received "one" bit

+

Indicate that we timed out after having received at least one byte.

+ +
+
+ +

◆ swi_send_byte()

+ +
+
+ + + + + + + + +
void swi_send_byte (uint8_t byte)
+
+ +

Send one byte.

+
Parameters
+ + +
[in]bytebyte to send
+
+
+ +
+
+ +

◆ swi_send_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void swi_send_bytes (uint8_t count,
uint8_t * buffer 
)
+
+ +

Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function.

+
Parameters
+ + + +
[in]countnumber of bytes to send.
[in]bufferpointer to buffer containing bytes to send
+
+
+

< Send Logic 1 (7F)

+

< Send Logic 0 (7D)

+ +
+
+ +

◆ swi_send_wake_token()

+ +
+
+ + + + + + + + +
void swi_send_wake_token (void )
+
+ +

Send a Wake Token.

+ +
+
+ +

◆ swi_set_pin()

+ +
+
+ + + + + + + + +
void swi_set_pin (uint8_t id)
+
+ +

Set SWI signal pin. Other functions will use this pin.

+
Parameters
+ + +
[in]iddefinition of GPIO pin to be used
+
+
+ +
+
+ +

◆ swi_set_signal_pin()

+ +
+
+ + + + + + + + +
void swi_set_signal_pin (uint8_t is_high)
+
+ +

Set signal pin Low or High.

+
Parameters
+ + +
[in]is_high0: Low, else: High.
+
+
+ +
+
+

Variable Documentation

+ +

◆ swi_buses_default

+ +
+
+ + + + +
SWIBuses swi_buses_default
+
+Initial value:
= {
{ EXT3_PIN_3, EXT3_PIN_9, EXT3_PIN_I2C_SDA, EXT3_PIN_13, EXT2_PIN_13, EXT2_PIN_5, EXT2_PIN_7, EXT2_PIN_9, EXT2_PIN_3, EXT2_PIN_15, EXT2_PIN_17, EXT1_PIN_3, EXT1_PIN_5, EXT1_PIN_7, EXT1_PIN_9, EXT1_PIN_13, EXT1_PIN_15, EXT1_PIN_17, EXT3_PIN_7, EXT3_PIN_10, EXT3_PIN_I2C_SCL, EXT3_PIN_14, EXT2_PIN_4, EXT2_PIN_6, EXT2_PIN_8, EXT2_PIN_10, EXT2_PIN_14, EXT2_PIN_16, EXT2_PIN_18, EXT1_PIN_4, EXT1_PIN_6, EXT1_PIN_8, EXT1_PIN_10, EXT1_PIN_14, EXT1_PIN_16, EXT1_PIN_18 }
}
+
+
+
-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers. +

Hardware Interface Functions - SWI bit-banged. More...

-
#include <stdlib.h>
-#include <stdio.h>
-#include "swi_uart_xmega_a3bu_asf.h"
-#include "basic/atca_helpers.h"
-
+
#include "atca_status.h"
+#include <delay.h>
+
+

Go to the source code of this file.

+
+ + + +

+Data Structures

struct  SWIBuses
 
- - - - - - + + + + + + + + + + + + + + + + + + + +

Macros

#define DEBUG_PIN   1
 
#define DEBUG_PIN_1   IOPORT_CREATE_PIN(PORTB, 0)
 
#define DEBUG_PIN_2   IOPORT_CREATE_PIN(PORTB, 1)
 
#define MAX_SWI_BUSES   36
 SAMD21 xplainned pro has 36 free GPIO pins available. More...
 
Macros for Bit-Banged SWI Timing

Times to drive bits at 230.4 kbps.

+
#define BIT_DELAY_1L   delay_us(3)
 
#define BIT_DELAY_1H   delay_us(3)
 should be 4.34 us, is 4.05us More...
 
#define BIT_DELAY_5   delay_us(26)
 
#define BIT_DELAY_7   delay_us(34)
 
#define RX_TX_DELAY   delay_us(65)
 
#define START_PULSE_TIME_OUT   (600)
 
#define ZERO_PULSE_TIME_OUT   (40)
 
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
void swi_set_pin (uint8_t id)
 Set SWI signal pin. Other functions will use this pin. More...
 
void swi_enable (void)
 Configure GPIO pin for SWI signal as output. More...
 
void swi_disable (void)
 Configure GPIO pin for SWI signal as input. More...
 
void swi_set_signal_pin (uint8_t is_high)
 Set signal pin Low or High. More...
 
void swi_send_wake_token (void)
 Send a Wake Token. More...
 
void swi_send_bytes (uint8_t count, uint8_t *buffer)
 Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function. More...
 
void swi_send_byte (uint8_t byte)
 Send one byte. More...
 
ATCA_STATUS swi_receive_bytes (uint8_t count, uint8_t *buffer)
 Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function. More...
 
+ + +

+Variables

SWIBuses swi_buses_default
 

Detailed Description

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.

-

Prerequisite: add UART Polled support to application in Atmel Studio

+

Hardware Interface Functions - SWI bit-banged.

Macro Definition Documentation

- -

◆ DEBUG_PIN

+ +

◆ BIT_DELAY_1H

+ +
+
+ + + + +
#define BIT_DELAY_1H   delay_us(3)
+
+ +

should be 4.34 us, is 4.05us

+ +
+
+ +

◆ BIT_DELAY_1L

+ +
+
+ + + + +
#define BIT_DELAY_1L   delay_us(3)
+
+

delay macro for width of one pulse (start pulse or zero pulse) should be 4.34 us, is 4.05 us

+ +
+
+ +

◆ BIT_DELAY_5

+ +
+
+ + + + +
#define BIT_DELAY_5   delay_us(26)
+
+

time to keep pin high for five pulses plus stop bit (used to bit-bang CryptoAuth 'zero' bit) should be 26.04 us, is 26.92 us

+ +
+
+ +

◆ BIT_DELAY_7

+ +
+
+ + + + +
#define BIT_DELAY_7   delay_us(34)
+
+

time to keep pin high for seven bits plus stop bit (used to bit-bang CryptoAuth 'one' bit) should be 34.72 us, is 35.13 us

+ +
+
+ +

◆ MAX_SWI_BUSES

+ +
+
+ + + + +
#define MAX_SWI_BUSES   36
+
+ +

SAMD21 xplainned pro has 36 free GPIO pins available.

+ +
+
+ +

◆ RX_TX_DELAY

+ +
+
+ + + + +
#define RX_TX_DELAY   delay_us(65)
+
+

turn around time when switching from receive to transmit should be 93 us (Setting little less value as there would be other process before these steps)

+ +
+
+ +

◆ START_PULSE_TIME_OUT

+ +
+
+ + + + +
#define START_PULSE_TIME_OUT   (600)
+
+

Lets set the timeout value for start pulse detection to the uint8_t maximum. This value is decremented while waiting for the falling edge of a start pulse.

+ +
+
+ +

◆ ZERO_PULSE_TIME_OUT

- +
#define DEBUG_PIN   1#define ZERO_PULSE_TIME_OUT   (40)
+

Maximum time between rising edge of start pulse and falling edge of zero pulse is 8.6 us. Therefore, a value of 40 (around 15 us) gives ample time to detect a zero pulse and also leaves enough time to detect the following start pulse. This value is decremented while waiting for the falling edge of a zero pulse.

- -

◆ DEBUG_PIN_1

+

Function Documentation

+ +

◆ swi_disable()

- + + + + +
#define DEBUG_PIN_1   IOPORT_CREATE_PIN(PORTB, 0)void swi_disable (void )
+

Configure GPIO pin for SWI signal as input.

+ +
+
+ +

◆ swi_enable()

+ +
+
+ + + + + + + + +
void swi_enable (void )
+
+ +

Configure GPIO pin for SWI signal as output.

+ +
+
+ +

◆ swi_receive_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
ATCA_STATUS swi_receive_bytes (uint8_t count,
uint8_t * buffer 
)
+
+ +

Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_receive() which call this function.

+
Parameters
+ + + +
[in]countnumber of bytes to receive
[out]bufferpointer to receive buffer
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+

Receive bits and store in buffer.

+

Detect start bit.

+

Wait for falling edge.

+

Wait for rising edge.

+

let's just wait the maximum time for the falling edge of a zero bit to arrive after we have detected the rising edge of the start bit.
+
+
+
+
+ Detect possible edge indicating zero bit.

+

Wait for rising edge of zero pulse before returning. Otherwise we might interpret its rising edge as the next start pulse.
+
+
+ Update byte at current buffer index.

+

received "one" bit

+

Indicate that we timed out after having received at least one byte.

+ +
+
+ +

◆ swi_send_byte()

+ +
+
+ + + + + + + + +
void swi_send_byte (uint8_t byte)
+
+ +

Send one byte.

+
Parameters
+ + +
[in]bytebyte to send
+
+
+ +
+
+ +

◆ swi_send_bytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void swi_send_bytes (uint8_t count,
uint8_t * buffer 
)
+
+ +

Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send() which call this function.

+
Parameters
+ + + +
[in]countnumber of bytes to send.
[in]bufferpointer to buffer containing bytes to send
+
+
+

< Send Logic 1 (7F)

+

< Send Logic 0 (7D)

+ +
+
+ +

◆ swi_send_wake_token()

+ +
+
+ + + + + + + + +
void swi_send_wake_token (void )
+
+ +

Send a Wake Token.

+ +
+
+ +

◆ swi_set_pin()

+ +
+
+ + + + + + + + +
void swi_set_pin (uint8_t id)
+
+ +

Set SWI signal pin. Other functions will use this pin.

+
Parameters
+ + +
[in]iddefinition of GPIO pin to be used
+
+
+ +
+
+ +

◆ swi_set_signal_pin()

+ +
+
+ + + + + + + + +
void swi_set_signal_pin (uint8_t is_high)
+
+ +

Set signal pin Low or High.

+
Parameters
+ + +
[in]is_high0: Low, else: High.
+
+
+
- -

◆ DEBUG_PIN_2

+

Variable Documentation

+ +

◆ swi_buses_default

- +
#define DEBUG_PIN_2   IOPORT_CREATE_PIN(PORTB, 1)SWIBuses swi_buses_default
@@ -186,7 +542,7 @@

    - + diff --git a/docs/html/a00515.js b/docs/html/a00515.js index 54258ffe6..52d6824e5 100644 --- a/docs/html/a00515.js +++ b/docs/html/a00515.js @@ -1,13 +1,21 @@ var a00515 = [ - [ "DEBUG_PIN", "a00515.html#aac77b9d8c3b5ebb1caa337b6896c7080", null ], - [ "DEBUG_PIN_1", "a00515.html#ab12a92582aefe426bb194e0c298e8f98", null ], - [ "DEBUG_PIN_2", "a00515.html#a6a2579114d13238c7ba20d147a74090a", null ], - [ "swi_uart_deinit", "a03537.html#ga0b1aad3936bf003686d8db7fa2be5132", null ], - [ "swi_uart_discover_buses", "a03537.html#gad640b598d581ee7c8a4c804bee602906", null ], - [ "swi_uart_init", "a03537.html#ga003b63648f1a5f9eba274760559688f2", null ], - [ "swi_uart_mode", "a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41", null ], - [ "swi_uart_receive_byte", "a03537.html#ga93f3dab17c14f71641ca970998ede823", null ], - [ "swi_uart_send_byte", "a03537.html#ga4a4d491006d9683d67838963706ac9c1", null ], - [ "swi_uart_setbaud", "a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d", null ] + [ "SWIBuses", "a01062.html", "a01062" ], + [ "BIT_DELAY_1H", "a00515.html#a1ce4882b7d053eafcec22cd84fb5727d", null ], + [ "BIT_DELAY_1L", "a00515.html#ad884cf7d66d88b38180369a791a9824b", null ], + [ "BIT_DELAY_5", "a00515.html#a2ced4699fc4ab5162dbb9453edecb32e", null ], + [ "BIT_DELAY_7", "a00515.html#abd0d20a34060650b8a2895c17f842f44", null ], + [ "MAX_SWI_BUSES", "a00515.html#af9d9d027ce20f528edea144203141714", null ], + [ "RX_TX_DELAY", "a00515.html#a60ba93807a2c0ea2ce1432245f3f7da0", null ], + [ "START_PULSE_TIME_OUT", "a00515.html#ab10604796b42fb6b8eed23fc88ebd47f", null ], + [ "ZERO_PULSE_TIME_OUT", "a00515.html#ad935b86cd295ba61924231e29033c55b", null ], + [ "swi_disable", "a00515.html#af016fffdce9f520096de8631e6692707", null ], + [ "swi_enable", "a00515.html#ad78929b51b34df503a37b4961577d5ce", null ], + [ "swi_receive_bytes", "a00515.html#afa009f7d683cb82293570a27d1f8ee10", null ], + [ "swi_send_byte", "a00515.html#a1c5ab22e67923ee54eef0e33b227be0b", null ], + [ "swi_send_bytes", "a00515.html#af0382e26c4d83b0762b39d12c772dd2e", null ], + [ "swi_send_wake_token", "a00515.html#ada6b4629603758b67820568677ab2a19", null ], + [ "swi_set_pin", "a00515.html#a076fc28889d32327dd3372538106da92", null ], + [ "swi_set_signal_pin", "a00515.html#a79bc8f2b72647fce853274cf8474b41e", null ], + [ "swi_buses_default", "a00515.html#a8ba5507b651724b4cdc74106a16b025c", null ] ]; \ No newline at end of file diff --git a/docs/html/a00494_source.html b/docs/html/a00515_source.html similarity index 77% rename from docs/html/a00494_source.html rename to docs/html/a00515_source.html index 8cff39d2a..eae355c37 100644 --- a/docs/html/a00494_source.html +++ b/docs/html/a00515_source.html @@ -67,7 +67,7 @@

@@ -90,26 +90,26 @@
swi_bitbang_samd21.h
-Go to the documentation of this file.
1 
28 #ifndef SWI_BITBANG_SAMD21_H_
29 #define SWI_BITBANG_SAMD21_H_
30 
31 #include "atca_status.h"
32 #include <delay.h>
33 
34 
35 #define MAX_SWI_BUSES 36
36 
37 
38 typedef struct
39 {
41 } SWIBuses;
42 
44 
45 
52 
55 #define BIT_DELAY_1L delay_us(3)
56 #define BIT_DELAY_1H delay_us(3)
58 
61 #define BIT_DELAY_5 delay_us(26) // considering pin set delay
62 
65 #define BIT_DELAY_7 delay_us(34) // considering pin set delay
66 
69 #define RX_TX_DELAY delay_us(65)
70 
71 
74 #define START_PULSE_TIME_OUT (600)
75 
81 #define ZERO_PULSE_TIME_OUT (40)
82 
92 void swi_set_pin(uint8_t id);
93 
94 
95 
99 void swi_enable(void);
100 
104 void swi_disable(void);
105 
111 void swi_set_signal_pin(uint8_t is_high);
112 
116 void swi_send_wake_token(void);
117 
124 void swi_send_bytes(uint8_t count, uint8_t *buffer);
125 
131 void swi_send_byte(uint8_t byte);
132 
141 ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer);
142 
143 
144 #endif /* SWI_BITBANG_SAMD21_H_ */
void swi_send_wake_token(void)
Send a Wake Token.
Definition: swi_bitbang_samd21.c:78
-
SWIBuses swi_buses_default
Definition: swi_bitbang_samd21.c:36
-
void swi_enable(void)
Configure GPIO pin for SWI signal as output.
Definition: swi_bitbang_samd21.c:48
-
ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer)
Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_rec...
Definition: swi_bitbang_samd21.c:128
-
ATCA_STATUS
Definition: atca_status.h:41
-
void swi_send_bytes(uint8_t count, uint8_t *buffer)
Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send()...
Definition: swi_bitbang_samd21.c:85
-
void swi_set_signal_pin(uint8_t is_high)
Set signal pin Low or High.
Definition: swi_bitbang_samd21.c:66
-
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
-
#define MAX_SWI_BUSES
SAMD21 xplainned pro has 36 free GPIO pins available.
Definition: swi_bitbang_samd21.h:35
-
Definition: swi_bitbang_samd21.h:38
-
void swi_set_pin(uint8_t id)
Set SWI signal pin. Other functions will use this pin.
Definition: swi_bitbang_samd21.c:43
-
void swi_send_byte(uint8_t byte)
Send one byte.
Definition: swi_bitbang_samd21.c:123
-
void swi_disable(void)
Configure GPIO pin for SWI signal as input.
Definition: swi_bitbang_samd21.c:57
-
Microchip Crypto Auth status codes.
+Go to the documentation of this file.
1 
28 #ifndef SWI_BITBANG_SAMD21_H_
29 #define SWI_BITBANG_SAMD21_H_
30 
31 #include "atca_status.h"
32 #include <delay.h>
33 
34 
35 #define MAX_SWI_BUSES 36
36 
37 
38 typedef struct
39 {
41 } SWIBuses;
42 
44 
45 
52 
55 #define BIT_DELAY_1L delay_us(3)
56 #define BIT_DELAY_1H delay_us(3)
58 
61 #define BIT_DELAY_5 delay_us(26) // considering pin set delay
62 
65 #define BIT_DELAY_7 delay_us(34) // considering pin set delay
66 
69 #define RX_TX_DELAY delay_us(65)
70 
71 
74 #define START_PULSE_TIME_OUT (600)
75 
81 #define ZERO_PULSE_TIME_OUT (40)
82 
92 void swi_set_pin(uint8_t id);
93 
94 
95 
99 void swi_enable(void);
100 
104 void swi_disable(void);
105 
111 void swi_set_signal_pin(uint8_t is_high);
112 
116 void swi_send_wake_token(void);
117 
124 void swi_send_bytes(uint8_t count, uint8_t *buffer);
125 
131 void swi_send_byte(uint8_t byte);
132 
141 ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer);
142 
143 
144 #endif /* SWI_BITBANG_SAMD21_H_ */
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer)
Receive a number of bytes.This function should not be called directly ,instead should use hal_swi_rec...
Definition: swi_bitbang_samd21.c:128
+
uint8_t pin_sda
Definition: i2c_bitbang_samd21.c:40
+
SWIBuses swi_buses_default
Definition: swi_bitbang_samd21.c:36
+
void swi_send_wake_token(void)
Send a Wake Token.
Definition: swi_bitbang_samd21.c:78
+
void swi_send_byte(uint8_t byte)
Send one byte.
Definition: swi_bitbang_samd21.c:123
+
Definition: swi_bitbang_samd21.h:38
+
Microchip Crypto Auth status codes.
+
void swi_send_bytes(uint8_t count, uint8_t *buffer)
Send a number of bytes.This function should not be called directly ,instead should use hal_swi_send()...
Definition: swi_bitbang_samd21.c:85
+
void swi_disable(void)
Configure GPIO pin for SWI signal as input.
Definition: swi_bitbang_samd21.c:57
+
void swi_set_pin(uint8_t id)
Set SWI signal pin. Other functions will use this pin.
Definition: swi_bitbang_samd21.c:43
+
#define MAX_SWI_BUSES
SAMD21 xplainned pro has 36 free GPIO pins available.
Definition: swi_bitbang_samd21.h:35
+
void swi_enable(void)
Configure GPIO pin for SWI signal as output.
Definition: swi_bitbang_samd21.c:48
+
void swi_set_signal_pin(uint8_t is_high)
Set signal pin Low or High.
Definition: swi_bitbang_samd21.c:66
-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers. +

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers. More...

-
#include <asf.h>
-#include "cryptoauthlib.h"
-#include "serial.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
- - - - - - - - - - - -

-Macros

#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   90
 
- - - - -

-Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for SWI UART More...
 
+
#include <stdlib.h>
+#include <stdio.h>
+#include "usart_serial.h"
+#include "swi_uart_at90usb1287_asf.h"
+#include "basic/atca_helpers.h"
+
- - + + - - + + - - + + - - + + - - + + - - + + - - + +

Functions

ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 

Detailed Description

-

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.

+

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.

Prerequisite: add UART Polled support to application in Atmel Studio

@@ -162,7 +134,7 @@
-

Host side methods to support CryptoAuth computations. +

ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers. More...

-
#include "atca_host.h"
-#include "crypto/atca_crypto_sw_sha2.h"
-
+
#include <asf.h>
+#include "cryptoauthlib.h"
+#include "serial.h"
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
+ + + + + + + + + + + +

+Macros

#define MAX_SWI_BUSES   1
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   90
 
+ + + + +

+Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for SWI UART More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

uint8_t * atcah_include_data (struct atca_include_data_in_out *param)
 This function copies otp and sn data into a command buffer. More...
 
ATCA_STATUS atcah_nonce (struct atca_nonce_in_out *param)
 This function calculates host side nonce with the parameters passed. More...
 
ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_out *param)
 Decrypt data that's been encrypted by the IO protection key. The ECDH and KDF commands on the ATECC608A are the only ones that support this operation. More...
 
ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_t *param)
 Calculate the expected MAC on the host side for the Verify command. More...
 
ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_t *param)
 Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac option. More...
 
ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_t *param)
 Calculates the expected MAC returned from the SecureBoot command when verification is a success. More...
 
ATCA_STATUS atcah_mac (struct atca_mac_in_out *param)
 This function generates an SHA-256 digest (MAC) of a key, challenge, and other information. More...
 
ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_out *param)
 This function performs the checkmac operation to generate client response on the host side . More...
 
ATCA_STATUS atcah_hmac (struct atca_hmac_in_out *param)
 This function generates an HMAC / SHA-256 hash of a key and other information. More...
 
ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_out *param)
 This function combines the current TempKey with a stored value. More...
 
ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_out *param)
 This function generates mac with session key with a plain text. More...
 
ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the Write command. More...
 
ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the PrivWrite command. More...
 
ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_out *param)
 This function derives a key with a key and TempKey. More...
 
ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_out *param)
 This function calculates the input MAC for a DeriveKey command. More...
 
ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_out *param)
 This function decrypts 32-byte encrypted data received with the Read command. More...
 
ATCA_STATUS atcah_sha256 (int32_t len, const uint8_t *message, uint8_t *digest)
 This function creates a SHA256 digest on a little-endian system. More...
 
ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_out *param)
 Calculate the PubKey digest created by GenKey and saved to TempKey. More...
 
ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
 Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone. More...
 
ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
 Builds the full message that would be signed by the Sign(Internal) command. More...
 
ATCA_STATUS atcah_encode_counter_match (uint32_t counter_value, uint8_t *counter_match_value)
 Builds the counter match value that needs to be stored in a slot. More...
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 

Detailed Description

-

Host side methods to support CryptoAuth computations.

+

ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.

+

Prerequisite: add UART Polled support to application in Atmel Studio

-

Definitions and Prototypes for ATCA Utility Functions. +

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers. More...

-
#include <stdint.h>
-#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

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

-Data Structures

struct  atca_temp_key
 Structure to hold TempKey fields. More...
 
struct  atca_include_data_in_out
 Input / output parameters for function atca_include_data(). More...
 
struct  atca_nonce_in_out
 Input/output parameters for function atca_nonce(). More...
 
struct  atca_io_decrypt_in_out
 
struct  atca_verify_mac
 
struct  atca_secureboot_enc_in_out
 
struct  atca_secureboot_mac_in_out
 
struct  atca_mac_in_out
 Input/output parameters for function atca_mac(). More...
 
struct  atca_hmac_in_out
 Input/output parameters for function atca_hmac(). More...
 
struct  atca_gen_dig_in_out
 Input/output parameters for function atcah_gen_dig(). More...
 
struct  atca_write_mac_in_out
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
 
struct  atca_derive_key_in_out
 Input/output parameters for function atcah_derive_key(). More...
 
struct  atca_derive_key_mac_in_out
 Input/output parameters for function atcah_derive_key_mac(). More...
 
struct  atca_decrypt_in_out
 Input/output parameters for function atca_decrypt(). More...
 
struct  atca_check_mac_in_out
 Input/output parameters for function atcah_check_mac(). More...
 
struct  atca_verify_in_out
 Input/output parameters for function atcah_verify(). More...
 
struct  atca_gen_key_in_out
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
 
struct  atca_sign_internal_in_out
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

Definitions for ATECC Message Sizes to Calculate a SHA256 Hash

"||" is the concatenation operator. The number in braces is the length of the hash input value in bytes.

-
#define ATCA_MSG_SIZE_NONCE   (55)
 RandOut{32} || NumIn{20} || OpCode{1} || Mode{1} || LSB of Param2{1}. More...
 
#define ATCA_MSG_SIZE_MAC   (88)
 (Key or TempKey){32} || (Challenge or TempKey){32} || OpCode{1} || Mode{1} || Param2{2} || (OTP0_7 or 0){8} || (OTP8_10 or 0){3} || SN8{1} || (SN4_7 or 0){4} || SN0_1{2} || (SN2_3 or 0){2} More...
 
#define ATCA_MSG_SIZE_HMAC   (88)
 
#define ATCA_MSG_SIZE_GEN_DIG   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_DERIVE_KEY   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_DERIVE_KEY_MAC   (39)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2}. More...
 
#define ATCA_MSG_SIZE_ENCRYPT_MAC   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2}|| SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_PRIVWRITE_MAC   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2}|| SN8{1} || SN0_1{2} || 0{21} || PlainText{36}. More...
 
#define ATCA_COMMAND_HEADER_SIZE   ( 4)
 
#define ATCA_GENDIG_ZEROS_SIZE   (25)
 
#define ATCA_WRITE_MAC_ZEROS_SIZE   (25)
 
#define ATCA_PRIVWRITE_MAC_ZEROS_SIZE   (21)
 
#define ATCA_PRIVWRITE_PLAIN_TEXT_SIZE   (36)
 
#define ATCA_DERIVE_KEY_ZEROS_SIZE   (25)
 
#define HMAC_BLOCK_SIZE   (64)
 
#define ENCRYPTION_KEY_SIZE   (64)
 
Default Fixed Byte Values of Serial Number (SN[0:1] and SN[8])
#define ATCA_SN_0_DEF   (0x01)
 
#define ATCA_SN_1_DEF   (0x23)
 
#define ATCA_SN_8_DEF   (0xEE)
 
Definition for TempKey Mode
#define MAC_MODE_USE_TEMPKEY_MASK   ((uint8_t)0x03)
 mode mask for MAC command when using TempKey More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef struct atca_temp_key atca_temp_key_t
 Structure to hold TempKey fields. More...
 
typedef struct atca_nonce_in_out atca_nonce_in_out_t
 
typedef struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t
 
typedef struct atca_verify_mac atca_verify_mac_in_out_t
 
typedef struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t
 
typedef struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t
 
typedef struct atca_mac_in_out atca_mac_in_out_t
 
typedef struct atca_gen_dig_in_out atca_gen_dig_in_out_t
 Input/output parameters for function atcah_gen_dig(). More...
 
typedef struct atca_write_mac_in_out atca_write_mac_in_out_t
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
 
typedef struct atca_check_mac_in_out atca_check_mac_in_out_t
 Input/output parameters for function atcah_check_mac(). More...
 
typedef struct atca_verify_in_out atca_verify_in_out_t
 
typedef struct atca_gen_key_in_out atca_gen_key_in_out_t
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
 
typedef struct atca_sign_internal_in_out atca_sign_internal_in_out_t
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
 
+
#include <stdlib.h>
+#include <stdio.h>
+#include "swi_uart_samd21_asf.h"
+#include "basic/atca_helpers.h"
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atcah_nonce (struct atca_nonce_in_out *param)
 This function calculates host side nonce with the parameters passed. More...
 
ATCA_STATUS atcah_mac (struct atca_mac_in_out *param)
 This function generates an SHA-256 digest (MAC) of a key, challenge, and other information. More...
 
ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_out *param)
 This function performs the checkmac operation to generate client response on the host side . More...
 
ATCA_STATUS atcah_hmac (struct atca_hmac_in_out *param)
 This function generates an HMAC / SHA-256 hash of a key and other information. More...
 
ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_out *param)
 This function combines the current TempKey with a stored value. More...
 
ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_out *param)
 This function generates mac with session key with a plain text. More...
 
ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the Write command. More...
 
ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the PrivWrite command. More...
 
ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_out *param)
 This function derives a key with a key and TempKey. More...
 
ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_out *param)
 This function calculates the input MAC for a DeriveKey command. More...
 
ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_out *param)
 This function decrypts 32-byte encrypted data received with the Read command. More...
 
ATCA_STATUS atcah_sha256 (int32_t len, const uint8_t *message, uint8_t *digest)
 This function creates a SHA256 digest on a little-endian system. More...
 
uint8_t * atcah_include_data (struct atca_include_data_in_out *param)
 This function copies otp and sn data into a command buffer. More...
 
ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_out *param)
 Calculate the PubKey digest created by GenKey and saved to TempKey. More...
 
ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
 Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone. More...
 
ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
 Builds the full message that would be signed by the Sign(Internal) command. More...
 
ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_t *param)
 Calculate the expected MAC on the host side for the Verify command. More...
 
ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_t *param)
 Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac option. More...
 
ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_t *param)
 Calculates the expected MAC returned from the SecureBoot command when verification is a success. More...
 
ATCA_STATUS atcah_encode_counter_match (uint32_t counter, uint8_t *counter_match)
 Builds the counter match value that needs to be stored in a slot. More...
 
ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_out *param)
 Decrypt data that's been encrypted by the IO protection key. The ECDH and KDF commands on the ATECC608A are the only ones that support this operation. More...
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
+ + +

+Variables

struct port_config pin_conf
 

Detailed Description

-

Definitions and Prototypes for ATCA Utility Functions.

+

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.

+

Prerequisite: add UART Polled support to application in Atmel Studio

-

Utilities to create and verify a JSON Web Token (JWT) +

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers. More...

-
#include "cryptoauthlib.h"
-#include "basic/atca_helpers.h"
-#include "crypto/atca_crypto_sw_sha2.h"
-#include "jwt/atca_jwt.h"
-#include <stdio.h>
-
+
#include <asf.h>
+#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+
+ + + + +

+Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
+ + + + + + + + + + + + + + + +

+Macros

#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   90
 
#define DEBUG_PIN_1   EXT2_PIN_5
 
#define DEBUG_PIN_2   EXT2_PIN_6
 
+ + + + +

+Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

void atca_jwt_check_payload_start (atca_jwt_t *jwt)
 Check the provided context to see what character needs to be added in order to append a claim. More...
 
ATCA_STATUS atca_jwt_init (atca_jwt_t *jwt, char *buf, uint16_t buflen)
 Initialize a JWT structure. More...
 
ATCA_STATUS atca_jwt_finalize (atca_jwt_t *jwt, uint16_t key_id)
 Close the claims of a token, encode them, then sign the result. More...
 
ATCA_STATUS atca_jwt_add_claim_string (atca_jwt_t *jwt, const char *claim, const char *value)
 Add a string claim to a token. More...
 
ATCA_STATUS atca_jwt_add_claim_numeric (atca_jwt_t *jwt, const char *claim, int32_t value)
 Add a numeric claim to a token. More...
 
ATCA_STATUS atca_jwt_verify (const char *buf, uint16_t buflen, const uint8_t *pubkey)
 Verifies the signature of a jwt using the provided public key. More...
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 

Detailed Description

-

Utilities to create and verify a JSON Web Token (JWT)

+

ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.

+

Prerequisite: add UART Polled support to application in Atmel Studio

@@ -90,26 +90,26 @@
swi_uart_samd21_asf.h
-Go to the documentation of this file.
1 
30 #ifndef SWI_UART_SAMD21_ASF_H_
31 #define SWI_UART_SAMD21_ASF_H_
32 
33 #include <asf.h>
34 #include "cryptoauthlib.h"
35 
49 #define MAX_SWI_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as UART
50 
51 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
52 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
53 #define RX_DELAY 10 // Delay before responses come
54 #define TX_DELAY 90 // Delay before new flag is sent
55 
56 #define DEBUG_PIN_1 EXT2_PIN_5
57 #define DEBUG_PIN_2 EXT2_PIN_6
58 
60 typedef struct atcaSWImaster
61 {
62  // struct usart_module for Atmel SWI interface
63  struct usart_module usart_instance;
64  int ref_ct;
65  // for conveniences during interface release phase
66  int bus_index;
68 
69 
72 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
73 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
74 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
75 
76 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
77 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
78 
81 #endif // SWI_UART_ASF_H
int ref_ct
Definition: hal_swi_bitbang.h:66
-
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
-
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
-
ATCA_STATUS
Definition: atca_status.h:41
-
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
-
Single aggregation point for all CryptoAuthLib header files.
-
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
-
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
-
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
-
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
-
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
-
usart_if usart_instance
Definition: swi_uart_at90usb1287_asf.h:62
-
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
-
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+Go to the documentation of this file.
1 
30 #ifndef SWI_UART_SAMD21_ASF_H_
31 #define SWI_UART_SAMD21_ASF_H_
32 
33 #include <asf.h>
34 #include "cryptoauthlib.h"
35 
49 #define MAX_SWI_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as UART
50 
51 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
52 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
53 #define RX_DELAY 10 // Delay before responses come
54 #define TX_DELAY 90 // Delay before new flag is sent
55 
56 #define DEBUG_PIN_1 EXT2_PIN_5
57 #define DEBUG_PIN_2 EXT2_PIN_6
58 
60 typedef struct atcaSWImaster
61 {
62  // struct usart_module for Atmel SWI interface
63  struct usart_module usart_instance;
64  int ref_ct;
65  // for conveniences during interface release phase
66  int bus_index;
68 
69 
72 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
73 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
74 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
75 
76 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
77 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
78 
81 #endif // SWI_UART_ASF_H
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
+
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
+
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
+
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
+
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
+
usart_if usart_instance
Definition: swi_uart_at90usb1287_asf.h:62
+
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
+
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
+
Single aggregation point for all CryptoAuthLib header files.
+
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
+
int ref_ct
Definition: hal_swi_bitbang.h:66
+
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
- -

Utilities to create and verify a JSON Web Token (JWT) -More...

-
#include "cryptoauthlib.h"
-
-

Go to the source code of this file.

- - - - - +
#include <stdlib.h>
+#include <stdio.h>
+#include <peripheral_clk_config.h>
+#include "swi_uart_start.h"
+#include "basic/atca_helpers.h"
+

-Data Structures

struct  atca_jwt_t
 Structure to hold metadata information about the jwt being built. More...
 
+ + +

+Macros

#define USART_BAUD_RATE(baud, sercom_freq)   (65536 - ((65536 * 16.0F * baud) / sercom_freq))
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Functions

ATCA_STATUS atca_jwt_init (atca_jwt_t *jwt, char *buf, uint16_t buflen)
 Initialize a JWT structure. More...
 
ATCA_STATUS atca_jwt_add_claim_string (atca_jwt_t *jwt, const char *claim, const char *value)
 Add a string claim to a token. More...
 
ATCA_STATUS atca_jwt_add_claim_numeric (atca_jwt_t *jwt, const char *claim, int32_t value)
 Add a numeric claim to a token. More...
 
ATCA_STATUS atca_jwt_finalize (atca_jwt_t *jwt, uint16_t key_id)
 Close the claims of a token, encode them, then sign the result. More...
 
void atca_jwt_check_payload_start (atca_jwt_t *jwt)
 Check the provided context to see what character needs to be added in order to append a claim. More...
 
ATCA_STATUS atca_jwt_verify (const char *buf, uint16_t buflen, const uint8_t *pubkey)
 Verifies the signature of a jwt using the provided public key. More...
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 

Detailed Description

-

Utilities to create and verify a JSON Web Token (JWT)

- -
+
+

Macro Definition Documentation

+ +

◆ USART_BAUD_RATE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define USART_BAUD_RATE( baud,
 sercom_freq 
)   (65536 - ((65536 * 16.0F * baud) / sercom_freq))
+
+ +
+
+
+
#include <stdlib.h>
+#include "atmel_start.h"
+#include "cryptoauthlib.h"
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
+ + + + + + + + + + + +

+Macros

#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
 
#define TX_DELAY   93
 
+ + + + +

+Typedefs

typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
- - - - - - - - -

Functions

c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party software (including open source software) that may accompany Microchip software. THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS;OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE
 
either version of the or (at your option) any later version. systemd is distributed in the hope that it will be useful
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

-Variables

c Microchip Technology Inc and its subsidiaries Subject to your compliance with these terms
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER EXPRESS
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR STATUTORY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS SOFTWARE
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON INFRINGEMENT
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON MERCHANTABILITY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY SPECIAL
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY PUNITIVE
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL LOSS
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL DAMAGE
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER CAUSED
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY LAW
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF ANY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Ott
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary forms
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without modification
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are met
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright notice
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED INCLUDING
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED TO
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY INCIDENTAL
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY EXEMPLARY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN CONTRACT
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT LIABILITY
 
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR EVEN IF ADVISED OF THE POSSIBILITY OF SUCH this code depends on the libudev h header file with the following license
 
you can redistribute it and or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation
 
either version of the License
 
either version of the but WITHOUT ANY WARRANTY
 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU Lesser General Public License for more details You should have received a copy of the GNU Lesser General Public License along with systemd
 
If not
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
-

Function Documentation

- -

◆ DAMAGES()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL DAMAGES (INCLUDING ,
BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE,
DATA ,
OR PROFITS;OR BUSINESS INTERRUPTION 
)
-
- -
-
- -

◆ or()

- -
-
- - - - - - - - -
either version of the or (at your option)
-
- -
-
- -

◆ software()

- -
-
- - - - - - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party software (including open source software)
-
- -
-
- -

◆ TORT()

- -
-
- - - - - - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-
- -
-
-

Variable Documentation

- -

◆ ANY

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF ANY
-
- -
-
- -

◆ CAUSED

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER CAUSED
-
- -
-
- -

◆ CONTRACT

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN CONTRACT
-
- -
-
- -

◆ DAMAGE

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
-
-Initial value:
===============================================================================
If using the Linux HID driver (lib/hal/hal_linux_kit_hid.c)
-
-
- -

◆ DIRECT

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT
-
- -
-
- -

◆ EXEMPLARY

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY EXEMPLARY
-
- -
-
- -

◆ EXPRESS

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER EXPRESS
-
- -
-
- -

◆ FEES

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES
-
- -
-
- -

◆ forms

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary forms
-
- -
-
- -

◆ Foundation

- -
-
- - - - -
you can redistribute it and or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation
-
- -
-
- -

◆ INCIDENTAL

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY INCIDENTAL
-
- -
-
- -

◆ INCLUDING

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED INCLUDING
-
- -
-
- -

◆ INDIRECT

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT
-
- -
-
- -

◆ INFRINGEMENT

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON INFRINGEMENT
-
- -
-
- -

◆ LAW

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY LAW
-
- -
-
- -

◆ LIABILITY

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT LIABILITY
-
- -
-
- -

◆ license

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR EVEN IF ADVISED OF THE POSSIBILITY OF SUCH this code depends on the libudev h header file with the following license
-
- -
-
- -

◆ License

- -
-
- - - - -
either version of the License
-
- -
-
- -

◆ LOSS

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL LOSS
-
- -
-
- -

◆ MERCHANTABILITY

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON MERCHANTABILITY
-
- -
-
- -

◆ met

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are met
-
- -
-
- -

◆ modification

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without modification
-
- -
-
- -

◆ not

- -
-
- - - - -
If not
-
- -
-
- -

◆ notice

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright notice
-
- -
-
- -

◆ Ott

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Ott
-
- -
-
- -

◆ PUNITIVE

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY PUNITIVE
-
- -
-
- -

◆ SOFTWARE

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE
-
-Initial value:
===============================================================================
If using the cross-platform HID driver (lib/hal/hal_all_platforms_kit_hidapi.c)
this code depends on the hidapi library with the following license:
Copyright (c) 2010
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR EVEN IF ADVISED OF THE POSSIBILITY OF SUCH this code depends on the libudev h header file with the following license
Definition: license.txt:52
-
-
-
- -

◆ SPECIAL

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY SPECIAL
-
- -
-
- -

◆ STATUTORY

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR STATUTORY
-
- -
-
- -

◆ systemd

- -
-
- - - - -
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU Lesser General Public License for more details You should have received a copy of the GNU Lesser General Public License along with systemd
-
- -
-
- -

◆ terms

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these terms
-
- -
-
- -

◆ TO

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED TO
-
- -
-
- -

◆ WARRANTIES

- -
-
- - - - -
c Microchip Technology Inc and its subsidiaries Subject to your compliance with these you may use Microchip software and any derivatives exclusively with Microchip products It is your responsibility to comply with third party license terms applicable to your use of third party WHETHER IMPLIED OR APPLY TO THIS INCLUDING ANY IMPLIED WARRANTIES OF NON AND FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INCIDENTAL OR CONSEQUENTIAL COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE HOWEVER EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE TO THE FULLEST EXTENT ALLOWED BY MICROCHIP S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF IF THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS Alan Signal Software All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer* Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution* Neither the name of Signal Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES
-
- -
-
- -

◆ WARRANTY

- -
-
- - - - -
either version of the but WITHOUT ANY WARRANTY
-
- -
-
-
+

Detailed Description

+
+
@@ -90,27 +90,27 @@
swi_uart_start.h
-Go to the documentation of this file.
1 
29 #ifndef SWI_UART_START_H_
30 #define SWI_UART_START_H_
31 
32 #include <stdlib.h>
33 //#include <hri_sercom_v200.h>
34 #include "atmel_start.h"
35 #include "cryptoauthlib.h"
36 
37 
51 #define MAX_SWI_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as UART
52 
53 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
54 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
55 #define RX_DELAY 10
56 #define TX_DELAY 93
57 
59 typedef struct atcaSWImaster
60 {
61  // struct usart_module for Atmel SWI interface
62  struct usart_sync_descriptor USART_SWI;
63  uint32_t sercom_core_freq;
64  int ref_ct;
65  // for conveniences during interface release phase
66  int bus_index;
68 
71 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
72 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
73 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
74 
75 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
76 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
79 #endif // SWI_UART_START_H_
int ref_ct
Definition: hal_swi_bitbang.h:66
-
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
-
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
-
ATCA_STATUS
Definition: atca_status.h:41
-
uint32_t sercom_core_freq
Definition: swi_uart_start.h:63
-
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
-
Single aggregation point for all CryptoAuthLib header files.
-
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
-
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
-
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
-
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
-
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
-
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
-
struct usart_sync_descriptor USART_SWI
Definition: swi_uart_start.h:62
-
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+Go to the documentation of this file.
1 
29 #ifndef SWI_UART_START_H_
30 #define SWI_UART_START_H_
31 
32 #include <stdlib.h>
33 //#include <hri_sercom_v200.h>
34 #include "atmel_start.h"
35 #include "cryptoauthlib.h"
36 
37 
51 #define MAX_SWI_BUSES 6 // SAMD21 has up to 6 SERCOMS that can be configured as UART
52 
53 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
54 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
55 #define RX_DELAY 10
56 #define TX_DELAY 93
57 
59 typedef struct atcaSWImaster
60 {
61  // struct usart_module for Atmel SWI interface
62  struct usart_sync_descriptor USART_SWI;
63  uint32_t sercom_core_freq;
64  int ref_ct;
65  // for conveniences during interface release phase
66  int bus_index;
68 
71 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
72 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
73 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
74 
75 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
76 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
79 #endif // SWI_UART_START_H_
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
+
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
+
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
+
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
+
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for ASF SERCOM
+
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
+
uint32_t sercom_core_freq
Definition: swi_uart_start.h:63
+
struct usart_sync_descriptor USART_SWI
Definition: swi_uart_start.h:62
+
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
+
Single aggregation point for all CryptoAuthLib header files.
+
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
+
int ref_ct
Definition: hal_swi_bitbang.h:66
+
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
@@ -90,26 +90,26 @@
swi_uart_xmega_a3bu_asf.h
-Go to the documentation of this file.
1 
30 #ifndef SWI_UART_XMEGA_A3BU_ASF_H_
31 #define SWI_UART_XMEGA_A3BU_ASF_H_
32 
33 #include <asf.h>
34 #include "cryptoauthlib.h"
35 #include "serial.h"
36 
50 #define MAX_SWI_BUSES 6 // XMEGA A3BU has up to 6 ports
51 
52 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
53 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
54 #define RX_DELAY 10 // Delay before responses come
55 #define TX_DELAY 90 // Delay before new flag is sent
56 
59 typedef struct atcaSWImaster
60 {
61  // struct usart_module for Atmel SWI interface
62  usart_if usart_instance;
63  int ref_ct;
64  // for conveniences during interface release phase
65  int bus_index;
67 
68 
71 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
72 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
73 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
74 
75 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
76 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
77 
80 #endif // SWI_UART_XMEGA_A3BU_ASF_H
int ref_ct
Definition: hal_swi_bitbang.h:66
-
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
-
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
-
ATCA_STATUS
Definition: atca_status.h:41
-
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
-
Single aggregation point for all CryptoAuthLib header files.
-
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
-
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for SWI UART
-
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
-
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
-
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
-
usart_if usart_instance
Definition: swi_uart_at90usb1287_asf.h:62
-
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
-
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+Go to the documentation of this file.
1 
30 #ifndef SWI_UART_XMEGA_A3BU_ASF_H_
31 #define SWI_UART_XMEGA_A3BU_ASF_H_
32 
33 #include <asf.h>
34 #include "cryptoauthlib.h"
35 #include "serial.h"
36 
50 #define MAX_SWI_BUSES 6 // XMEGA A3BU has up to 6 ports
51 
52 #define RECEIVE_MODE 0 // UART Receive mode, RX enabled
53 #define TRANSMIT_MODE 1 // UART Transmit mode, RX disabled
54 #define RX_DELAY 10 // Delay before responses come
55 #define TX_DELAY 90 // Delay before new flag is sent
56 
59 typedef struct atcaSWImaster
60 {
61  // struct usart_module for Atmel SWI interface
62  usart_if usart_instance;
63  int ref_ct;
64  // for conveniences during interface release phase
65  int bus_index;
67 
68 
71 void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate);
72 void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode);
73 void swi_uart_discover_buses(int swi_uart_buses[], int max_buses);
74 
75 ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data);
76 ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data);
77 
80 #endif // SWI_UART_XMEGA_A3BU_ASF_H
ATCA_STATUS
Definition: atca_status.h:41
+
ATCA_STATUS swi_uart_send_byte(ATCASWIMaster_t *instance, uint8_t data)
HAL implementation of SWI UART send byte over ASF. This function send one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:160
+
ATCA_STATUS swi_uart_init(ATCASWIMaster_t *instance)
Implementation of SWI UART init.
Definition: swi_uart_at90usb1287_asf.c:64
+
void swi_uart_discover_buses(int swi_uart_buses[], int max_buses)
discover UART buses available for this hardware this maintains a list of logical to physical bus mapp...
Definition: swi_uart_at90usb1287_asf.c:146
+
void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode)
implementation of SWI UART change mode.
Definition: swi_uart_at90usb1287_asf.c:122
+
struct atcaSWImaster ATCASWIMaster_t
this is the hal_data for ATCA HAL for SWI UART
+
usart_if usart_instance
Definition: swi_uart_at90usb1287_asf.h:62
+
ATCA_STATUS swi_uart_receive_byte(ATCASWIMaster_t *instance, uint8_t *data)
HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART...
Definition: swi_uart_at90usb1287_asf.c:209
+
void swi_uart_setbaud(ATCASWIMaster_t *instance, uint32_t baudrate)
implementation of SWI UART change baudrate.
Definition: swi_uart_at90usb1287_asf.c:110
+
Single aggregation point for all CryptoAuthLib header files.
+
int bus_index
for conveniences during interface release phase
Definition: hal_swi_bitbang.h:68
+
ATCA_STATUS swi_uart_deinit(ATCASWIMaster_t *instance)
Implementation of SWI UART deinit.
Definition: swi_uart_at90usb1287_asf.c:98
+
int ref_ct
Definition: hal_swi_bitbang.h:66
+
This is the hal_data for ATCA HAL.
Definition: hal_swi_bitbang.h:63
@@ -90,173 +90,173 @@
atca_host.h
-Go to the documentation of this file.
1 
29 #ifndef ATCA_HOST_H
30 #define ATCA_HOST_H
31 
32 #include <stdint.h>
33 #include "cryptoauthlib.h" // contains definitions used by chip and these routines
34 
54 #define ATCA_MSG_SIZE_NONCE (55)
56 
57 
61 #define ATCA_MSG_SIZE_MAC (88)
62 #define ATCA_MSG_SIZE_HMAC (88)
63 
65 #define ATCA_MSG_SIZE_GEN_DIG (96)
66 
67 
69 #define ATCA_MSG_SIZE_DERIVE_KEY (96)
70 
71 
73 #define ATCA_MSG_SIZE_DERIVE_KEY_MAC (39)
74 
76 #define ATCA_MSG_SIZE_ENCRYPT_MAC (96)
77 
79 #define ATCA_MSG_SIZE_PRIVWRITE_MAC (96)
80 
81 #define ATCA_COMMAND_HEADER_SIZE ( 4)
82 #define ATCA_GENDIG_ZEROS_SIZE (25)
83 #define ATCA_WRITE_MAC_ZEROS_SIZE (25)
84 #define ATCA_PRIVWRITE_MAC_ZEROS_SIZE (21)
85 #define ATCA_PRIVWRITE_PLAIN_TEXT_SIZE (36)
86 #define ATCA_DERIVE_KEY_ZEROS_SIZE (25)
87 #define HMAC_BLOCK_SIZE (64)
88 #define ENCRYPTION_KEY_SIZE (64)
89 
94 #define ATCA_SN_0_DEF (0x01)
95 #define ATCA_SN_1_DEF (0x23)
96 #define ATCA_SN_8_DEF (0xEE)
97 
102 #define MAC_MODE_USE_TEMPKEY_MASK ((uint8_t)0x03)
104 
108 typedef struct atca_temp_key
109 {
110  uint8_t value[ATCA_KEY_SIZE * 2];
111  unsigned key_id : 4;
112  unsigned source_flag : 1;
113  unsigned gen_dig_data : 1;
114  unsigned gen_key_data : 1;
115  unsigned no_mac_flag : 1;
116  unsigned valid : 1;
117  uint8_t is_64;
119 
120 
131 {
132  uint8_t * p_temp;
133  const uint8_t *otp;
134  const uint8_t *sn;
135  uint8_t mode;
136 };
137 
138 
152 typedef struct atca_nonce_in_out
153 {
154  uint8_t mode;
155  uint16_t zero;
156  const uint8_t * num_in;
157  const uint8_t * rand_out;
160 
161 
163 {
164  const uint8_t* io_key;
165  const uint8_t* out_nonce;
166  uint8_t* data;
167  size_t data_size;
169 
170 typedef struct atca_verify_mac
171 {
172  uint8_t mode;
173  uint16_t key_id;
174  const uint8_t* signature;
175  const uint8_t* other_data;
176  const uint8_t* msg_dig_buf;
177  const uint8_t* io_key;
178  const uint8_t* sn;
180  uint8_t* mac;
182 
183 
185 {
186  const uint8_t* io_key;
187  const struct atca_temp_key* temp_key;
188  const uint8_t* digest;
189  uint8_t* hashed_key;
190  uint8_t* digest_enc;
192 
193 
195 {
196  uint8_t mode;
197  uint16_t param2;
199  const uint8_t* hashed_key;
200  const uint8_t* digest;
201  const uint8_t* signature;
202  uint8_t* mac;
204 
227 typedef struct atca_mac_in_out
228 {
229  uint8_t mode;
230  uint16_t key_id;
231  const uint8_t * challenge;
232  const uint8_t * key;
233  const uint8_t * otp;
234  const uint8_t * sn;
235  uint8_t * response;
238 
239 
258 {
259  uint8_t mode;
260  uint16_t key_id;
261  const uint8_t * key;
262  const uint8_t * otp;
263  const uint8_t * sn;
264  uint8_t * response;
266 };
267 
268 
272 typedef struct atca_gen_dig_in_out
273 {
274  uint8_t zone;
275  uint16_t key_id;
277  const uint8_t * sn;
278  const uint8_t * stored_value;
279  const uint8_t * other_data;
282 
286 typedef struct atca_write_mac_in_out
287 {
288  uint8_t zone;
289  uint16_t key_id;
290  const uint8_t * sn;
291  const uint8_t * input_data;
292  uint8_t * encrypted_data;
293  uint8_t * auth_mac;
296 
301 {
302  uint8_t mode;
303  uint16_t target_key_id;
304  const uint8_t * sn;
305  const uint8_t * parent_key;
306  uint8_t * target_key;
308 };
309 
310 
315 {
316  uint8_t mode;
317  uint16_t target_key_id;
318  const uint8_t *sn;
319  const uint8_t *parent_key;
320  uint8_t * mac;
321 };
322 
323 
332 {
333  uint8_t * crypto_data;
335 };
336 
337 
340 typedef struct atca_check_mac_in_out
341 {
342  uint8_t mode;
343  uint16_t key_id;
344  const uint8_t *sn;
345  const uint8_t *client_chal;
346  uint8_t * client_resp;
347  const uint8_t *other_data;
348  const uint8_t *otp;
349  const uint8_t *slot_key;
350  const uint8_t * target_key;
355 
356 
368 typedef struct atca_verify_in_out
369 {
370  uint16_t curve_type;
371  const uint8_t * signature;
372  const uint8_t * public_key;
375 
380 typedef struct atca_gen_key_in_out
381 {
382  uint8_t mode;
383  uint16_t key_id;
384  const uint8_t * public_key;
386  const uint8_t * other_data;
387  const uint8_t * sn;
390 
396 {
397  uint8_t mode;
398  uint16_t key_id;
399  uint16_t slot_config;
400  uint16_t key_config;
401  uint8_t use_flag;
402  uint8_t update_count;
405  const uint8_t * sn;
406  const struct atca_temp_key *temp_key;
407  uint8_t* message;
408  uint8_t* verify_other_data;
409  uint8_t* digest;
411 
412 #ifdef __cplusplus
413 extern "C" {
414 #endif
415 
417 ATCA_STATUS atcah_mac(struct atca_mac_in_out *param);
427 ATCA_STATUS atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest);
428 uint8_t *atcah_include_data(struct atca_include_data_in_out *param);
430 ATCA_STATUS atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t* config);
435 ATCA_STATUS atcah_encode_counter_match(uint32_t counter, uint8_t * counter_match);
437 #ifdef __cplusplus
438 }
439 #endif
440 
443 #endif //ATCA_HOST_H
uint8_t mode
Mode (param 1) of the derive key command.
Definition: atca_host.h:302
-
uint8_t * target_key
Derived key will be returned here (32 bytes).
Definition: atca_host.h:306
-
uint8_t value[ATCA_KEY_SIZE *2]
Value of TempKey (64 bytes for ATECC608A only)
Definition: atca_host.h:110
-
ATCA_STATUS atcah_nonce(struct atca_nonce_in_out *param)
This function calculates host side nonce with the parameters passed.
Definition: atca_host.c:96
-
uint16_t curve_type
[in] Curve type used in Verify command (Param2).
Definition: atca_host.h:370
-
unsigned gen_dig_data
TempKey was derived from the GenDig command.
Definition: atca_host.h:113
-
struct atca_verify_in_out atca_verify_in_out_t
-
Input/output parameters for function atca_hmac().
Definition: atca_host.h:257
-
uint16_t key_id
KeyID (Param2) used in Verify command.
Definition: atca_host.h:173
-
const uint8_t * stored_value
[in] 32-byte slot value, config block, OTP block as specified by the Zone/KeyId parameters ...
Definition: atca_host.h:278
-
Definition: atca_host.h:184
-
const uint8_t * signature
Signature used in Verify command (64 bytes).
Definition: atca_host.h:174
-
const uint8_t * key
[in] Pointer to 32-byte key used to generate MAC digest.
Definition: atca_host.h:232
-
ATCA_STATUS atcah_write_auth_mac(struct atca_write_mac_in_out *param)
This function calculates the input MAC for the Write command.
Definition: atca_host.c:876
-
uint8_t mode
SecureBoot mode (param1)
Definition: atca_host.h:196
-
ATCA_STATUS atcah_gen_mac(struct atca_gen_dig_in_out *param)
This function generates mac with session key with a plain text.
Definition: atca_host.c:796
-
struct atca_temp_key atca_temp_key_t
Structure to hold TempKey fields.
-
uint8_t is_64
TempKey has 64 bytes of valid data.
Definition: atca_host.h:117
-
const uint8_t * io_key
IO protection key (32 bytes).
Definition: atca_host.h:164
-
ATCA_STATUS atcah_verify_mac(atca_verify_mac_in_out_t *param)
Calculate the expected MAC on the host side for the Verify command.
Definition: atca_host.c:227
-
const uint8_t * parent_key
Parent key to be used in the derive key calculation (32 bytes).
Definition: atca_host.h:319
-
const uint8_t * rand_out
[in] Pointer to 32-byte RandOut data from Nonce command.
Definition: atca_host.h:157
-
Input/output parameters for function atca_decrypt().
Definition: atca_host.h:331
-
const uint8_t * num_in
[in] Pointer to 20-byte NumIn data used in Nonce command.
Definition: atca_host.h:156
-
const struct atca_temp_key * temp_key
[in] The current state of TempKey.
Definition: atca_host.h:406
-
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:290
-
Input / output parameters for function atca_include_data().
Definition: atca_host.h:130
-
Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac().
Definition: atca_host.h:286
-
ATCA_STATUS atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param)
This function calculates the input MAC for the PrivWrite command.
Definition: atca_host.c:951
-
size_t data_size
Size of data in bytes (32 or 64).
Definition: atca_host.h:167
-
uint16_t target_key_id
Key ID (param 2) of the target slot to run the command on.
Definition: atca_host.h:317
-
ATCA_STATUS atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest)
This function creates a SHA256 digest on a little-endian system.
Definition: atca_host.c:1230
-
size_t public_key_size
[in] Total number of bytes in the public key. 64 bytes for P256 curve.
Definition: atca_host.h:385
-
Input/output parameters for function atca_mac().
Definition: atca_host.h:227
-
uint8_t mode
[in] CheckMac command Mode
Definition: atca_host.h:342
-
ATCA_STATUS atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match)
Builds the counter match value that needs to be stored in a slot.
Definition: atca_host.c:1447
-
const uint8_t * sn
[in] pointer to serial number data
Definition: atca_host.h:134
-
const uint8_t * msg_dig_buf
Message digest buffer (64 bytes).
Definition: atca_host.h:176
-
ATCA_STATUS
Definition: atca_status.h:41
-
unsigned gen_key_data
TempKey was derived from the GenKey command (ATECC devices only).
Definition: atca_host.h:114
-
Definition: atca_host.h:170
-
ATCA_STATUS atcah_hmac(struct atca_hmac_in_out *param)
This function generates an HMAC / SHA-256 hash of a key and other information.
Definition: atca_host.c:585
-
ATCA_STATUS atcah_io_decrypt(struct atca_io_decrypt_in_out *param)
Decrypt data that&#39;s been encrypted by the IO protection key. The ECDH and KDF commands on the ATECC60...
Definition: atca_host.c:186
-
ATCA_STATUS atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param)
Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac optio...
Definition: atca_host.c:314
-
struct atca_temp_key * temp_key
[in,out] Pointer to TempKey structure.
Definition: atca_host.h:158
-
uint8_t mode
[in] Sign Mode
Definition: atca_host.h:397
-
uint16_t zero
[in] Zero parameter used in Nonce command (Param2).
Definition: atca_host.h:155
-
Input/output parameters for function atcah_verify().
Definition: atca_host.h:368
-
uint8_t zone
Zone/Param1 for the Write or PrivWrite command.
Definition: atca_host.h:288
-
const uint8_t * sn
[in] Device serial number SN[0:8] (9 bytes)
Definition: atca_host.h:405
-
Input/output parameters for function atcah_derive_key_mac().
Definition: atca_host.h:314
-
uint16_t secure_boot_config
SecureBootConfig value from configuration zone.
Definition: atca_host.h:198
-
struct atca_sign_internal_in_out atca_sign_internal_in_out_t
Input/output parameters for calculating the message and digest used by the Sign(internal) command...
-
uint8_t * crypto_data
[in,out] Pointer to 32-byte data. Input encrypted data from Read command (Contents field)...
Definition: atca_host.h:333
-
Input/output parameters for function atcah_gen_dig().
Definition: atca_host.h:272
-
uint16_t key_id
[in] GenKey KeyID
Definition: atca_host.h:383
-
struct atca_temp_key * temp_key
[inout] Current state of TempKey
Definition: atca_host.h:280
-
const uint8_t * slot_key
Definition: atca_host.h:349
-
const uint8_t * other_data
[in] 3 bytes required when bit 4 of the mode is set. Can be NULL otherwise.
Definition: atca_host.h:386
-
struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t
-
uint8_t * verify_other_data
[out] The 19 byte OtherData bytes to be used with the Verify(In/Validate) command. Can be NULL if not required.
Definition: atca_host.h:408
-
Single aggregation point for all CryptoAuthLib header files.
-
uint8_t mode
Mode (param 1) of the derive key command.
Definition: atca_host.h:316
-
uint8_t update_count
[in] UpdateCount[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A ...
Definition: atca_host.h:402
-
uint8_t * message
[out] Full 55 byte message the Sign(internal) command will build. Can be NULL if not required...
Definition: atca_host.h:407
-
struct atca_verify_mac atca_verify_mac_in_out_t
-
uint8_t * mac
DeriveKey MAC will be returned here.
Definition: atca_host.h:320
-
Input/output parameters for calculating the message and digest used by the Sign(internal) command...
Definition: atca_host.h:395
-
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:318
-
struct atca_write_mac_in_out atca_write_mac_in_out_t
Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac().
-
uint8_t mode
Mode (Param1) parameter used in Verify command.
Definition: atca_host.h:172
-
uint16_t key_id
[in] Sign KeyID
Definition: atca_host.h:398
-
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
-
Input/output parameters for function atcah_check_mac().
Definition: atca_host.h:340
-
struct atca_mac_in_out atca_mac_in_out_t
-
ATCA_STATUS atcah_decrypt(struct atca_decrypt_in_out *param)
This function decrypts 32-byte encrypted data received with the Read command.
Definition: atca_host.c:1182
-
const uint8_t * io_key
IO protection key value (32 bytes)
Definition: atca_host.h:186
-
uint8_t use_flag
[in] UseFlag[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A
Definition: atca_host.h:401
-
uint16_t key_id
[in] KeyID parameter used in MAC command (Param2).
Definition: atca_host.h:230
-
struct atca_temp_key * temp_key
[in,out] Current state of TempKey. Required if mode[0] or mode[1] are 1.
Definition: atca_host.h:353
-
struct atca_check_mac_in_out atca_check_mac_in_out_t
Input/output parameters for function atcah_check_mac().
-
const uint8_t * sn
[in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:344
-
ATCA_STATUS atcah_gen_key_msg(struct atca_gen_key_in_out *param)
Calculate the PubKey digest created by GenKey and saved to TempKey.
Definition: atca_host.c:1242
-
Definition: atca_host.h:162
-
bool is_key_nomac
[in] Set to true if the slot pointed to be key_id has the SotConfig.NoMac bit set ...
Definition: atca_host.h:276
-
Structure to hold TempKey fields.
Definition: atca_host.h:108
-
const uint8_t * public_key
[in] Pointer to the public key to be used for verification
Definition: atca_host.h:372
-
const uint8_t * digest
Digest (unencrypted)
Definition: atca_host.h:200
-
struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t
-
const uint8_t * other_data
OtherData used in Verify command (19 bytes).
Definition: atca_host.h:175
-
ATCA_STATUS atcah_derive_key(struct atca_derive_key_in_out *param)
This function derives a key with a key and TempKey.
Definition: atca_host.c:1048
-
struct atca_gen_dig_in_out atca_gen_dig_in_out_t
Input/output parameters for function atcah_gen_dig().
-
struct atca_temp_key * temp_key
Current state of TempKey.
Definition: atca_host.h:307
-
bool for_invalidate
[in] Set to true if this will be used for the Verify(Invalidate) command.
Definition: atca_host.h:404
-
struct atca_gen_key_in_out atca_gen_key_in_out_t
Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with...
-
uint16_t param2
SecureBoot param2.
Definition: atca_host.h:197
-
const uint8_t * sn
[in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:277
-
uint8_t * mac
MAC is returned here.
Definition: atca_host.h:202
-
unsigned key_id
If TempKey was derived from a slot or transport key (GenDig or GenKey), that key ID is saved here...
Definition: atca_host.h:111
-
uint8_t * data
As input, encrypted data. As output, decrypted data.
Definition: atca_host.h:166
-
uint8_t * atcah_include_data(struct atca_include_data_in_out *param)
This function copies otp and sn data into a command buffer.
Definition: atca_host.c:37
-
uint8_t * encrypted_data
Encrypted version of input_data will be returned here. 32 bytes for Write command, 36 bytes for PrivWrite command.
Definition: atca_host.h:292
-
const uint8_t * signature
[in] Pointer to ECDSA signature to be verified
Definition: atca_host.h:371
-
Input/output parameters for function atca_nonce().
Definition: atca_host.h:152
-
ATCA_STATUS atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out stru...
Definition: atca_host.c:1311
-
uint16_t key_config
[in] KeyConfig[TempKeyFlags.keyId]
Definition: atca_host.h:400
-
uint8_t * client_resp
[out] Calculated ClientResp will be returned here.
Definition: atca_host.h:346
-
struct atca_temp_key * temp_key
[in,out] As input the current state of TempKey. As output, the resulting PubKEy digest.
Definition: atca_host.h:388
-
const uint8_t * challenge
[in] Pointer to 32-byte Challenge data used in MAC command, depending on mode.
Definition: atca_host.h:231
-
uint16_t key_id
KeyID/Param2 for the Write or PrivWrite command.
Definition: atca_host.h:289
-
uint8_t * auth_mac
Write MAC will be returned here. 32 bytes.
Definition: atca_host.h:293
-
const uint8_t * hashed_key
Hashed key. SHA256(IO Protection Key | TempKey)
Definition: atca_host.h:199
-
unsigned source_flag
Indicates id TempKey started from a random nonce (0) or not (1).
Definition: atca_host.h:112
-
unsigned valid
TempKey is valid.
Definition: atca_host.h:116
-
const uint8_t * out_nonce
OutNonce returned from command (32 bytes).
Definition: atca_host.h:165
-
const uint8_t * sn
Serial number (9 bytes).
Definition: atca_host.h:178
-
uint8_t zone
[in] Zone/Param1 for the GenDig command
Definition: atca_host.h:274
-
const uint8_t * sn
[in] Device serial number SN[0:8] (9 bytes). Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:387
-
const uint8_t * digest
Plaintext digest as input.
Definition: atca_host.h:188
-
uint8_t * digest
[out] SHA256 digest of the full 55 byte message. Can be NULL if not required.
Definition: atca_host.h:409
-
const uint8_t * otp
[in] pointer to one-time-programming data
Definition: atca_host.h:133
-
const uint8_t * client_chal
[in] ClientChal data, 32 bytes. Can be NULL if mode[0] is 1.
Definition: atca_host.h:345
-
const uint8_t * other_data
[in] OtherData, 13 bytes
Definition: atca_host.h:347
-
struct atca_temp_key * temp_key
Current state of TempKey.
Definition: atca_host.h:294
-
uint8_t * p_temp
[out] pointer to output buffer
Definition: atca_host.h:132
-
struct atca_nonce_in_out atca_nonce_in_out_t
-
const uint8_t * public_key
[in] Public key to be used in the PubKey digest. X and Y integers in big-endian format. 64 bytes for P256 curve.
Definition: atca_host.h:384
-
const uint8_t * signature
Signature (can be NULL if not required)
Definition: atca_host.h:201
-
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:304
-
ATCA_STATUS atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
Builds the full message that would be signed by the Sign(Internal) command.
Definition: atca_host.c:1360
-
#define ATCA_KEY_SIZE
size of a symmetric SHA key
Definition: atca_command.h:241
-
uint8_t * hashed_key
Calculated key is returned here (32 bytes)
Definition: atca_host.h:189
-
const uint8_t * parent_key
Parent key to be used in the derive key calculation (32 bytes).
Definition: atca_host.h:305
-
const uint8_t * io_key
IO protection key value (32 bytes).
Definition: atca_host.h:177
-
ATCA_STATUS atcah_gen_dig(struct atca_gen_dig_in_out *param)
This function combines the current TempKey with a stored value.
Definition: atca_host.c:696
-
const struct atca_temp_key * temp_key
Current value of TempKey.
Definition: atca_host.h:187
-
const uint8_t * other_data
[in] 32-byte value for shared nonce zone, 4-byte value if is_key_nomac is true, ignored and/or NULL o...
Definition: atca_host.h:279
-
Definition: atca_host.h:194
-
unsigned no_mac_flag
TempKey was derived from a key that has the NoMac bit set preventing the use of the MAC command...
Definition: atca_host.h:115
-
uint16_t target_key_id
Key ID (param 2) of the target slot to run the command on.
Definition: atca_host.h:303
-
uint8_t * mac
Calculated verification MAC is returned here (32 bytes).
Definition: atca_host.h:180
-
bool is_slot_locked
[in] Is TempKeyFlags.keyId slot locked.
Definition: atca_host.h:403
-
uint8_t mode
[in] Mode parameter used in Nonce command (Param1).
Definition: atca_host.h:154
-
ATCA_STATUS atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param)
Calculates the expected MAC returned from the SecureBoot command when verification is a success...
Definition: atca_host.c:350
-
ATCA_STATUS atcah_mac(struct atca_mac_in_out *param)
This function generates an SHA-256 digest (MAC) of a key, challenge, and other information.
Definition: atca_host.c:400
-
uint16_t key_id
[in] CheckMac command KeyID
Definition: atca_host.h:343
-
Input/output parameters for function atcah_derive_key().
Definition: atca_host.h:300
-
uint8_t mode
[in] GenKey Mode
Definition: atca_host.h:382
-
uint8_t mode
Definition: atca_host.h:135
-
ATCA_STATUS atcah_check_mac(struct atca_check_mac_in_out *param)
This function performs the checkmac operation to generate client response on the host side ...
Definition: atca_host.c:481
-
const uint8_t * otp
[in] First 8 bytes of the OTP zone data. Can be NULL is mode[5] is 0.
Definition: atca_host.h:348
-
const uint8_t * input_data
Data to be encrypted. 32 bytes for Write command, 36 bytes for PrivWrite command. ...
Definition: atca_host.h:291
-
const uint8_t * target_key
Definition: atca_host.h:352
-
uint8_t * digest_enc
Encrypted (ciphertext) digest is return here (32 bytes)
Definition: atca_host.h:190
-
uint16_t key_id
[in] KeyId/Param2 for the GenDig command
Definition: atca_host.h:275
-
Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with...
Definition: atca_host.h:380
-
ATCA_STATUS atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param)
This function calculates the input MAC for a DeriveKey command.
Definition: atca_host.c:1123
-
uint8_t * response
[out] Pointer to 32-byte SHA-256 digest (MAC).
Definition: atca_host.h:235
-
const atca_temp_key_t * temp_key
TempKey.
Definition: atca_host.h:179
-
uint16_t slot_config
[in] SlotConfig[TempKeyFlags.keyId]
Definition: atca_host.h:399
-
struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t
+Go to the documentation of this file.
1 
29 #ifndef ATCA_HOST_H
30 #define ATCA_HOST_H
31 
32 #include <stdint.h>
33 #include "cryptoauthlib.h" // contains definitions used by chip and these routines
34 
54 #define ATCA_MSG_SIZE_NONCE (55)
56 
57 
61 #define ATCA_MSG_SIZE_MAC (88)
62 #define ATCA_MSG_SIZE_HMAC (88)
63 
65 #define ATCA_MSG_SIZE_GEN_DIG (96)
66 
67 
69 #define ATCA_MSG_SIZE_DERIVE_KEY (96)
70 
71 
73 #define ATCA_MSG_SIZE_DERIVE_KEY_MAC (39)
74 
76 #define ATCA_MSG_SIZE_ENCRYPT_MAC (96)
77 
79 #define ATCA_MSG_SIZE_PRIVWRITE_MAC (96)
80 
81 #define ATCA_COMMAND_HEADER_SIZE ( 4)
82 #define ATCA_GENDIG_ZEROS_SIZE (25)
83 #define ATCA_WRITE_MAC_ZEROS_SIZE (25)
84 #define ATCA_PRIVWRITE_MAC_ZEROS_SIZE (21)
85 #define ATCA_PRIVWRITE_PLAIN_TEXT_SIZE (36)
86 #define ATCA_DERIVE_KEY_ZEROS_SIZE (25)
87 #define HMAC_BLOCK_SIZE (64)
88 #define ENCRYPTION_KEY_SIZE (64)
89 
94 #define ATCA_SN_0_DEF (0x01)
95 #define ATCA_SN_1_DEF (0x23)
96 #define ATCA_SN_8_DEF (0xEE)
97 
102 #define MAC_MODE_USE_TEMPKEY_MASK ((uint8_t)0x03)
104 
108 typedef struct atca_temp_key
109 {
110  uint8_t value[ATCA_KEY_SIZE * 2];
111  unsigned key_id : 4;
112  unsigned source_flag : 1;
113  unsigned gen_dig_data : 1;
114  unsigned gen_key_data : 1;
115  unsigned no_mac_flag : 1;
116  unsigned valid : 1;
117  uint8_t is_64;
119 
120 
131 {
132  uint8_t * p_temp;
133  const uint8_t *otp;
134  const uint8_t *sn;
135  uint8_t mode;
136 };
137 
138 
152 typedef struct atca_nonce_in_out
153 {
154  uint8_t mode;
155  uint16_t zero;
156  const uint8_t * num_in;
157  const uint8_t * rand_out;
160 
161 
163 {
164  const uint8_t* io_key;
165  const uint8_t* out_nonce;
166  uint8_t* data;
167  size_t data_size;
169 
170 typedef struct atca_verify_mac
171 {
172  uint8_t mode;
173  uint16_t key_id;
174  const uint8_t* signature;
175  const uint8_t* other_data;
176  const uint8_t* msg_dig_buf;
177  const uint8_t* io_key;
178  const uint8_t* sn;
180  uint8_t* mac;
182 
183 
185 {
186  const uint8_t* io_key;
187  const struct atca_temp_key* temp_key;
188  const uint8_t* digest;
189  uint8_t* hashed_key;
190  uint8_t* digest_enc;
192 
193 
195 {
196  uint8_t mode;
197  uint16_t param2;
199  const uint8_t* hashed_key;
200  const uint8_t* digest;
201  const uint8_t* signature;
202  uint8_t* mac;
204 
227 typedef struct atca_mac_in_out
228 {
229  uint8_t mode;
230  uint16_t key_id;
231  const uint8_t * challenge;
232  const uint8_t * key;
233  const uint8_t * otp;
234  const uint8_t * sn;
235  uint8_t * response;
238 
239 
258 {
259  uint8_t mode;
260  uint16_t key_id;
261  const uint8_t * key;
262  const uint8_t * otp;
263  const uint8_t * sn;
264  uint8_t * response;
266 };
267 
268 
272 typedef struct atca_gen_dig_in_out
273 {
274  uint8_t zone;
275  uint16_t key_id;
277  const uint8_t * sn;
278  const uint8_t * stored_value;
279  const uint8_t * other_data;
282 
286 typedef struct atca_write_mac_in_out
287 {
288  uint8_t zone;
289  uint16_t key_id;
290  const uint8_t * sn;
291  const uint8_t * input_data;
292  uint8_t * encrypted_data;
293  uint8_t * auth_mac;
296 
301 {
302  uint8_t mode;
303  uint16_t target_key_id;
304  const uint8_t * sn;
305  const uint8_t * parent_key;
306  uint8_t * target_key;
308 };
309 
310 
315 {
316  uint8_t mode;
317  uint16_t target_key_id;
318  const uint8_t *sn;
319  const uint8_t *parent_key;
320  uint8_t * mac;
321 };
322 
323 
332 {
333  uint8_t * crypto_data;
335 };
336 
337 
340 typedef struct atca_check_mac_in_out
341 {
342  uint8_t mode;
343  uint16_t key_id;
344  const uint8_t *sn;
345  const uint8_t *client_chal;
346  uint8_t * client_resp;
347  const uint8_t *other_data;
348  const uint8_t *otp;
349  const uint8_t *slot_key;
350  const uint8_t * target_key;
355 
356 
368 typedef struct atca_verify_in_out
369 {
370  uint16_t curve_type;
371  const uint8_t * signature;
372  const uint8_t * public_key;
375 
380 typedef struct atca_gen_key_in_out
381 {
382  uint8_t mode;
383  uint16_t key_id;
384  const uint8_t * public_key;
386  const uint8_t * other_data;
387  const uint8_t * sn;
390 
396 {
397  uint8_t mode;
398  uint16_t key_id;
399  uint16_t slot_config;
400  uint16_t key_config;
401  uint8_t use_flag;
402  uint8_t update_count;
405  const uint8_t * sn;
406  const struct atca_temp_key *temp_key;
407  uint8_t* message;
408  uint8_t* verify_other_data;
409  uint8_t* digest;
411 
412 #ifdef __cplusplus
413 extern "C" {
414 #endif
415 
417 ATCA_STATUS atcah_mac(struct atca_mac_in_out *param);
427 ATCA_STATUS atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest);
428 uint8_t *atcah_include_data(struct atca_include_data_in_out *param);
430 ATCA_STATUS atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t* config);
435 ATCA_STATUS atcah_encode_counter_match(uint32_t counter, uint8_t * counter_match);
437 #ifdef __cplusplus
438 }
439 #endif
440 
443 #endif //ATCA_HOST_H
const uint8_t * io_key
IO protection key (32 bytes).
Definition: atca_host.h:164
+
struct atca_nonce_in_out atca_nonce_in_out_t
+
struct atca_temp_key * temp_key
[inout] Current state of TempKey
Definition: atca_host.h:280
+
uint16_t key_id
KeyID (Param2) used in Verify command.
Definition: atca_host.h:173
+
ATCA_STATUS
Definition: atca_status.h:41
+
uint8_t * atcah_include_data(struct atca_include_data_in_out *param)
This function copies otp and sn data into a command buffer.
Definition: atca_host.c:37
+
ATCA_STATUS atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest)
This function creates a SHA256 digest on a little-endian system.
Definition: atca_host.c:1230
+
#define ATCA_KEY_SIZE
size of a symmetric SHA key
Definition: atca_command.h:241
+
uint8_t mode
[in] Mode parameter used in Nonce command (Param1).
Definition: atca_host.h:154
+
Input/output parameters for function atcah_gen_dig().
Definition: atca_host.h:272
+
ATCA_STATUS atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out stru...
Definition: atca_host.c:1311
+
uint8_t * mac
Calculated verification MAC is returned here (32 bytes).
Definition: atca_host.h:180
+
struct atca_verify_in_out atca_verify_in_out_t
+
uint8_t * verify_other_data
[out] The 19 byte OtherData bytes to be used with the Verify(In/Validate) command. Can be NULL if not required.
Definition: atca_host.h:408
+
struct atca_check_mac_in_out atca_check_mac_in_out_t
Input/output parameters for function atcah_check_mac().
+
const uint8_t * client_chal
[in] ClientChal data, 32 bytes. Can be NULL if mode[0] is 1.
Definition: atca_host.h:345
+
Input/output parameters for function atcah_check_mac().
Definition: atca_host.h:340
+
uint8_t mode
SecureBoot mode (param1)
Definition: atca_host.h:196
+
ATCA_STATUS atcah_hmac(struct atca_hmac_in_out *param)
This function generates an HMAC / SHA-256 hash of a key and other information.
Definition: atca_host.c:585
+
struct atca_temp_key * temp_key
Current state of TempKey.
Definition: atca_host.h:307
+
Input/output parameters for function atcah_derive_key().
Definition: atca_host.h:300
+
ATCA_STATUS atcah_nonce(struct atca_nonce_in_out *param)
This function calculates host side nonce with the parameters passed.
Definition: atca_host.c:96
+
struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t
+
uint16_t key_config
[in] KeyConfig[TempKeyFlags.keyId]
Definition: atca_host.h:400
+
uint8_t value[ATCA_KEY_SIZE *2]
Value of TempKey (64 bytes for ATECC608A only)
Definition: atca_host.h:110
+
struct atca_gen_key_in_out atca_gen_key_in_out_t
Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with...
+
uint8_t * encrypted_data
Encrypted version of input_data will be returned here. 32 bytes for Write command, 36 bytes for PrivWrite command.
Definition: atca_host.h:292
+
uint16_t slot_config
[in] SlotConfig[TempKeyFlags.keyId]
Definition: atca_host.h:399
+
struct atca_write_mac_in_out atca_write_mac_in_out_t
Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac().
+
size_t data_size
Size of data in bytes (32 or 64).
Definition: atca_host.h:167
+
ATCA_STATUS atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match)
Builds the counter match value that needs to be stored in a slot.
Definition: atca_host.c:1447
+
const uint8_t * digest
Digest (unencrypted)
Definition: atca_host.h:200
+
uint8_t mode
Definition: atca_host.h:135
+
uint8_t * digest
[out] SHA256 digest of the full 55 byte message. Can be NULL if not required.
Definition: atca_host.h:409
+
Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with...
Definition: atca_host.h:380
+
const uint8_t * out_nonce
OutNonce returned from command (32 bytes).
Definition: atca_host.h:165
+
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:304
+
const uint8_t * other_data
[in] 32-byte value for shared nonce zone, 4-byte value if is_key_nomac is true, ignored and/or NULL o...
Definition: atca_host.h:279
+
uint16_t param2
SecureBoot param2.
Definition: atca_host.h:197
+
const uint8_t * public_key
[in] Public key to be used in the PubKey digest. X and Y integers in big-endian format. 64 bytes for P256 curve.
Definition: atca_host.h:384
+
uint8_t update_count
[in] UpdateCount[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A ...
Definition: atca_host.h:402
+
unsigned gen_key_data
TempKey was derived from the GenKey command (ATECC devices only).
Definition: atca_host.h:114
+
struct atca_temp_key * temp_key
Current state of TempKey.
Definition: atca_host.h:294
+
const uint8_t * key
[in] Pointer to 32-byte key used to generate MAC digest.
Definition: atca_host.h:232
+
const struct atca_temp_key * temp_key
Current value of TempKey.
Definition: atca_host.h:187
+
bool is_key_nomac
[in] Set to true if the slot pointed to be key_id has the SotConfig.NoMac bit set ...
Definition: atca_host.h:276
+
uint16_t zero
[in] Zero parameter used in Nonce command (Param2).
Definition: atca_host.h:155
+
uint8_t is_64
TempKey has 64 bytes of valid data.
Definition: atca_host.h:117
+
struct atca_temp_key atca_temp_key_t
Structure to hold TempKey fields.
+
unsigned key_id
If TempKey was derived from a slot or transport key (GenDig or GenKey), that key ID is saved here...
Definition: atca_host.h:111
+
const uint8_t * public_key
[in] Pointer to the public key to be used for verification
Definition: atca_host.h:372
+
Definition: atca_host.h:170
+
ATCA_STATUS atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param)
Calculates the expected MAC returned from the SecureBoot command when verification is a success...
Definition: atca_host.c:350
+
const uint8_t * digest
Plaintext digest as input.
Definition: atca_host.h:188
+
uint8_t * target_key
Derived key will be returned here (32 bytes).
Definition: atca_host.h:306
+
Input/output parameters for function atca_decrypt().
Definition: atca_host.h:331
+
uint8_t mode
Mode (Param1) parameter used in Verify command.
Definition: atca_host.h:172
+
Input / output parameters for function atca_include_data().
Definition: atca_host.h:130
+
const uint8_t * io_key
IO protection key value (32 bytes).
Definition: atca_host.h:177
+
Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac().
Definition: atca_host.h:286
+
uint8_t * digest_enc
Encrypted (ciphertext) digest is return here (32 bytes)
Definition: atca_host.h:190
+
const uint8_t * sn
[in] Device serial number SN[0:8] (9 bytes)
Definition: atca_host.h:405
+
const uint8_t * otp
[in] pointer to one-time-programming data
Definition: atca_host.h:133
+
ATCA_STATUS atcah_gen_key_msg(struct atca_gen_key_in_out *param)
Calculate the PubKey digest created by GenKey and saved to TempKey.
Definition: atca_host.c:1242
+
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:290
+
uint8_t * crypto_data
[in,out] Pointer to 32-byte data. Input encrypted data from Read command (Contents field)...
Definition: atca_host.h:333
+
uint8_t mode
[in] GenKey Mode
Definition: atca_host.h:382
+
uint8_t * hashed_key
Calculated key is returned here (32 bytes)
Definition: atca_host.h:189
+
unsigned source_flag
Indicates id TempKey started from a random nonce (0) or not (1).
Definition: atca_host.h:112
+
const uint8_t * stored_value
[in] 32-byte slot value, config block, OTP block as specified by the Zone/KeyId parameters ...
Definition: atca_host.h:278
+
uint8_t mode
[in] Sign Mode
Definition: atca_host.h:397
+
uint8_t zone
[in] Zone/Param1 for the GenDig command
Definition: atca_host.h:274
+
uint8_t use_flag
[in] UseFlag[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A
Definition: atca_host.h:401
+
unsigned valid
TempKey is valid.
Definition: atca_host.h:116
+
Definition: atca_host.h:194
+
const uint8_t * parent_key
Parent key to be used in the derive key calculation (32 bytes).
Definition: atca_host.h:319
+
const uint8_t * io_key
IO protection key value (32 bytes)
Definition: atca_host.h:186
+
uint8_t * p_temp
[out] pointer to output buffer
Definition: atca_host.h:132
+
ATCA_STATUS atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param)
This function calculates the input MAC for a DeriveKey command.
Definition: atca_host.c:1123
+
Input/output parameters for function atcah_verify().
Definition: atca_host.h:368
+
bool is_slot_locked
[in] Is TempKeyFlags.keyId slot locked.
Definition: atca_host.h:403
+
const uint8_t * sn
Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:318
+
const uint8_t * hashed_key
Hashed key. SHA256(IO Protection Key | TempKey)
Definition: atca_host.h:199
+
Input/output parameters for function atcah_derive_key_mac().
Definition: atca_host.h:314
+
uint8_t * response
[out] Pointer to 32-byte SHA-256 digest (MAC).
Definition: atca_host.h:235
+
Single aggregation point for all CryptoAuthLib header files.
+
const uint8_t * rand_out
[in] Pointer to 32-byte RandOut data from Nonce command.
Definition: atca_host.h:157
+
uint16_t target_key_id
Key ID (param 2) of the target slot to run the command on.
Definition: atca_host.h:303
+
const uint8_t * other_data
[in] OtherData, 13 bytes
Definition: atca_host.h:347
+
struct atca_verify_mac atca_verify_mac_in_out_t
+
uint16_t target_key_id
Key ID (param 2) of the target slot to run the command on.
Definition: atca_host.h:317
+
ATCA_STATUS atcah_gen_mac(struct atca_gen_dig_in_out *param)
This function generates mac with session key with a plain text.
Definition: atca_host.c:796
+
uint8_t mode
Mode (param 1) of the derive key command.
Definition: atca_host.h:302
+
uint8_t mode
Mode (param 1) of the derive key command.
Definition: atca_host.h:316
+
uint8_t zone
Zone/Param1 for the Write or PrivWrite command.
Definition: atca_host.h:288
+
const uint8_t * otp
[in] First 8 bytes of the OTP zone data. Can be NULL is mode[5] is 0.
Definition: atca_host.h:348
+
const uint8_t * target_key
Definition: atca_host.h:352
+
const uint8_t * other_data
OtherData used in Verify command (19 bytes).
Definition: atca_host.h:175
+
ATCADeviceType
The supported Device type in Cryptoauthlib library.
Definition: atca_devtypes.h:41
+
struct atca_sign_internal_in_out atca_sign_internal_in_out_t
Input/output parameters for calculating the message and digest used by the Sign(internal) command...
+
unsigned no_mac_flag
TempKey was derived from a key that has the NoMac bit set preventing the use of the MAC command...
Definition: atca_host.h:115
+
ATCA_STATUS atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
Builds the full message that would be signed by the Sign(Internal) command.
Definition: atca_host.c:1360
+
Input/output parameters for calculating the message and digest used by the Sign(internal) command...
Definition: atca_host.h:395
+
struct atca_mac_in_out atca_mac_in_out_t
+
ATCA_STATUS atcah_decrypt(struct atca_decrypt_in_out *param)
This function decrypts 32-byte encrypted data received with the Read command.
Definition: atca_host.c:1182
+
uint16_t key_id
[in] GenKey KeyID
Definition: atca_host.h:383
+
uint8_t * client_resp
[out] Calculated ClientResp will be returned here.
Definition: atca_host.h:346
+
const uint8_t * sn
[in] pointer to serial number data
Definition: atca_host.h:134
+
struct atca_temp_key * temp_key
[in,out] Current state of TempKey. Required if mode[0] or mode[1] are 1.
Definition: atca_host.h:353
+
struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t
+
uint8_t * mac
DeriveKey MAC will be returned here.
Definition: atca_host.h:320
+
Definition: atca_host.h:162
+
const uint8_t * challenge
[in] Pointer to 32-byte Challenge data used in MAC command, depending on mode.
Definition: atca_host.h:231
+
ATCA_STATUS atcah_gen_dig(struct atca_gen_dig_in_out *param)
This function combines the current TempKey with a stored value.
Definition: atca_host.c:696
+
const uint8_t * msg_dig_buf
Message digest buffer (64 bytes).
Definition: atca_host.h:176
+
Structure to hold TempKey fields.
Definition: atca_host.h:108
+
uint8_t * message
[out] Full 55 byte message the Sign(internal) command will build. Can be NULL if not required...
Definition: atca_host.h:407
+
ATCA_STATUS atcah_io_decrypt(struct atca_io_decrypt_in_out *param)
Decrypt data that&#39;s been encrypted by the IO protection key. The ECDH and KDF commands on the ATECC60...
Definition: atca_host.c:186
+
const uint8_t * input_data
Data to be encrypted. 32 bytes for Write command, 36 bytes for PrivWrite command. ...
Definition: atca_host.h:291
+
struct atca_temp_key * temp_key
[in,out] Pointer to TempKey structure.
Definition: atca_host.h:158
+
const uint8_t * sn
[in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:344
+
const uint8_t * sn
Serial number (9 bytes).
Definition: atca_host.h:178
+
struct atca_gen_dig_in_out atca_gen_dig_in_out_t
Input/output parameters for function atcah_gen_dig().
+
uint8_t * auth_mac
Write MAC will be returned here. 32 bytes.
Definition: atca_host.h:293
+
uint8_t * mac
MAC is returned here.
Definition: atca_host.h:202
+
uint16_t key_id
[in] CheckMac command KeyID
Definition: atca_host.h:343
+
const uint8_t * signature
Signature used in Verify command (64 bytes).
Definition: atca_host.h:174
+
ATCA_STATUS atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param)
This function calculates the input MAC for the PrivWrite command.
Definition: atca_host.c:951
+
const struct atca_temp_key * temp_key
[in] The current state of TempKey.
Definition: atca_host.h:406
+
uint8_t mode
[in] CheckMac command Mode
Definition: atca_host.h:342
+
const uint8_t * num_in
[in] Pointer to 20-byte NumIn data used in Nonce command.
Definition: atca_host.h:156
+
const uint8_t * other_data
[in] 3 bytes required when bit 4 of the mode is set. Can be NULL otherwise.
Definition: atca_host.h:386
+
ATCA_STATUS atcah_check_mac(struct atca_check_mac_in_out *param)
This function performs the checkmac operation to generate client response on the host side ...
Definition: atca_host.c:481
+
Input/output parameters for function atca_hmac().
Definition: atca_host.h:257
+
uint16_t key_id
[in] KeyID parameter used in MAC command (Param2).
Definition: atca_host.h:230
+
const uint8_t * parent_key
Parent key to be used in the derive key calculation (32 bytes).
Definition: atca_host.h:305
+
const uint8_t * signature
[in] Pointer to ECDSA signature to be verified
Definition: atca_host.h:371
+
Definition: atca_host.h:184
+
struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t
+
Input/output parameters for function atca_nonce().
Definition: atca_host.h:152
+
const uint8_t * sn
[in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:277
+
ATCA_STATUS atcah_derive_key(struct atca_derive_key_in_out *param)
This function derives a key with a key and TempKey.
Definition: atca_host.c:1048
+
ATCA_STATUS atcah_verify_mac(atca_verify_mac_in_out_t *param)
Calculate the expected MAC on the host side for the Verify command.
Definition: atca_host.c:227
+
struct atca_temp_key * temp_key
[in,out] As input the current state of TempKey. As output, the resulting PubKEy digest.
Definition: atca_host.h:388
+
uint16_t curve_type
[in] Curve type used in Verify command (Param2).
Definition: atca_host.h:370
+
bool for_invalidate
[in] Set to true if this will be used for the Verify(Invalidate) command.
Definition: atca_host.h:404
+
uint16_t key_id
[in] Sign KeyID
Definition: atca_host.h:398
+
ATCA_STATUS atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param)
Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac optio...
Definition: atca_host.c:314
+
ATCA_STATUS atcah_write_auth_mac(struct atca_write_mac_in_out *param)
This function calculates the input MAC for the Write command.
Definition: atca_host.c:876
+
const atca_temp_key_t * temp_key
TempKey.
Definition: atca_host.h:179
+
uint16_t key_id
[in] KeyId/Param2 for the GenDig command
Definition: atca_host.h:275
+
uint16_t secure_boot_config
SecureBootConfig value from configuration zone.
Definition: atca_host.h:198
+
ATCA_STATUS atcah_mac(struct atca_mac_in_out *param)
This function generates an SHA-256 digest (MAC) of a key, challenge, and other information.
Definition: atca_host.c:400
+
const uint8_t * slot_key
Definition: atca_host.h:349
+
unsigned gen_dig_data
TempKey was derived from the GenDig command.
Definition: atca_host.h:113
+
Input/output parameters for function atca_mac().
Definition: atca_host.h:227
+
uint8_t * data
As input, encrypted data. As output, decrypted data.
Definition: atca_host.h:166
+
const uint8_t * signature
Signature (can be NULL if not required)
Definition: atca_host.h:201
+
size_t public_key_size
[in] Total number of bytes in the public key. 64 bytes for P256 curve.
Definition: atca_host.h:385
+
uint16_t key_id
KeyID/Param2 for the Write or PrivWrite command.
Definition: atca_host.h:289
+
const uint8_t * sn
[in] Device serial number SN[0:8] (9 bytes). Only SN[0:1] and SN[8] are required though.
Definition: atca_host.h:387
@@ -98,28 +98,28 @@ - + - + - + - + - + - + - + - +

Variables

ATCAIfaceCfg cfg_ateccx08a_i2c_default
ATCAIfaceCfg cfg_ateccx08a_i2c_default
 default configuration for an ECCx08A device More...
 
ATCAIfaceCfg cfg_ateccx08a_swi_default
ATCAIfaceCfg cfg_ateccx08a_swi_default
 default configuration for an ECCx08A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
ATCAIfaceCfg cfg_ateccx08a_kitcdc_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_ateccx08a_kithid_default
ATCAIfaceCfg cfg_ateccx08a_kithid_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_atsha204a_i2c_default
ATCAIfaceCfg cfg_atsha204a_i2c_default
 default configuration for a SHA204A device on the first logical I2C bus More...
 
ATCAIfaceCfg cfg_atsha204a_swi_default
ATCAIfaceCfg cfg_atsha204a_swi_default
 default configuration for an SHA204A device on the logical SWI bus over UART More...
 
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
ATCAIfaceCfg cfg_atsha204a_kitcdc_default
 default configuration for Kit protocol over the device's async interface More...
 
ATCAIfaceCfg cfg_atsha204a_kithid_default
ATCAIfaceCfg cfg_atsha204a_kithid_default
 default configuration for Kit protocol over the device's async interface More...
 
@@ -133,12 +133,12 @@

- +
ATCAIfaceCfg cfg_ateccx08a_i2c_defaultATCAIfaceCfg cfg_ateccx08a_i2c_default

-Initial value:
= {
.devtype = ATECC508A,
.atcai2c.slave_address = 0xC0,
.atcai2c.bus = 2,
.atcai2c.baud = 400000,
.wake_delay = 1500,
.rx_retries = 20
}
Definition: atca_devtypes.h:45
-
Definition: atca_iface.h:46
+Initial value:
= {
.iface_type = ATCA_I2C_IFACE,
.devtype = ATECC508A,
.atcai2c.slave_address = 0xC0,
.atcai2c.bus = 2,
.atcai2c.baud = 400000,
.wake_delay = 1500,
.rx_retries = 20
}
Definition: atca_iface.h:46
+
Definition: atca_devtypes.h:45

default configuration for an ECCx08A device

default configuration for an ECCx08A device on the first logical I2C bus

@@ -152,12 +152,12 @@

- +
ATCAIfaceCfg cfg_ateccx08a_kitcdc_defaultATCAIfaceCfg cfg_ateccx08a_kitcdc_default

-Initial value:
= {
.devtype = ATECC508A,
.atcauart.port = 0,
.atcauart.baud = 115200,
.atcauart.wordsize = 8,
.atcauart.parity = 2,
.atcauart.stopbits = 1,
.rx_retries = 1,
}
Definition: atca_devtypes.h:45
-
Definition: atca_iface.h:48
+Initial value:
= {
.iface_type = ATCA_UART_IFACE,
.devtype = ATECC508A,
.atcauart.port = 0,
.atcauart.baud = 115200,
.atcauart.wordsize = 8,
.atcauart.parity = 2,
.atcauart.stopbits = 1,
.rx_retries = 1,
}
Definition: atca_iface.h:48
+
Definition: atca_devtypes.h:45

default configuration for Kit protocol over the device's async interface

default configuration for Kit protocol over a CDC interface

@@ -171,12 +171,12 @@

- +
ATCAIfaceCfg cfg_ateccx08a_kithid_defaultATCAIfaceCfg cfg_ateccx08a_kithid_default

-Initial value:
= {
.devtype = ATECC508A,
.atcahid.idx = 0,
.atcahid.vid = 0x03EB,
.atcahid.pid = 0x2312,
.atcahid.packetsize = 64,
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
}
Definition: atca_iface.h:50
-
Definition: atca_devtypes.h:45
+Initial value:
= {
.iface_type = ATCA_HID_IFACE,
.devtype = ATECC508A,
.atcahid.idx = 0,
.atcahid.vid = 0x03EB,
.atcahid.pid = 0x2312,
.atcahid.packetsize = 64,
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
}
Definition: atca_devtypes.h:45
+
Definition: atca_iface.h:50

default configuration for Kit protocol over the device's async interface

default configuration for Kit protocol over a HID interface

@@ -190,12 +190,12 @@

- +
ATCAIfaceCfg cfg_ateccx08a_swi_defaultATCAIfaceCfg cfg_ateccx08a_swi_default

-Initial value:
= {
.devtype = ATECC508A,
.atcaswi.bus = 4,
.wake_delay = 1500,
.rx_retries = 10
}
Definition: atca_iface.h:47
-
Definition: atca_devtypes.h:45
+Initial value:
= {
.iface_type = ATCA_SWI_IFACE,
.devtype = ATECC508A,
.atcaswi.bus = 4,
.wake_delay = 1500,
.rx_retries = 10
}
Definition: atca_iface.h:47
+
Definition: atca_devtypes.h:45

default configuration for an ECCx08A device on the logical SWI bus over UART

@@ -208,12 +208,12 @@

- +
ATCAIfaceCfg cfg_atsha204a_i2c_defaultATCAIfaceCfg cfg_atsha204a_i2c_default

-Initial value:
= {
.devtype = ATSHA204A,
.atcai2c.slave_address = 0xC8,
.atcai2c.bus = 2,
.atcai2c.baud = 400000,
.wake_delay = 2560,
.rx_retries = 20
}
Definition: atca_devtypes.h:43
-
Definition: atca_iface.h:46
+Initial value:
= {
.iface_type = ATCA_I2C_IFACE,
.devtype = ATSHA204A,
.atcai2c.slave_address = 0xC8,
.atcai2c.bus = 2,
.atcai2c.baud = 400000,
.wake_delay = 2560,
.rx_retries = 20
}
Definition: atca_iface.h:46
+
Definition: atca_devtypes.h:43

default configuration for a SHA204A device on the first logical I2C bus

@@ -226,12 +226,12 @@

- +
ATCAIfaceCfg cfg_atsha204a_kitcdc_defaultATCAIfaceCfg cfg_atsha204a_kitcdc_default

-Initial value:
= {
.devtype = ATSHA204A,
.atcauart.port = 0,
.atcauart.baud = 115200,
.atcauart.wordsize = 8,
.atcauart.parity = 2,
.atcauart.stopbits = 1,
.rx_retries = 1,
}
Definition: atca_devtypes.h:43
-
Definition: atca_iface.h:48
+Initial value:
= {
.iface_type = ATCA_UART_IFACE,
.devtype = ATSHA204A,
.atcauart.port = 0,
.atcauart.baud = 115200,
.atcauart.wordsize = 8,
.atcauart.parity = 2,
.atcauart.stopbits = 1,
.rx_retries = 1,
}
Definition: atca_iface.h:48
+
Definition: atca_devtypes.h:43

default configuration for Kit protocol over the device's async interface

default configuration for Kit protocol over a CDC interface

@@ -245,12 +245,12 @@

- +
ATCAIfaceCfg cfg_atsha204a_kithid_defaultATCAIfaceCfg cfg_atsha204a_kithid_default

-Initial value:
= {
.devtype = ATSHA204A,
.atcahid.idx = 0,
.atcahid.vid = 0x03EB,
.atcahid.pid = 0x2312,
.atcahid.packetsize = 64,
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
}
Definition: atca_iface.h:50
-
Definition: atca_devtypes.h:43
+Initial value:
= {
.iface_type = ATCA_HID_IFACE,
.devtype = ATSHA204A,
.atcahid.idx = 0,
.atcahid.vid = 0x03EB,
.atcahid.pid = 0x2312,
.atcahid.packetsize = 64,
.atcahid.guid = { 0x4d, 0x1e, 0x55, 0xb2, 0xf1, 0x6f, 0x11, 0xcf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 },
}
Definition: atca_devtypes.h:43
+
Definition: atca_iface.h:50

default configuration for Kit protocol over the device's async interface

default configuration for Kit protocol over a HID interface for SHA204

@@ -264,12 +264,12 @@

- +
ATCAIfaceCfg cfg_atsha204a_swi_defaultATCAIfaceCfg cfg_atsha204a_swi_default

-Initial value:
= {
.devtype = ATSHA204A,
.atcaswi.bus = 4,
.wake_delay = 2560,
.rx_retries = 10
}
Definition: atca_iface.h:47
-
Definition: atca_devtypes.h:43
+Initial value:
= {
.iface_type = ATCA_SWI_IFACE,
.devtype = ATSHA204A,
.atcaswi.bus = 4,
.wake_delay = 2560,
.rx_retries = 10
}
Definition: atca_devtypes.h:43
+
Definition: atca_iface.h:47

default configuration for an SHA204A device on the logical SWI bus over UART

diff --git a/docs/html/a00905.js b/docs/html/a00905.js new file mode 100644 index 000000000..09d5e13db --- /dev/null +++ b/docs/html/a00905.js @@ -0,0 +1,11 @@ +var a00905 = +[ + [ "cfg_ateccx08a_i2c_default", "a00905.html#gafcb056718eb34ec3a612d550208e49cc", null ], + [ "cfg_ateccx08a_kitcdc_default", "a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3", null ], + [ "cfg_ateccx08a_kithid_default", "a00905.html#ga1f5e0890694189d4ce70f19b207eb070", null ], + [ "cfg_ateccx08a_swi_default", "a00905.html#ga5624aa554e1964981b794e2295b9432c", null ], + [ "cfg_atsha204a_i2c_default", "a00905.html#ga9fe83141d8e44bf623e624a72901832c", null ], + [ "cfg_atsha204a_kitcdc_default", "a00905.html#ga010430b93521c09efec9e5913ce769c1", null ], + [ "cfg_atsha204a_kithid_default", "a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c", null ], + [ "cfg_atsha204a_swi_default", "a00905.html#gae5e766a819c7920470b456238cbef70d", null ] +]; \ No newline at end of file diff --git a/docs/html/a03531.html b/docs/html/a00906.html similarity index 90% rename from docs/html/a03531.html rename to docs/html/a00906.html index c0681a5f3..596ca2dfc 100644 --- a/docs/html/a03531.html +++ b/docs/html/a00906.html @@ -67,7 +67,7 @@
@@ -101,1318 +101,1318 @@ - - + + - - + +

Data Structures

struct  atca_command
 atca_command is the C object backing ATCACommand. More...
struct  atca_command
 atca_command is the C object backing ATCACommand. More...
 
struct  ATCAPacket
 an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response More...
struct  ATCAPacket
 an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response More...
 
- + - + - + - + - + - + - + - +

Macros

#define ATCA_CMD_SIZE_MIN   ((uint8_t)7)
#define ATCA_CMD_SIZE_MIN   ((uint8_t)7)
 minimum number of bytes in command (from count byte to second CRC byte) More...
 
#define ATCA_CMD_SIZE_MAX   ((uint8_t)4 * 36 + 7)
#define ATCA_CMD_SIZE_MAX   ((uint8_t)4 * 36 + 7)
 maximum size of command packet (Verify) More...
 
#define CMD_STATUS_SUCCESS   ((uint8_t)0x00)
#define CMD_STATUS_SUCCESS   ((uint8_t)0x00)
 status byte for success More...
 
#define CMD_STATUS_WAKEUP   ((uint8_t)0x11)
#define CMD_STATUS_WAKEUP   ((uint8_t)0x11)
 status byte after wake-up More...
 
#define CMD_STATUS_BYTE_PARSE   ((uint8_t)0x03)
#define CMD_STATUS_BYTE_PARSE   ((uint8_t)0x03)
 command parse error More...
 
#define CMD_STATUS_BYTE_ECC   ((uint8_t)0x05)
#define CMD_STATUS_BYTE_ECC   ((uint8_t)0x05)
 command ECC error More...
 
#define CMD_STATUS_BYTE_EXEC   ((uint8_t)0x0F)
#define CMD_STATUS_BYTE_EXEC   ((uint8_t)0x0F)
 command execution error More...
 
#define CMD_STATUS_BYTE_COMM   ((uint8_t)0xFF)
#define CMD_STATUS_BYTE_COMM   ((uint8_t)0xFF)
 communication error More...
 
- +

Typedefs

typedef struct atca_commandATCACommand
typedef struct atca_commandATCACommand
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Functions

ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
ATCA_STATUS initATCACommand (ATCADeviceType device_type, ATCACommand ca_cmd)
 Initializer for ATCACommand. More...
 
ATCACommand newATCACommand (ATCADeviceType device_type)
ATCACommand newATCACommand (ATCADeviceType device_type)
 constructor for ATCACommand More...
 
void deleteATCACommand (ATCACommand *ca_cmd)
void deleteATCACommand (ATCACommand *ca_cmd)
 ATCACommand destructor. More...
 
ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atCheckMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand CheckMAC method. More...
 
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atCounter (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Counter method. More...
 
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
ATCA_STATUS atDeriveKey (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand DeriveKey method. More...
 
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atECDH (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDH method. More...
 
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
ATCA_STATUS atGenDig (ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key)
 ATCACommand Generate Digest method. More...
 
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atGenKey (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Generate Key method. More...
 
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atHMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand HMAC method. More...
 
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atInfo (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Info method. More...
 
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atLock (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Lock method. More...
 
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atMAC (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand MAC method. More...
 
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atNonce (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Nonce method. More...
 
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atPause (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Pause method. More...
 
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atPrivWrite (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand PrivWrite method. More...
 
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atRandom (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Random method. More...
 
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atRead (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Read method. More...
 
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atSecureBoot (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand SecureBoot method. More...
 
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
ATCA_STATUS atSHA (ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size)
 ATCACommand SHA method. More...
 
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atSign (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand Sign method. More...
 
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atUpdateExtra (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand UpdateExtra method. More...
 
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atVerify (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand ECDSA Verify method. More...
 
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
ATCA_STATUS atWrite (ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac)
 ATCACommand Write method. More...
 
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atAES (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atSelfTest (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand AES method. More...
 
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
ATCA_STATUS atKDF (ATCACommand ca_cmd, ATCAPacket *packet)
 ATCACommand KDF method. More...
 
bool atIsSHAFamily (ATCADeviceType device_type)
bool atIsSHAFamily (ATCADeviceType device_type)
 determines if a given device type is a SHA device or a superset of a SHA device More...
 
bool atIsECCFamily (ATCADeviceType device_type)
bool atIsECCFamily (ATCADeviceType device_type)
 determines if a given device type is an ECC device or a superset of a ECC device More...
 
ATCA_STATUS isATCAError (uint8_t *data)
ATCA_STATUS isATCAError (uint8_t *data)
 checks for basic error frame in data More...
 
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
void atCRC (size_t length, const uint8_t *data, uint8_t *crc_le)
 Calculates CRC over the given raw data and returns the CRC in little-endian byte order. More...
 
void atCalcCrc (ATCAPacket *pkt)
void atCalcCrc (ATCAPacket *pkt)
 This function calculates CRC and adds it to the correct offset in the packet data. More...
 
ATCA_STATUS atCheckCrc (const uint8_t *response)
ATCA_STATUS atCheckCrc (const uint8_t *response)
 This function checks the consistency of a response. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Opcodes for Crypto Authentication device commands

#define ATCA_CHECKMAC   ((uint8_t)0x28)
#define ATCA_CHECKMAC   ((uint8_t)0x28)
 CheckMac command op-code. More...
 
#define ATCA_DERIVE_KEY   ((uint8_t)0x1C)
#define ATCA_DERIVE_KEY   ((uint8_t)0x1C)
 DeriveKey command op-code. More...
 
#define ATCA_INFO   ((uint8_t)0x30)
#define ATCA_INFO   ((uint8_t)0x30)
 Info command op-code. More...
 
#define ATCA_GENDIG   ((uint8_t)0x15)
#define ATCA_GENDIG   ((uint8_t)0x15)
 GenDig command op-code. More...
 
#define ATCA_GENKEY   ((uint8_t)0x40)
#define ATCA_GENKEY   ((uint8_t)0x40)
 GenKey command op-code. More...
 
#define ATCA_HMAC   ((uint8_t)0x11)
#define ATCA_HMAC   ((uint8_t)0x11)
 HMAC command op-code. More...
 
#define ATCA_LOCK   ((uint8_t)0x17)
#define ATCA_LOCK   ((uint8_t)0x17)
 Lock command op-code. More...
 
#define ATCA_MAC   ((uint8_t)0x08)
#define ATCA_MAC   ((uint8_t)0x08)
 MAC command op-code. More...
 
#define ATCA_NONCE   ((uint8_t)0x16)
#define ATCA_NONCE   ((uint8_t)0x16)
 Nonce command op-code. More...
 
#define ATCA_PAUSE   ((uint8_t)0x01)
#define ATCA_PAUSE   ((uint8_t)0x01)
 Pause command op-code. More...
 
#define ATCA_PRIVWRITE   ((uint8_t)0x46)
#define ATCA_PRIVWRITE   ((uint8_t)0x46)
 PrivWrite command op-code. More...
 
#define ATCA_RANDOM   ((uint8_t)0x1B)
#define ATCA_RANDOM   ((uint8_t)0x1B)
 Random command op-code. More...
 
#define ATCA_READ   ((uint8_t)0x02)
#define ATCA_READ   ((uint8_t)0x02)
 Read command op-code. More...
 
#define ATCA_SIGN   ((uint8_t)0x41)
#define ATCA_SIGN   ((uint8_t)0x41)
 Sign command op-code. More...
 
#define ATCA_UPDATE_EXTRA   ((uint8_t)0x20)
#define ATCA_UPDATE_EXTRA   ((uint8_t)0x20)
 UpdateExtra command op-code. More...
 
#define ATCA_VERIFY   ((uint8_t)0x45)
#define ATCA_VERIFY   ((uint8_t)0x45)
 GenKey command op-code. More...
 
#define ATCA_WRITE   ((uint8_t)0x12)
#define ATCA_WRITE   ((uint8_t)0x12)
 Write command op-code. More...
 
#define ATCA_ECDH   ((uint8_t)0x43)
#define ATCA_ECDH   ((uint8_t)0x43)
 ECDH command op-code. More...
 
#define ATCA_COUNTER   ((uint8_t)0x24)
#define ATCA_COUNTER   ((uint8_t)0x24)
 Counter command op-code. More...
 
#define ATCA_SHA   ((uint8_t)0x47)
#define ATCA_SHA   ((uint8_t)0x47)
 SHA command op-code. More...
 
#define ATCA_AES   ((uint8_t)0x51)
#define ATCA_AES   ((uint8_t)0x51)
 AES command op-code. More...
 
#define ATCA_KDF   ((uint8_t)0x56)
#define ATCA_KDF   ((uint8_t)0x56)
 KDF command op-code. More...
 
#define ATCA_SECUREBOOT   ((uint8_t)0x80)
#define ATCA_SECUREBOOT   ((uint8_t)0x80)
 Secure Boot command op-code. More...
 
#define ATCA_SELFTEST   ((uint8_t)0x77)
#define ATCA_SELFTEST   ((uint8_t)0x77)
 Self test command op-code. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions of Data and Packet Sizes

#define ATCA_BLOCK_SIZE   (32)
#define ATCA_BLOCK_SIZE   (32)
 size of a block More...
 
#define ATCA_WORD_SIZE   (4)
#define ATCA_WORD_SIZE   (4)
 size of a word More...
 
#define ATCA_PUB_KEY_PAD   (4)
#define ATCA_PUB_KEY_PAD   (4)
 size of the public key pad More...
 
#define ATCA_SERIAL_NUM_SIZE   (9)
#define ATCA_SERIAL_NUM_SIZE   (9)
 number of bytes in the device serial number More...
 
#define ATCA_RSP_SIZE_VAL   ((uint8_t)7)
#define ATCA_RSP_SIZE_VAL   ((uint8_t)7)
 size of response packet containing four bytes of data More...
 
#define ATCA_KEY_COUNT   (16)
#define ATCA_KEY_COUNT   (16)
 number of keys More...
 
#define ATCA_ECC_CONFIG_SIZE   (128)
#define ATCA_ECC_CONFIG_SIZE   (128)
 size of configuration zone More...
 
#define ATCA_SHA_CONFIG_SIZE   (88)
#define ATCA_SHA_CONFIG_SIZE   (88)
 size of configuration zone More...
 
#define ATCA_OTP_SIZE   (64)
#define ATCA_OTP_SIZE   (64)
 size of OTP zone More...
 
#define ATCA_DATA_SIZE   (ATCA_KEY_COUNT * ATCA_KEY_SIZE)
#define ATCA_DATA_SIZE   (ATCA_KEY_COUNT * ATCA_KEY_SIZE)
 size of data zone More...
 
#define ATCA_AES_GFM_SIZE   ATCA_BLOCK_SIZE
#define ATCA_AES_GFM_SIZE   ATCA_BLOCK_SIZE
 size of GFM data More...
 
#define ATCA_CHIPMODE_OFFSET   (19)
#define ATCA_CHIPMODE_OFFSET   (19)
 ChipMode byte offset within the configuration zone. More...
 
#define ATCA_CHIPMODE_I2C_ADDRESS_FLAG   ((uint8_t)0x01)
#define ATCA_CHIPMODE_I2C_ADDRESS_FLAG   ((uint8_t)0x01)
 ChipMode I2C Address in UserExtraAdd flag. More...
 
#define ATCA_CHIPMODE_TTL_ENABLE_FLAG   ((uint8_t)0x02)
#define ATCA_CHIPMODE_TTL_ENABLE_FLAG   ((uint8_t)0x02)
 ChipMode TTLenable flag. More...
 
#define ATCA_CHIPMODE_WATCHDOG_MASK   ((uint8_t)0x04)
#define ATCA_CHIPMODE_WATCHDOG_MASK   ((uint8_t)0x04)
 ChipMode watchdog duration mask. More...
 
#define ATCA_CHIPMODE_WATCHDOG_SHORT   ((uint8_t)0x00)
#define ATCA_CHIPMODE_WATCHDOG_SHORT   ((uint8_t)0x00)
 ChipMode short watchdog (~1.3s) More...
 
#define ATCA_CHIPMODE_WATCHDOG_LONG   ((uint8_t)0x04)
#define ATCA_CHIPMODE_WATCHDOG_LONG   ((uint8_t)0x04)
 ChipMode long watchdog (~13s) More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_MASK   ((uint8_t)0xF8)
#define ATCA_CHIPMODE_CLOCK_DIV_MASK   ((uint8_t)0xF8)
 ChipMode clock divider mask. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M0   ((uint8_t)0x00)
#define ATCA_CHIPMODE_CLOCK_DIV_M0   ((uint8_t)0x00)
 ChipMode clock divider M0. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M1   ((uint8_t)0x28)
#define ATCA_CHIPMODE_CLOCK_DIV_M1   ((uint8_t)0x28)
 ChipMode clock divider M1. More...
 
#define ATCA_CHIPMODE_CLOCK_DIV_M2   ((uint8_t)0x68)
#define ATCA_CHIPMODE_CLOCK_DIV_M2   ((uint8_t)0x68)
 ChipMode clock divider M2. More...
 
#define ATCA_COUNT_SIZE   ((uint8_t)1)
#define ATCA_COUNT_SIZE   ((uint8_t)1)
 Number of bytes in the command packet Count. More...
 
#define ATCA_CRC_SIZE   ((uint8_t)2)
#define ATCA_CRC_SIZE   ((uint8_t)2)
 Number of bytes in the command packet CRC. More...
 
#define ATCA_PACKET_OVERHEAD   (ATCA_COUNT_SIZE + ATCA_CRC_SIZE)
#define ATCA_PACKET_OVERHEAD   (ATCA_COUNT_SIZE + ATCA_CRC_SIZE)
 Number of bytes in the command packet. More...
 
#define ATCA_PUB_KEY_SIZE   (64)
#define ATCA_PUB_KEY_SIZE   (64)
 size of a p256 public key More...
 
#define ATCA_PRIV_KEY_SIZE   (32)
#define ATCA_PRIV_KEY_SIZE   (32)
 size of a p256 private key More...
 
#define ATCA_SIG_SIZE   (64)
#define ATCA_SIG_SIZE   (64)
 size of a p256 signature More...
 
#define ATCA_KEY_SIZE   (32)
#define ATCA_KEY_SIZE   (32)
 size of a symmetric SHA key More...
 
#define RSA2048_KEY_SIZE   (256)
#define RSA2048_KEY_SIZE   (256)
 size of a RSA private key More...
 
#define ATCA_RSP_SIZE_MIN   ((uint8_t)4)
#define ATCA_RSP_SIZE_MIN   ((uint8_t)4)
 minimum number of bytes in response More...
 
#define ATCA_RSP_SIZE_4   ((uint8_t)7)
#define ATCA_RSP_SIZE_4   ((uint8_t)7)
 size of response packet containing 4 bytes data More...
 
#define ATCA_RSP_SIZE_72   ((uint8_t)75)
#define ATCA_RSP_SIZE_72   ((uint8_t)75)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_64   ((uint8_t)67)
#define ATCA_RSP_SIZE_64   ((uint8_t)67)
 size of response packet containing 64 bytes data More...
 
#define ATCA_RSP_SIZE_32   ((uint8_t)35)
#define ATCA_RSP_SIZE_32   ((uint8_t)35)
 size of response packet containing 32 bytes data More...
 
#define ATCA_RSP_SIZE_16   ((uint8_t)19)
#define ATCA_RSP_SIZE_16   ((uint8_t)19)
 size of response packet containing 16 bytes data More...
 
#define ATCA_RSP_SIZE_MAX   ((uint8_t)75)
#define ATCA_RSP_SIZE_MAX   ((uint8_t)75)
 maximum size of response packet (GenKey and Verify command) More...
 
#define OUTNONCE_SIZE   (32)
#define OUTNONCE_SIZE   (32)
 Size of the OutNonce response expected from several commands. More...
 
- + - +

Definitions for Command Parameter Ranges

#define ATCA_KEY_ID_MAX   ((uint8_t)15)
#define ATCA_KEY_ID_MAX   ((uint8_t)15)
 maximum value for key id More...
 
#define ATCA_OTP_BLOCK_MAX   ((uint8_t)1)
#define ATCA_OTP_BLOCK_MAX   ((uint8_t)1)
 maximum value for OTP block More...
 
- + - + - + - + - + - +

Definitions for Indexes Common to All Commands

#define ATCA_COUNT_IDX   (0)
#define ATCA_COUNT_IDX   (0)
 command packet index for count More...
 
#define ATCA_OPCODE_IDX   (1)
#define ATCA_OPCODE_IDX   (1)
 command packet index for op-code More...
 
#define ATCA_PARAM1_IDX   (2)
#define ATCA_PARAM1_IDX   (2)
 command packet index for first parameter More...
 
#define ATCA_PARAM2_IDX   (3)
#define ATCA_PARAM2_IDX   (3)
 command packet index for second parameter More...
 
#define ATCA_DATA_IDX   (5)
#define ATCA_DATA_IDX   (5)
 command packet index for data load More...
 
#define ATCA_RSP_DATA_IDX   (1)
#define ATCA_RSP_DATA_IDX   (1)
 buffer index of data in response More...
 
- + - + - + - + - + - + - + - + - + - +

Definitions for Zone and Address Parameters

#define ATCA_ZONE_CONFIG   ((uint8_t)0x00)
#define ATCA_ZONE_CONFIG   ((uint8_t)0x00)
 Configuration zone. More...
 
#define ATCA_ZONE_OTP   ((uint8_t)0x01)
#define ATCA_ZONE_OTP   ((uint8_t)0x01)
 OTP (One Time Programming) zone. More...
 
#define ATCA_ZONE_DATA   ((uint8_t)0x02)
#define ATCA_ZONE_DATA   ((uint8_t)0x02)
 Data zone. More...
 
#define ATCA_ZONE_MASK   ((uint8_t)0x03)
#define ATCA_ZONE_MASK   ((uint8_t)0x03)
 Zone mask. More...
 
#define ATCA_ZONE_ENCRYPTED   ((uint8_t)0x40)
#define ATCA_ZONE_ENCRYPTED   ((uint8_t)0x40)
 Zone bit 6 set: Write is encrypted with an unlocked data zone. More...
 
#define ATCA_ZONE_READWRITE_32   ((uint8_t)0x80)
#define ATCA_ZONE_READWRITE_32   ((uint8_t)0x80)
 Zone bit 7 set: Access 32 bytes, otherwise 4 bytes. More...
 
#define ATCA_ADDRESS_MASK_CONFIG   (0x001F)
#define ATCA_ADDRESS_MASK_CONFIG   (0x001F)
 Address bits 5 to 7 are 0 for Configuration zone. More...
 
#define ATCA_ADDRESS_MASK_OTP   (0x000F)
#define ATCA_ADDRESS_MASK_OTP   (0x000F)
 Address bits 4 to 7 are 0 for OTP zone. More...
 
#define ATCA_ADDRESS_MASK   (0x007F)
#define ATCA_ADDRESS_MASK   (0x007F)
 Address bit 7 to 15 are always 0. More...
 
#define ATCA_TEMPKEY_KEYID   (0xFFFF)
#define ATCA_TEMPKEY_KEYID   (0xFFFF)
 KeyID when referencing TempKey. More...
 
- + - + - + - + - +

Definitions for Key types

#define ATCA_B283_KEY_TYPE   0
#define ATCA_B283_KEY_TYPE   0
 B283 NIST ECC key. More...
 
#define ATCA_K283_KEY_TYPE   1
#define ATCA_K283_KEY_TYPE   1
 K283 NIST ECC key. More...
 
#define ATCA_P256_KEY_TYPE   4
#define ATCA_P256_KEY_TYPE   4
 P256 NIST ECC key. More...
 
#define ATCA_AES_KEY_TYPE   6
#define ATCA_AES_KEY_TYPE   6
 AES-128 Key. More...
 
#define ATCA_SHA_KEY_TYPE   7
#define ATCA_SHA_KEY_TYPE   7
 SHA key or other data. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the AES Command

#define AES_MODE_IDX   ATCA_PARAM1_IDX
#define AES_MODE_IDX   ATCA_PARAM1_IDX
 AES command index for mode. More...
 
#define AES_KEYID_IDX   ATCA_PARAM2_IDX
#define AES_KEYID_IDX   ATCA_PARAM2_IDX
 AES command index for key id. More...
 
#define AES_INPUT_IDX   ATCA_DATA_IDX
#define AES_INPUT_IDX   ATCA_DATA_IDX
 AES command index for input data. More...
 
#define AES_COUNT   (23)
#define AES_COUNT   (23)
 AES command packet size. More...
 
#define AES_MODE_MASK   ((uint8_t)0xC7)
#define AES_MODE_MASK   ((uint8_t)0xC7)
 AES mode bits 3 to 5 are 0. More...
 
#define AES_MODE_KEY_BLOCK_MASK   ((uint8_t)0xC0)
#define AES_MODE_KEY_BLOCK_MASK   ((uint8_t)0xC0)
 AES mode mask for key block field. More...
 
#define AES_MODE_OP_MASK   ((uint8_t)0x07)
#define AES_MODE_OP_MASK   ((uint8_t)0x07)
 AES mode operation mask. More...
 
#define AES_MODE_ENCRYPT   ((uint8_t)0x00)
#define AES_MODE_ENCRYPT   ((uint8_t)0x00)
 AES mode: Encrypt. More...
 
#define AES_MODE_DECRYPT   ((uint8_t)0x01)
#define AES_MODE_DECRYPT   ((uint8_t)0x01)
 AES mode: Decrypt. More...
 
#define AES_MODE_GFM   ((uint8_t)0x03)
#define AES_MODE_GFM   ((uint8_t)0x03)
 AES mode: GFM calculation. More...
 
#define AES_MODE_KEY_BLOCK_POS   (6)
#define AES_MODE_KEY_BLOCK_POS   (6)
 Bit shift for key block in mode. More...
 
#define AES_DATA_SIZE   (16)
#define AES_DATA_SIZE   (16)
 size of AES encrypt/decrypt data More...
 
#define AES_RSP_SIZE   ATCA_RSP_SIZE_16
#define AES_RSP_SIZE   ATCA_RSP_SIZE_16
 AES command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the CheckMac Command

#define CHECKMAC_MODE_IDX   ATCA_PARAM1_IDX
#define CHECKMAC_MODE_IDX   ATCA_PARAM1_IDX
 CheckMAC command index for mode. More...
 
#define CHECKMAC_KEYID_IDX   ATCA_PARAM2_IDX
#define CHECKMAC_KEYID_IDX   ATCA_PARAM2_IDX
 CheckMAC command index for key identifier. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_IDX   ATCA_DATA_IDX
#define CHECKMAC_CLIENT_CHALLENGE_IDX   ATCA_DATA_IDX
 CheckMAC command index for client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_IDX   (37)
#define CHECKMAC_CLIENT_RESPONSE_IDX   (37)
 CheckMAC command index for client response. More...
 
#define CHECKMAC_DATA_IDX   (69)
#define CHECKMAC_DATA_IDX   (69)
 CheckMAC command index for other data. More...
 
#define CHECKMAC_COUNT   (84)
#define CHECKMAC_COUNT   (84)
 CheckMAC command packet size. More...
 
#define CHECKMAC_MODE_CHALLENGE   ((uint8_t)0x00)
#define CHECKMAC_MODE_CHALLENGE   ((uint8_t)0x00)
 CheckMAC mode 0: first SHA block from key id. More...
 
#define CHECKMAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
#define CHECKMAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 CheckMAC mode bit 0: second SHA block from TempKey. More...
 
#define CHECKMAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
#define CHECKMAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 CheckMAC mode bit 1: first SHA block from TempKey. More...
 
#define CHECKMAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
#define CHECKMAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 CheckMAC mode bit 2: match TempKey.SourceFlag. More...
 
#define CHECKMAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
#define CHECKMAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 CheckMAC mode bit 5: include first 64 OTP bits. More...
 
#define CHECKMAC_MODE_MASK   ((uint8_t)0x27)
#define CHECKMAC_MODE_MASK   ((uint8_t)0x27)
 CheckMAC mode bits 3, 4, 6, and 7 are 0. More...
 
#define CHECKMAC_CLIENT_CHALLENGE_SIZE   (32)
#define CHECKMAC_CLIENT_CHALLENGE_SIZE   (32)
 CheckMAC size of client challenge. More...
 
#define CHECKMAC_CLIENT_RESPONSE_SIZE   (32)
#define CHECKMAC_CLIENT_RESPONSE_SIZE   (32)
 CheckMAC size of client response. More...
 
#define CHECKMAC_OTHER_DATA_SIZE   (13)
#define CHECKMAC_OTHER_DATA_SIZE   (13)
 CheckMAC size of "other data". More...
 
#define CHECKMAC_CLIENT_COMMAND_SIZE   (4)
#define CHECKMAC_CLIENT_COMMAND_SIZE   (4)
 CheckMAC size of client command header size inside "other data". More...
 
#define CHECKMAC_CMD_MATCH   (0)
#define CHECKMAC_CMD_MATCH   (0)
 CheckMAC return value when there is a match. More...
 
#define CHECKMAC_CMD_MISMATCH   (1)
#define CHECKMAC_CMD_MISMATCH   (1)
 CheckMAC return value when there is a mismatch. More...
 
#define CHECKMAC_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define CHECKMAC_RSP_SIZE   ATCA_RSP_SIZE_MIN
 CheckMAC response packet size. More...
 
- + - + - + - + - + - + - + - +

Definitions for the Counter command

#define COUNTER_COUNT   ATCA_CMD_SIZE_MIN
#define COUNTER_COUNT   ATCA_CMD_SIZE_MIN
 
#define COUNTER_MODE_IDX   ATCA_PARAM1_IDX
#define COUNTER_MODE_IDX   ATCA_PARAM1_IDX
 Counter command index for mode. More...
 
#define COUNTER_KEYID_IDX   ATCA_PARAM2_IDX
#define COUNTER_KEYID_IDX   ATCA_PARAM2_IDX
 Counter command index for key id. More...
 
#define COUNTER_MODE_MASK   ((uint8_t)0x01)
#define COUNTER_MODE_MASK   ((uint8_t)0x01)
 Counter mode bits 1 to 7 are 0. More...
 
#define COUNTER_MAX_VALUE   ((uint32_t)2097151)
#define COUNTER_MAX_VALUE   ((uint32_t)2097151)
 Counter maximum value of the counter. More...
 
#define COUNTER_MODE_READ   ((uint8_t)0x00)
#define COUNTER_MODE_READ   ((uint8_t)0x00)
 Counter command mode for reading. More...
 
#define COUNTER_MODE_INCREMENT   ((uint8_t)0x01)
#define COUNTER_MODE_INCREMENT   ((uint8_t)0x01)
 Counter command mode for incrementing. More...
 
#define COUNTER_RSP_SIZE   ATCA_RSP_SIZE_4
#define COUNTER_RSP_SIZE   ATCA_RSP_SIZE_4
 Counter command response packet size. More...
 
- + - + - + - + - + - + - + - + - +

Definitions for the DeriveKey Command

#define DERIVE_KEY_RANDOM_IDX   ATCA_PARAM1_IDX
#define DERIVE_KEY_RANDOM_IDX   ATCA_PARAM1_IDX
 DeriveKey command index for random bit. More...
 
#define DERIVE_KEY_TARGETKEY_IDX   ATCA_PARAM2_IDX
#define DERIVE_KEY_TARGETKEY_IDX   ATCA_PARAM2_IDX
 DeriveKey command index for target slot. More...
 
#define DERIVE_KEY_MAC_IDX   ATCA_DATA_IDX
#define DERIVE_KEY_MAC_IDX   ATCA_DATA_IDX
 DeriveKey command index for optional MAC. More...
 
#define DERIVE_KEY_COUNT_SMALL   ATCA_CMD_SIZE_MIN
#define DERIVE_KEY_COUNT_SMALL   ATCA_CMD_SIZE_MIN
 DeriveKey command packet size without MAC. More...
 
#define DERIVE_KEY_MODE   ((uint8_t)0x04)
#define DERIVE_KEY_MODE   ((uint8_t)0x04)
 DeriveKey command mode set to 4 as in datasheet. More...
 
#define DERIVE_KEY_COUNT_LARGE   (39)
#define DERIVE_KEY_COUNT_LARGE   (39)
 DeriveKey command packet size with MAC. More...
 
#define DERIVE_KEY_RANDOM_FLAG   ((uint8_t)4)
#define DERIVE_KEY_RANDOM_FLAG   ((uint8_t)4)
 DeriveKey 1. parameter; has to match TempKey.SourceFlag. More...
 
#define DERIVE_KEY_MAC_SIZE   (32)
#define DERIVE_KEY_MAC_SIZE   (32)
 DeriveKey MAC size. More...
 
#define DERIVE_KEY_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define DERIVE_KEY_RSP_SIZE   ATCA_RSP_SIZE_MIN
 DeriveKey response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the ECDH Command

#define ECDH_PREFIX_MODE   ((uint8_t)0x00)
#define ECDH_PREFIX_MODE   ((uint8_t)0x00)
 
#define ECDH_COUNT   (ATCA_CMD_SIZE_MIN + ATCA_PUB_KEY_SIZE)
#define ECDH_COUNT   (ATCA_CMD_SIZE_MIN + ATCA_PUB_KEY_SIZE)
 
#define ECDH_MODE_SOURCE_MASK   ((uint8_t)0x01)
#define ECDH_MODE_SOURCE_MASK   ((uint8_t)0x01)
 
#define ECDH_MODE_SOURCE_EEPROM_SLOT   ((uint8_t)0x00)
#define ECDH_MODE_SOURCE_EEPROM_SLOT   ((uint8_t)0x00)
 
#define ECDH_MODE_SOURCE_TEMPKEY   ((uint8_t)0x01)
#define ECDH_MODE_SOURCE_TEMPKEY   ((uint8_t)0x01)
 
#define ECDH_MODE_OUTPUT_MASK   ((uint8_t)0x02)
#define ECDH_MODE_OUTPUT_MASK   ((uint8_t)0x02)
 
#define ECDH_MODE_OUTPUT_CLEAR   ((uint8_t)0x00)
#define ECDH_MODE_OUTPUT_CLEAR   ((uint8_t)0x00)
 
#define ECDH_MODE_OUTPUT_ENC   ((uint8_t)0x02)
#define ECDH_MODE_OUTPUT_ENC   ((uint8_t)0x02)
 
#define ECDH_MODE_COPY_MASK   ((uint8_t)0x0C)
#define ECDH_MODE_COPY_MASK   ((uint8_t)0x0C)
 
#define ECDH_MODE_COPY_COMPATIBLE   ((uint8_t)0x00)
#define ECDH_MODE_COPY_COMPATIBLE   ((uint8_t)0x00)
 
#define ECDH_MODE_COPY_EEPROM_SLOT   ((uint8_t)0x04)
#define ECDH_MODE_COPY_EEPROM_SLOT   ((uint8_t)0x04)
 
#define ECDH_MODE_COPY_TEMP_KEY   ((uint8_t)0x08)
#define ECDH_MODE_COPY_TEMP_KEY   ((uint8_t)0x08)
 
#define ECDH_MODE_COPY_OUTPUT_BUFFER   ((uint8_t)0x0C)
#define ECDH_MODE_COPY_OUTPUT_BUFFER   ((uint8_t)0x0C)
 
#define ECDH_KEY_SIZE   ATCA_BLOCK_SIZE
#define ECDH_KEY_SIZE   ATCA_BLOCK_SIZE
 ECDH output data size. More...
 
#define ECDH_RSP_SIZE   ATCA_RSP_SIZE_64
#define ECDH_RSP_SIZE   ATCA_RSP_SIZE_64
 ECDH command packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - +

Definitions for the GenDig Command

#define GENDIG_ZONE_IDX   ATCA_PARAM1_IDX
#define GENDIG_ZONE_IDX   ATCA_PARAM1_IDX
 GenDig command index for zone. More...
 
#define GENDIG_KEYID_IDX   ATCA_PARAM2_IDX
#define GENDIG_KEYID_IDX   ATCA_PARAM2_IDX
 GenDig command index for key id. More...
 
#define GENDIG_DATA_IDX   ATCA_DATA_IDX
#define GENDIG_DATA_IDX   ATCA_DATA_IDX
 GenDig command index for optional data. More...
 
#define GENDIG_COUNT   ATCA_CMD_SIZE_MIN
#define GENDIG_COUNT   ATCA_CMD_SIZE_MIN
 GenDig command packet size without "other data". More...
 
#define GENDIG_ZONE_CONFIG   ((uint8_t)0)
#define GENDIG_ZONE_CONFIG   ((uint8_t)0)
 GenDig zone id config. Use KeyID to specify any of the four 256-bit blocks of the Configuration zone. More...
 
#define GENDIG_ZONE_OTP   ((uint8_t)1)
#define GENDIG_ZONE_OTP   ((uint8_t)1)
 GenDig zone id OTP. Use KeyID to specify either the first or second 256-bit block of the OTP zone. More...
 
#define GENDIG_ZONE_DATA   ((uint8_t)2)
#define GENDIG_ZONE_DATA   ((uint8_t)2)
 GenDig zone id data. Use KeyID to specify a slot in the Data zone or a transport key in the hardware array. More...
 
#define GENDIG_ZONE_SHARED_NONCE   ((uint8_t)3)
#define GENDIG_ZONE_SHARED_NONCE   ((uint8_t)3)
 GenDig zone id shared nonce. KeyID specifies the location of the input value in the message generation. More...
 
#define GENDIG_ZONE_COUNTER   ((uint8_t)4)
#define GENDIG_ZONE_COUNTER   ((uint8_t)4)
 GenDig zone id counter. KeyID specifies the monotonic counter ID to be included in the message generation. More...
 
#define GENDIG_ZONE_KEY_CONFIG   ((uint8_t)5)
#define GENDIG_ZONE_KEY_CONFIG   ((uint8_t)5)
 GenDig zone id key config. KeyID specifies the slot for which the configuration information is to be included in the message generation. More...
 
#define GENDIG_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define GENDIG_RSP_SIZE   ATCA_RSP_SIZE_MIN
 GenDig command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the GenKey Command

#define GENKEY_MODE_IDX   ATCA_PARAM1_IDX
#define GENKEY_MODE_IDX   ATCA_PARAM1_IDX
 GenKey command index for mode. More...
 
#define GENKEY_KEYID_IDX   ATCA_PARAM2_IDX
#define GENKEY_KEYID_IDX   ATCA_PARAM2_IDX
 GenKey command index for key id. More...
 
#define GENKEY_DATA_IDX   (5)
#define GENKEY_DATA_IDX   (5)
 GenKey command index for other data. More...
 
#define GENKEY_COUNT   ATCA_CMD_SIZE_MIN
#define GENKEY_COUNT   ATCA_CMD_SIZE_MIN
 GenKey command packet size without "other data". More...
 
#define GENKEY_COUNT_DATA   (10)
#define GENKEY_COUNT_DATA   (10)
 GenKey command packet size with "other data". More...
 
#define GENKEY_OTHER_DATA_SIZE   (3)
#define GENKEY_OTHER_DATA_SIZE   (3)
 GenKey size of "other data". More...
 
#define GENKEY_MODE_MASK   ((uint8_t)0x1C)
#define GENKEY_MODE_MASK   ((uint8_t)0x1C)
 GenKey mode bits 0 to 1 and 5 to 7 are 0. More...
 
#define GENKEY_MODE_PRIVATE   ((uint8_t)0x04)
#define GENKEY_MODE_PRIVATE   ((uint8_t)0x04)
 GenKey mode: private key generation. More...
 
#define GENKEY_MODE_PUBLIC   ((uint8_t)0x00)
#define GENKEY_MODE_PUBLIC   ((uint8_t)0x00)
 GenKey mode: public key calculation. More...
 
#define GENKEY_MODE_DIGEST   ((uint8_t)0x08)
#define GENKEY_MODE_DIGEST   ((uint8_t)0x08)
 GenKey mode: PubKey digest will be created after the public key is calculated. More...
 
#define GENKEY_MODE_PUBKEY_DIGEST   ((uint8_t)0x10)
#define GENKEY_MODE_PUBKEY_DIGEST   ((uint8_t)0x10)
 GenKey mode: Calculate PubKey digest on the public key in KeyId. More...
 
#define GENKEY_PRIVATE_TO_TEMPKEY   ((uint16_t)0xFFFF)
#define GENKEY_PRIVATE_TO_TEMPKEY   ((uint16_t)0xFFFF)
 GenKey Create private key and store to tempkey (608 only) More...
 
#define GENKEY_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
#define GENKEY_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 GenKey response packet size in Digest mode. More...
 
#define GENKEY_RSP_SIZE_LONG   ATCA_RSP_SIZE_64
#define GENKEY_RSP_SIZE_LONG   ATCA_RSP_SIZE_64
 GenKey response packet size when returning a public key. More...
 
- + - + - + - + - + - + - + - + - + - + - +

Definitions for the HMAC Command

#define HMAC_MODE_IDX   ATCA_PARAM1_IDX
#define HMAC_MODE_IDX   ATCA_PARAM1_IDX
 HMAC command index for mode. More...
 
#define HMAC_KEYID_IDX   ATCA_PARAM2_IDX
#define HMAC_KEYID_IDX   ATCA_PARAM2_IDX
 HMAC command index for key id. More...
 
#define HMAC_COUNT   ATCA_CMD_SIZE_MIN
#define HMAC_COUNT   ATCA_CMD_SIZE_MIN
 HMAC command packet size. More...
 
#define HMAC_MODE_FLAG_TK_RAND   ((uint8_t)0x00)
#define HMAC_MODE_FLAG_TK_RAND   ((uint8_t)0x00)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_TK_NORAND   ((uint8_t)0x04)
#define HMAC_MODE_FLAG_TK_NORAND   ((uint8_t)0x04)
 HMAC mode bit 2: The value of this bit must match the value in TempKey.SourceFlag or the command will return an error. More...
 
#define HMAC_MODE_FLAG_OTP88   ((uint8_t)0x10)
#define HMAC_MODE_FLAG_OTP88   ((uint8_t)0x10)
 HMAC mode bit 4: Include the first 88 OTP bits (OTP[0] through OTP[10]) in the message.; otherwise, the corresponding message bits are set to zero. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_OTP64   ((uint8_t)0x20)
#define HMAC_MODE_FLAG_OTP64   ((uint8_t)0x20)
 HMAC mode bit 5: Include the first 64 OTP bits (OTP[0] through OTP[7]) in the message.; otherwise, the corresponding message bits are set to zero. If Mode[4] is set, the value of this mode bit is ignored. Not applicable for ATECC508A. More...
 
#define HMAC_MODE_FLAG_FULLSN   ((uint8_t)0x40)
#define HMAC_MODE_FLAG_FULLSN   ((uint8_t)0x40)
 HMAC mode bit 6: If set, include the 48 bits SN[2:3] and SN[4:7] in the message.; otherwise, the corresponding message bits are set to zero. More...
 
#define HMAC_MODE_MASK   ((uint8_t)0x74)
#define HMAC_MODE_MASK   ((uint8_t)0x74)
 HMAC mode bits 0, 1, 3, and 7 are 0. More...
 
#define HMAC_DIGEST_SIZE   (32)
#define HMAC_DIGEST_SIZE   (32)
 HMAC size of digest response. More...
 
#define HMAC_RSP_SIZE   ATCA_RSP_SIZE_32
#define HMAC_RSP_SIZE   ATCA_RSP_SIZE_32
 HMAC command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the Info Command

#define INFO_PARAM1_IDX   ATCA_PARAM1_IDX
#define INFO_PARAM1_IDX   ATCA_PARAM1_IDX
 Info command index for 1. parameter. More...
 
#define INFO_PARAM2_IDX   ATCA_PARAM2_IDX
#define INFO_PARAM2_IDX   ATCA_PARAM2_IDX
 Info command index for 2. parameter. More...
 
#define INFO_COUNT   ATCA_CMD_SIZE_MIN
#define INFO_COUNT   ATCA_CMD_SIZE_MIN
 Info command packet size. More...
 
#define INFO_MODE_REVISION   ((uint8_t)0x00)
#define INFO_MODE_REVISION   ((uint8_t)0x00)
 Info mode Revision. More...
 
#define INFO_MODE_KEY_VALID   ((uint8_t)0x01)
#define INFO_MODE_KEY_VALID   ((uint8_t)0x01)
 Info mode KeyValid. More...
 
#define INFO_MODE_STATE   ((uint8_t)0x02)
#define INFO_MODE_STATE   ((uint8_t)0x02)
 Info mode State. More...
 
#define INFO_MODE_GPIO   ((uint8_t)0x03)
#define INFO_MODE_GPIO   ((uint8_t)0x03)
 Info mode GPIO. More...
 
#define INFO_MODE_VOL_KEY_PERMIT   ((uint8_t)0x04)
#define INFO_MODE_VOL_KEY_PERMIT   ((uint8_t)0x04)
 Info mode GPIO. More...
 
#define INFO_MODE_MAX   ((uint8_t)0x03)
#define INFO_MODE_MAX   ((uint8_t)0x03)
 Info mode maximum value. More...
 
#define INFO_NO_STATE   ((uint8_t)0x00)
#define INFO_NO_STATE   ((uint8_t)0x00)
 Info mode is not the state mode. More...
 
#define INFO_OUTPUT_STATE_MASK   ((uint8_t)0x01)
#define INFO_OUTPUT_STATE_MASK   ((uint8_t)0x01)
 Info output state mask. More...
 
#define INFO_DRIVER_STATE_MASK   ((uint8_t)0x02)
#define INFO_DRIVER_STATE_MASK   ((uint8_t)0x02)
 Info driver state mask. More...
 
#define INFO_PARAM2_SET_LATCH_STATE   ((uint16_t)0x0002)
#define INFO_PARAM2_SET_LATCH_STATE   ((uint16_t)0x0002)
 Info param2 to set the persistent latch state. More...
 
#define INFO_PARAM2_LATCH_SET   ((uint16_t)0x0001)
#define INFO_PARAM2_LATCH_SET   ((uint16_t)0x0001)
 Info param2 to set the persistent latch. More...
 
#define INFO_PARAM2_LATCH_CLEAR   ((uint16_t)0x0000)
#define INFO_PARAM2_LATCH_CLEAR   ((uint16_t)0x0000)
 Info param2 to clear the persistent latch. More...
 
#define INFO_SIZE   ((uint8_t)0x04)
#define INFO_SIZE   ((uint8_t)0x04)
 Info return size. More...
 
#define INFO_RSP_SIZE   ATCA_RSP_SIZE_VAL
#define INFO_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Info command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the KDF Command

#define KDF_MODE_IDX   ATCA_PARAM1_IDX
#define KDF_MODE_IDX   ATCA_PARAM1_IDX
 KDF command index for mode. More...
 
#define KDF_KEYID_IDX   ATCA_PARAM2_IDX
#define KDF_KEYID_IDX   ATCA_PARAM2_IDX
 KDF command index for key id. More...
 
#define KDF_DETAILS_IDX   ATCA_DATA_IDX
#define KDF_DETAILS_IDX   ATCA_DATA_IDX
 KDF command index for details. More...
 
#define KDF_DETAILS_SIZE   4
#define KDF_DETAILS_SIZE   4
 KDF details (param3) size. More...
 
#define KDF_MESSAGE_IDX   (ATCA_DATA_IDX + KDF_DETAILS_SIZE)
#define KDF_MESSAGE_IDX   (ATCA_DATA_IDX + KDF_DETAILS_SIZE)
 
#define KDF_MODE_SOURCE_MASK   ((uint8_t)0x03)
#define KDF_MODE_SOURCE_MASK   ((uint8_t)0x03)
 KDF mode source key mask. More...
 
#define KDF_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
#define KDF_MODE_SOURCE_TEMPKEY   ((uint8_t)0x00)
 KDF mode source key in TempKey. More...
 
#define KDF_MODE_SOURCE_TEMPKEY_UP   ((uint8_t)0x01)
#define KDF_MODE_SOURCE_TEMPKEY_UP   ((uint8_t)0x01)
 KDF mode source key in upper TempKey. More...
 
#define KDF_MODE_SOURCE_SLOT   ((uint8_t)0x02)
#define KDF_MODE_SOURCE_SLOT   ((uint8_t)0x02)
 KDF mode source key in a slot. More...
 
#define KDF_MODE_SOURCE_ALTKEYBUF   ((uint8_t)0x03)
#define KDF_MODE_SOURCE_ALTKEYBUF   ((uint8_t)0x03)
 KDF mode source key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_MASK   ((uint8_t)0x1C)
#define KDF_MODE_TARGET_MASK   ((uint8_t)0x1C)
 KDF mode target key mask. More...
 
#define KDF_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
#define KDF_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 KDF mode target key in TempKey. More...
 
#define KDF_MODE_TARGET_TEMPKEY_UP   ((uint8_t)0x04)
#define KDF_MODE_TARGET_TEMPKEY_UP   ((uint8_t)0x04)
 KDF mode target key in upper TempKey. More...
 
#define KDF_MODE_TARGET_SLOT   ((uint8_t)0x08)
#define KDF_MODE_TARGET_SLOT   ((uint8_t)0x08)
 KDF mode target key in slot. More...
 
#define KDF_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x0C)
#define KDF_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x0C)
 KDF mode target key in alternate key buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT   ((uint8_t)0x10)
#define KDF_MODE_TARGET_OUTPUT   ((uint8_t)0x10)
 KDF mode target key in output buffer. More...
 
#define KDF_MODE_TARGET_OUTPUT_ENC   ((uint8_t)0x14)
#define KDF_MODE_TARGET_OUTPUT_ENC   ((uint8_t)0x14)
 KDF mode target key encrypted in output buffer. More...
 
#define KDF_MODE_ALG_MASK   ((uint8_t)0x60)
#define KDF_MODE_ALG_MASK   ((uint8_t)0x60)
 KDF mode algorithm mask. More...
 
#define KDF_MODE_ALG_PRF   ((uint8_t)0x00)
#define KDF_MODE_ALG_PRF   ((uint8_t)0x00)
 KDF mode PRF algorithm. More...
 
#define KDF_MODE_ALG_AES   ((uint8_t)0x20)
#define KDF_MODE_ALG_AES   ((uint8_t)0x20)
 KDF mode AES algorithm. More...
 
#define KDF_MODE_ALG_HKDF   ((uint8_t)0x40)
#define KDF_MODE_ALG_HKDF   ((uint8_t)0x40)
 KDF mode HKDF algorithm. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_MASK   ((uint32_t)0x00000003)
#define KDF_DETAILS_PRF_KEY_LEN_MASK   ((uint32_t)0x00000003)
 KDF details for PRF, source key length mask. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_16   ((uint32_t)0x00000000)
#define KDF_DETAILS_PRF_KEY_LEN_16   ((uint32_t)0x00000000)
 KDF details for PRF, source key length is 16 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_32   ((uint32_t)0x00000001)
#define KDF_DETAILS_PRF_KEY_LEN_32   ((uint32_t)0x00000001)
 KDF details for PRF, source key length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_48   ((uint32_t)0x00000002)
#define KDF_DETAILS_PRF_KEY_LEN_48   ((uint32_t)0x00000002)
 KDF details for PRF, source key length is 48 bytes. More...
 
#define KDF_DETAILS_PRF_KEY_LEN_64   ((uint32_t)0x00000003)
#define KDF_DETAILS_PRF_KEY_LEN_64   ((uint32_t)0x00000003)
 KDF details for PRF, source key length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_MASK   ((uint32_t)0x00000100)
#define KDF_DETAILS_PRF_TARGET_LEN_MASK   ((uint32_t)0x00000100)
 KDF details for PRF, target length mask. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_32   ((uint32_t)0x00000000)
#define KDF_DETAILS_PRF_TARGET_LEN_32   ((uint32_t)0x00000000)
 KDF details for PRF, target length is 32 bytes. More...
 
#define KDF_DETAILS_PRF_TARGET_LEN_64   ((uint32_t)0x00000100)
#define KDF_DETAILS_PRF_TARGET_LEN_64   ((uint32_t)0x00000100)
 KDF details for PRF, target length is 64 bytes. More...
 
#define KDF_DETAILS_PRF_AEAD_MASK   ((uint32_t)0x00000600)
#define KDF_DETAILS_PRF_AEAD_MASK   ((uint32_t)0x00000600)
 KDF details for PRF, AEAD processing mask. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE0   ((uint32_t)0x00000000)
#define KDF_DETAILS_PRF_AEAD_MODE0   ((uint32_t)0x00000000)
 KDF details for PRF, AEAD no processing. More...
 
#define KDF_DETAILS_PRF_AEAD_MODE1   ((uint32_t)0x00000200)
#define KDF_DETAILS_PRF_AEAD_MODE1   ((uint32_t)0x00000200)
 KDF details for PRF, AEAD First 32 go to target, second 32 go to output buffer. More...
 
#define KDF_DETAILS_AES_KEY_LOC_MASK   ((uint32_t)0x00000003)
#define KDF_DETAILS_AES_KEY_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for AES, key location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_MASK   ((uint32_t)0x00000003)
#define KDF_DETAILS_HKDF_MSG_LOC_MASK   ((uint32_t)0x00000003)
 KDF details for HKDF, message location mask. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_SLOT   ((uint32_t)0x00000000)
#define KDF_DETAILS_HKDF_MSG_LOC_SLOT   ((uint32_t)0x00000000)
 KDF details for HKDF, message location in slot. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY   ((uint32_t)0x00000001)
#define KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY   ((uint32_t)0x00000001)
 KDF details for HKDF, message location in TempKey. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_INPUT   ((uint32_t)0x00000002)
#define KDF_DETAILS_HKDF_MSG_LOC_INPUT   ((uint32_t)0x00000002)
 KDF details for HKDF, message location in input parameter. More...
 
#define KDF_DETAILS_HKDF_MSG_LOC_IV   ((uint32_t)0x00000003)
#define KDF_DETAILS_HKDF_MSG_LOC_IV   ((uint32_t)0x00000003)
 KDF details for HKDF, message location is a special IV function. More...
 
#define KDF_DETAILS_HKDF_ZERO_KEY   ((uint32_t)0x00000004)
#define KDF_DETAILS_HKDF_ZERO_KEY   ((uint32_t)0x00000004)
 KDF details for HKDF, key is 32 bytes of zero. More...
 
- + - + - + - + - + - + - + - + - + - + - +

Definitions for the Lock Command

#define LOCK_ZONE_IDX   ATCA_PARAM1_IDX
#define LOCK_ZONE_IDX   ATCA_PARAM1_IDX
 Lock command index for zone. More...
 
#define LOCK_SUMMARY_IDX   ATCA_PARAM2_IDX
#define LOCK_SUMMARY_IDX   ATCA_PARAM2_IDX
 Lock command index for summary. More...
 
#define LOCK_COUNT   ATCA_CMD_SIZE_MIN
#define LOCK_COUNT   ATCA_CMD_SIZE_MIN
 Lock command packet size. More...
 
#define LOCK_ZONE_CONFIG   ((uint8_t)0x00)
#define LOCK_ZONE_CONFIG   ((uint8_t)0x00)
 Lock zone is Config. More...
 
#define LOCK_ZONE_DATA   ((uint8_t)0x01)
#define LOCK_ZONE_DATA   ((uint8_t)0x01)
 Lock zone is OTP or Data. More...
 
#define LOCK_ZONE_DATA_SLOT   ((uint8_t)0x02)
#define LOCK_ZONE_DATA_SLOT   ((uint8_t)0x02)
 Lock slot of Data. More...
 
#define LOCK_ZONE_NO_CRC   ((uint8_t)0x80)
#define LOCK_ZONE_NO_CRC   ((uint8_t)0x80)
 Lock command: Ignore summary. More...
 
#define LOCK_ZONE_MASK   (0xBF)
#define LOCK_ZONE_MASK   (0xBF)
 Lock parameter 1 bits 6 are 0. More...
 
#define ATCA_UNLOCKED   (0x55)
#define ATCA_UNLOCKED   (0x55)
 Value indicating an unlocked zone. More...
 
#define ATCA_LOCKED   (0x00)
#define ATCA_LOCKED   (0x00)
 Value indicating a locked zone. More...
 
#define LOCK_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define LOCK_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Lock command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the MAC Command

#define MAC_MODE_IDX   ATCA_PARAM1_IDX
#define MAC_MODE_IDX   ATCA_PARAM1_IDX
 MAC command index for mode. More...
 
#define MAC_KEYID_IDX   ATCA_PARAM2_IDX
#define MAC_KEYID_IDX   ATCA_PARAM2_IDX
 MAC command index for key id. More...
 
#define MAC_CHALLENGE_IDX   ATCA_DATA_IDX
#define MAC_CHALLENGE_IDX   ATCA_DATA_IDX
 MAC command index for optional challenge. More...
 
#define MAC_COUNT_SHORT   ATCA_CMD_SIZE_MIN
#define MAC_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 MAC command packet size without challenge. More...
 
#define MAC_COUNT_LONG   (39)
#define MAC_COUNT_LONG   (39)
 MAC command packet size with challenge. More...
 
#define MAC_MODE_CHALLENGE   ((uint8_t)0x00)
#define MAC_MODE_CHALLENGE   ((uint8_t)0x00)
 MAC mode 0: first SHA block from data slot. More...
 
#define MAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
#define MAC_MODE_BLOCK2_TEMPKEY   ((uint8_t)0x01)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
#define MAC_MODE_BLOCK1_TEMPKEY   ((uint8_t)0x02)
 MAC mode bit 1: first SHA block from TempKey. More...
 
#define MAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
#define MAC_MODE_SOURCE_FLAG_MATCH   ((uint8_t)0x04)
 MAC mode bit 2: match TempKey.SourceFlag. More...
 
#define MAC_MODE_PTNONCE_TEMPKEY   ((uint8_t)0x06)
#define MAC_MODE_PTNONCE_TEMPKEY   ((uint8_t)0x06)
 MAC mode bit 0: second SHA block from TempKey. More...
 
#define MAC_MODE_PASSTHROUGH   ((uint8_t)0x07)
#define MAC_MODE_PASSTHROUGH   ((uint8_t)0x07)
 MAC mode bit 0-2: pass-through mode. More...
 
#define MAC_MODE_INCLUDE_OTP_88   ((uint8_t)0x10)
#define MAC_MODE_INCLUDE_OTP_88   ((uint8_t)0x10)
 MAC mode bit 4: include first 88 OTP bits. More...
 
#define MAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
#define MAC_MODE_INCLUDE_OTP_64   ((uint8_t)0x20)
 MAC mode bit 5: include first 64 OTP bits. More...
 
#define MAC_MODE_INCLUDE_SN   ((uint8_t)0x40)
#define MAC_MODE_INCLUDE_SN   ((uint8_t)0x40)
 MAC mode bit 6: include serial number. More...
 
#define MAC_CHALLENGE_SIZE   (32)
#define MAC_CHALLENGE_SIZE   (32)
 MAC size of challenge. More...
 
#define MAC_SIZE   (32)
#define MAC_SIZE   (32)
 MAC size of response. More...
 
#define MAC_MODE_MASK   ((uint8_t)0x77)
#define MAC_MODE_MASK   ((uint8_t)0x77)
 MAC mode bits 3 and 7 are 0. More...
 
#define MAC_RSP_SIZE   ATCA_RSP_SIZE_32
#define MAC_RSP_SIZE   ATCA_RSP_SIZE_32
 MAC command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the Nonce Command

#define NONCE_MODE_IDX   ATCA_PARAM1_IDX
#define NONCE_MODE_IDX   ATCA_PARAM1_IDX
 Nonce command index for mode. More...
 
#define NONCE_PARAM2_IDX   ATCA_PARAM2_IDX
#define NONCE_PARAM2_IDX   ATCA_PARAM2_IDX
 Nonce command index for 2. parameter. More...
 
#define NONCE_INPUT_IDX   ATCA_DATA_IDX
#define NONCE_INPUT_IDX   ATCA_DATA_IDX
 Nonce command index for input data. More...
 
#define NONCE_COUNT_SHORT   (ATCA_CMD_SIZE_MIN + 20)
#define NONCE_COUNT_SHORT   (ATCA_CMD_SIZE_MIN + 20)
 Nonce command packet size for 20 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG   (ATCA_CMD_SIZE_MIN + 32)
#define NONCE_COUNT_LONG   (ATCA_CMD_SIZE_MIN + 32)
 Nonce command packet size for 32 bytes of NumIn. More...
 
#define NONCE_COUNT_LONG_64   (ATCA_CMD_SIZE_MIN + 64)
#define NONCE_COUNT_LONG_64   (ATCA_CMD_SIZE_MIN + 64)
 Nonce command packet size for 64 bytes of NumIn. More...
 
#define NONCE_MODE_MASK   ((uint8_t)0x03)
#define NONCE_MODE_MASK   ((uint8_t)0x03)
 Nonce mode bits 2 to 7 are 0. More...
 
#define NONCE_MODE_SEED_UPDATE   ((uint8_t)0x00)
#define NONCE_MODE_SEED_UPDATE   ((uint8_t)0x00)
 Nonce mode: update seed. More...
 
#define NONCE_MODE_NO_SEED_UPDATE   ((uint8_t)0x01)
#define NONCE_MODE_NO_SEED_UPDATE   ((uint8_t)0x01)
 Nonce mode: do not update seed. More...
 
#define NONCE_MODE_INVALID   ((uint8_t)0x02)
#define NONCE_MODE_INVALID   ((uint8_t)0x02)
 Nonce mode 2 is invalid. More...
 
#define NONCE_MODE_PASSTHROUGH   ((uint8_t)0x03)
#define NONCE_MODE_PASSTHROUGH   ((uint8_t)0x03)
 Nonce mode: pass-through. More...
 
#define NONCE_MODE_INPUT_LEN_MASK   ((uint8_t)0x20)
#define NONCE_MODE_INPUT_LEN_MASK   ((uint8_t)0x20)
 Nonce mode: input size mask. More...
 
#define NONCE_MODE_INPUT_LEN_32   ((uint8_t)0x00)
#define NONCE_MODE_INPUT_LEN_32   ((uint8_t)0x00)
 Nonce mode: input size is 32 bytes. More...
 
#define NONCE_MODE_INPUT_LEN_64   ((uint8_t)0x20)
#define NONCE_MODE_INPUT_LEN_64   ((uint8_t)0x20)
 Nonce mode: input size is 64 bytes. More...
 
#define NONCE_MODE_TARGET_MASK   ((uint8_t)0xC0)
#define NONCE_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Nonce mode: target mask. More...
 
#define NONCE_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
#define NONCE_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Nonce mode: target is TempKey. More...
 
#define NONCE_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
#define NONCE_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Nonce mode: target is Message Digest Buffer. More...
 
#define NONCE_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x80)
#define NONCE_MODE_TARGET_ALTKEYBUF   ((uint8_t)0x80)
 Nonce mode: target is Alternate Key Buffer. More...
 
#define NONCE_ZERO_CALC_MASK   ((uint16_t)0x8000)
#define NONCE_ZERO_CALC_MASK   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode mask. More...
 
#define NONCE_ZERO_CALC_RANDOM   ((uint16_t)0x0000)
#define NONCE_ZERO_CALC_RANDOM   ((uint16_t)0x0000)
 Nonce zero (param2): calculation mode random, use RNG in calculation and return RNG output. More...
 
#define NONCE_ZERO_CALC_TEMPKEY   ((uint16_t)0x8000)
#define NONCE_ZERO_CALC_TEMPKEY   ((uint16_t)0x8000)
 Nonce zero (param2): calculation mode TempKey, use TempKey in calculation and return new TempKey value. More...
 
#define NONCE_NUMIN_SIZE   (20)
#define NONCE_NUMIN_SIZE   (20)
 Nonce NumIn size for random modes. More...
 
#define NONCE_NUMIN_SIZE_PASSTHROUGH   (32)
#define NONCE_NUMIN_SIZE_PASSTHROUGH   (32)
 Nonce NumIn size for 32-byte pass-through mode. More...
 
#define NONCE_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
#define NONCE_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 Nonce command response packet size with no output. More...
 
#define NONCE_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
#define NONCE_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 Nonce command response packet size with output. More...
 
- + - + - + - +

Definitions for the Pause Command

#define PAUSE_SELECT_IDX   ATCA_PARAM1_IDX
#define PAUSE_SELECT_IDX   ATCA_PARAM1_IDX
 Pause command index for Selector. More...
 
#define PAUSE_PARAM2_IDX   ATCA_PARAM2_IDX
#define PAUSE_PARAM2_IDX   ATCA_PARAM2_IDX
 Pause command index for 2. parameter. More...
 
#define PAUSE_COUNT   ATCA_CMD_SIZE_MIN
#define PAUSE_COUNT   ATCA_CMD_SIZE_MIN
 Pause command packet size. More...
 
#define PAUSE_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define PAUSE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 Pause command response packet size. More...
 
- + - + - + - + - + - + - + - +

Definitions for the PrivWrite Command

#define PRIVWRITE_ZONE_IDX   ATCA_PARAM1_IDX
#define PRIVWRITE_ZONE_IDX   ATCA_PARAM1_IDX
 PrivWrite command index for zone. More...
 
#define PRIVWRITE_KEYID_IDX   ATCA_PARAM2_IDX
#define PRIVWRITE_KEYID_IDX   ATCA_PARAM2_IDX
 PrivWrite command index for KeyID. More...
 
#define PRIVWRITE_VALUE_IDX   ( 5)
#define PRIVWRITE_VALUE_IDX   ( 5)
 PrivWrite command index for value. More...
 
#define PRIVWRITE_MAC_IDX   (41)
#define PRIVWRITE_MAC_IDX   (41)
 PrivWrite command index for MAC. More...
 
#define PRIVWRITE_COUNT   (75)
#define PRIVWRITE_COUNT   (75)
 PrivWrite command packet size. More...
 
#define PRIVWRITE_ZONE_MASK   ((uint8_t)0x40)
#define PRIVWRITE_ZONE_MASK   ((uint8_t)0x40)
 PrivWrite zone bits 0 to 5 and 7 are 0. More...
 
#define PRIVWRITE_MODE_ENCRYPT   ((uint8_t)0x40)
#define PRIVWRITE_MODE_ENCRYPT   ((uint8_t)0x40)
 PrivWrite mode: encrypted. More...
 
#define PRIVWRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define PRIVWRITE_RSP_SIZE   ATCA_RSP_SIZE_MIN
 PrivWrite command response packet size. More...
 
- + - + - + - + - + - + - +

Definitions for the Random Command

#define RANDOM_MODE_IDX   ATCA_PARAM1_IDX
#define RANDOM_MODE_IDX   ATCA_PARAM1_IDX
 Random command index for mode. More...
 
#define RANDOM_PARAM2_IDX   ATCA_PARAM2_IDX
#define RANDOM_PARAM2_IDX   ATCA_PARAM2_IDX
 Random command index for 2. parameter. More...
 
#define RANDOM_COUNT   ATCA_CMD_SIZE_MIN
#define RANDOM_COUNT   ATCA_CMD_SIZE_MIN
 Random command packet size. More...
 
#define RANDOM_SEED_UPDATE   ((uint8_t)0x00)
#define RANDOM_SEED_UPDATE   ((uint8_t)0x00)
 Random mode for automatic seed update. More...
 
#define RANDOM_NO_SEED_UPDATE   ((uint8_t)0x01)
#define RANDOM_NO_SEED_UPDATE   ((uint8_t)0x01)
 Random mode for no seed update. More...
 
#define RANDOM_NUM_SIZE   ((uint8_t)32)
#define RANDOM_NUM_SIZE   ((uint8_t)32)
 Number of bytes in the data packet of a random command. More...
 
#define RANDOM_RSP_SIZE   ATCA_RSP_SIZE_32
#define RANDOM_RSP_SIZE   ATCA_RSP_SIZE_32
 Random command response packet size. More...
 
- + - + - + - + - + - +

Definitions for the Read Command

#define READ_ZONE_IDX   ATCA_PARAM1_IDX
#define READ_ZONE_IDX   ATCA_PARAM1_IDX
 Read command index for zone. More...
 
#define READ_ADDR_IDX   ATCA_PARAM2_IDX
#define READ_ADDR_IDX   ATCA_PARAM2_IDX
 Read command index for address. More...
 
#define READ_COUNT   ATCA_CMD_SIZE_MIN
#define READ_COUNT   ATCA_CMD_SIZE_MIN
 Read command packet size. More...
 
#define READ_ZONE_MASK   ((uint8_t)0x83)
#define READ_ZONE_MASK   ((uint8_t)0x83)
 Read zone bits 2 to 6 are 0. More...
 
#define READ_4_RSP_SIZE   ATCA_RSP_SIZE_VAL
#define READ_4_RSP_SIZE   ATCA_RSP_SIZE_VAL
 Read command response packet size when reading 4 bytes. More...
 
#define READ_32_RSP_SIZE   ATCA_RSP_SIZE_32
#define READ_32_RSP_SIZE   ATCA_RSP_SIZE_32
 Read command response packet size when reading 32 bytes. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the SecureBoot Command

#define SECUREBOOT_MODE_IDX   ATCA_PARAM1_IDX
#define SECUREBOOT_MODE_IDX   ATCA_PARAM1_IDX
 SecureBoot command index for mode. More...
 
#define SECUREBOOT_DIGEST_SIZE   (32)
#define SECUREBOOT_DIGEST_SIZE   (32)
 SecureBoot digest input size. More...
 
#define SECUREBOOT_SIGNATURE_SIZE   (64)
#define SECUREBOOT_SIGNATURE_SIZE   (64)
 SecureBoot signature input size. More...
 
#define SECUREBOOT_COUNT_DIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE)
#define SECUREBOOT_COUNT_DIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE)
 SecureBoot command packet size for just a digest. More...
 
#define SECUREBOOT_COUNT_DIG_SIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE + SECUREBOOT_SIGNATURE_SIZE)
#define SECUREBOOT_COUNT_DIG_SIG   (ATCA_CMD_SIZE_MIN + SECUREBOOT_DIGEST_SIZE + SECUREBOOT_SIGNATURE_SIZE)
 SecureBoot command packet size for a digest and signature. More...
 
#define SECUREBOOT_MAC_SIZE   (32)
#define SECUREBOOT_MAC_SIZE   (32)
 SecureBoot MAC output size. More...
 
#define SECUREBOOT_RSP_SIZE_NO_MAC   ATCA_RSP_SIZE_MIN
#define SECUREBOOT_RSP_SIZE_NO_MAC   ATCA_RSP_SIZE_MIN
 SecureBoot response packet size for no MAC. More...
 
#define SECUREBOOT_RSP_SIZE_MAC   (ATCA_PACKET_OVERHEAD + SECUREBOOT_MAC_SIZE)
#define SECUREBOOT_RSP_SIZE_MAC   (ATCA_PACKET_OVERHEAD + SECUREBOOT_MAC_SIZE)
 SecureBoot response packet size with MAC. More...
 
#define SECUREBOOT_MODE_MASK   ((uint8_t)0x07)
#define SECUREBOOT_MODE_MASK   ((uint8_t)0x07)
 SecureBoot mode mask. More...
 
#define SECUREBOOT_MODE_FULL   ((uint8_t)0x05)
#define SECUREBOOT_MODE_FULL   ((uint8_t)0x05)
 SecureBoot mode Full. More...
 
#define SECUREBOOT_MODE_FULL_STORE   ((uint8_t)0x06)
#define SECUREBOOT_MODE_FULL_STORE   ((uint8_t)0x06)
 SecureBoot mode FullStore. More...
 
#define SECUREBOOT_MODE_FULL_COPY   ((uint8_t)0x07)
#define SECUREBOOT_MODE_FULL_COPY   ((uint8_t)0x07)
 SecureBoot mode FullCopy. More...
 
#define SECUREBOOT_MODE_PROHIBIT_FLAG   ((uint8_t)0x40)
#define SECUREBOOT_MODE_PROHIBIT_FLAG   ((uint8_t)0x40)
 SecureBoot mode flag to prohibit SecureBoot until next power cycle. More...
 
#define SECUREBOOT_MODE_ENC_MAC_FLAG   ((uint8_t)0x80)
#define SECUREBOOT_MODE_ENC_MAC_FLAG   ((uint8_t)0x80)
 SecureBoot mode flag for encrypted digest and returning validating MAC. More...
 
#define SECUREBOOTCONFIG_OFFSET   (70)
#define SECUREBOOTCONFIG_OFFSET   (70)
 SecureBootConfig byte offset into the configuration zone. More...
 
#define SECUREBOOTCONFIG_MODE_MASK   ((uint16_t)0x0003)
#define SECUREBOOTCONFIG_MODE_MASK   ((uint16_t)0x0003)
 Mask for SecureBootMode field in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_DISABLED   ((uint16_t)0x0000)
#define SECUREBOOTCONFIG_MODE_DISABLED   ((uint16_t)0x0000)
 Disabled SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_BOTH   ((uint16_t)0x0001)
#define SECUREBOOTCONFIG_MODE_FULL_BOTH   ((uint16_t)0x0001)
 Both digest and signature always required SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_SIG   ((uint16_t)0x0002)
#define SECUREBOOTCONFIG_MODE_FULL_SIG   ((uint16_t)0x0002)
 Signature stored SecureBootMode in SecureBootConfig value. More...
 
#define SECUREBOOTCONFIG_MODE_FULL_DIG   ((uint16_t)0x0003)
#define SECUREBOOTCONFIG_MODE_FULL_DIG   ((uint16_t)0x0003)
 Digest stored SecureBootMode in SecureBootConfig value. More...
 
- + - + - + - + - + - + - + - + - +

Definitions for the SelfTest Command

#define SELFTEST_MODE_IDX   ATCA_PARAM1_IDX
#define SELFTEST_MODE_IDX   ATCA_PARAM1_IDX
 SelfTest command index for mode. More...
 
#define SELFTEST_COUNT   ATCA_CMD_SIZE_MIN
#define SELFTEST_COUNT   ATCA_CMD_SIZE_MIN
 SelfTest command packet size. More...
 
#define SELFTEST_MODE_RNG   ((uint8_t)0x01)
#define SELFTEST_MODE_RNG   ((uint8_t)0x01)
 SelfTest mode RNG DRBG function. More...
 
#define SELFTEST_MODE_ECDSA_SIGN_VERIFY   ((uint8_t)0x02)
#define SELFTEST_MODE_ECDSA_SIGN_VERIFY   ((uint8_t)0x02)
 SelfTest mode ECDSA verify function. More...
 
#define SELFTEST_MODE_ECDH   ((uint8_t)0x08)
#define SELFTEST_MODE_ECDH   ((uint8_t)0x08)
 SelfTest mode ECDH function. More...
 
#define SELFTEST_MODE_AES   ((uint8_t)0x10)
#define SELFTEST_MODE_AES   ((uint8_t)0x10)
 SelfTest mode AES encrypt function. More...
 
#define SELFTEST_MODE_SHA   ((uint8_t)0x20)
#define SELFTEST_MODE_SHA   ((uint8_t)0x20)
 SelfTest mode SHA function. More...
 
#define SELFTEST_MODE_ALL   ((uint8_t)0x3B)
#define SELFTEST_MODE_ALL   ((uint8_t)0x3B)
 SelfTest mode all algorithms. More...
 
#define SELFTEST_RSP_SIZE   ATCA_RSP_SIZE_MIN
#define SELFTEST_RSP_SIZE   ATCA_RSP_SIZE_MIN
 SelfTest command response packet size. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Definitions for the SHA Command

#define SHA_COUNT_SHORT   ATCA_CMD_SIZE_MIN
#define SHA_COUNT_SHORT   ATCA_CMD_SIZE_MIN
 
#define SHA_COUNT_LONG   ATCA_CMD_SIZE_MIN
#define SHA_COUNT_LONG   ATCA_CMD_SIZE_MIN
 Just a starting size. More...
 
#define ATCA_SHA_DIGEST_SIZE   (32)
#define ATCA_SHA_DIGEST_SIZE   (32)
 
#define SHA_DATA_MAX   (64)
#define SHA_DATA_MAX   (64)
 
#define ATCA_SHA256_BLOCK_SIZE   (64)
#define ATCA_SHA256_BLOCK_SIZE   (64)
 
#define SHA_CONTEXT_MAX_SIZE   (99)
#define SHA_CONTEXT_MAX_SIZE   (99)
 
#define SHA_MODE_MASK   ((uint8_t)0x07)
#define SHA_MODE_MASK   ((uint8_t)0x07)
 Mask the bit 0-2. More...
 
#define SHA_MODE_SHA256_START   ((uint8_t)0x00)
#define SHA_MODE_SHA256_START   ((uint8_t)0x00)
 Initialization, does not accept a message. More...
 
#define SHA_MODE_SHA256_UPDATE   ((uint8_t)0x01)
#define SHA_MODE_SHA256_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_SHA256_END   ((uint8_t)0x02)
#define SHA_MODE_SHA256_END   ((uint8_t)0x02)
 Complete the calculation and return the digest. More...
 
#define SHA_MODE_SHA256_PUBLIC   ((uint8_t)0x03)
#define SHA_MODE_SHA256_PUBLIC   ((uint8_t)0x03)
 Add 64 byte ECC public key in the slot to the SHA context. More...
 
#define SHA_MODE_HMAC_START   ((uint8_t)0x04)
#define SHA_MODE_HMAC_START   ((uint8_t)0x04)
 Initialization, HMAC calculation. More...
 
#define SHA_MODE_HMAC_UPDATE   ((uint8_t)0x01)
#define SHA_MODE_HMAC_UPDATE   ((uint8_t)0x01)
 Add 64 bytes in the meesage to the SHA context. More...
 
#define SHA_MODE_HMAC_END   ((uint8_t)0x05)
#define SHA_MODE_HMAC_END   ((uint8_t)0x05)
 Complete the HMAC computation and return digest. More...
 
#define SHA_MODE_608_HMAC_END   ((uint8_t)0x02)
#define SHA_MODE_608_HMAC_END   ((uint8_t)0x02)
 Complete the HMAC computation and return digest... Different command on 608. More...
 
#define SHA_MODE_READ_CONTEXT   ((uint8_t)0x06)
#define SHA_MODE_READ_CONTEXT   ((uint8_t)0x06)
 Read current SHA-256 context out of the device. More...
 
#define SHA_MODE_WRITE_CONTEXT   ((uint8_t)0x07)
#define SHA_MODE_WRITE_CONTEXT   ((uint8_t)0x07)
 Restore a SHA-256 context into the device. More...
 
#define SHA_MODE_TARGET_MASK   ((uint8_t)0xC0)
#define SHA_MODE_TARGET_MASK   ((uint8_t)0xC0)
 Resulting digest target location mask. More...
 
#define SHA_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
#define SHA_MODE_TARGET_TEMPKEY   ((uint8_t)0x00)
 Place resulting digest both in Output buffer and TempKey. More...
 
#define SHA_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
#define SHA_MODE_TARGET_MSGDIGBUF   ((uint8_t)0x40)
 Place resulting digest both in Output buffer and Message Digest Buffer. More...
 
#define SHA_MODE_TARGET_OUT_ONLY   ((uint8_t)0xC0)
#define SHA_MODE_TARGET_OUT_ONLY   ((uint8_t)0xC0)
 Place resulting digest both in Output buffer ONLY. More...
 
#define SHA_RSP_SIZE   ATCA_RSP_SIZE_32
#define SHA_RSP_SIZE   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
#define SHA_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
#define SHA_RSP_SIZE_SHORT   ATCA_RSP_SIZE_MIN
 SHA command response packet size only status code. More...
 
#define SHA_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
#define SHA_RSP_SIZE_LONG   ATCA_RSP_SIZE_32
 SHA command response packet size. More...
 
@@ -1458,7 +1458,7 @@

- +
#define AES_INPUT_IDX   ATCA_DATA_IDX#define AES_INPUT_IDX   ATCA_DATA_IDX

@@ -7482,15 +7482,15 @@

- + - + - + @@ -7522,7 +7522,7 @@

void atCalcCrc

- + @@ -7546,7 +7546,7 @@

ATCA_STATUS atAES ATCA_STATUS atAES (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
(ATCAPacketATCAPacket packet)
- + @@ -7573,15 +7573,15 @@

ATCA_STATUS atCheckCrc ATCA_STATUS atCheckCrc ( const uint8_t *  response)
- + - + - + @@ -7611,15 +7611,15 @@

ATCA_STATUS atCheckMAC ATCA_STATUS atCheckMAC (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -7693,15 +7693,15 @@

ATCA_STATUS atCounter ATCA_STATUS atCounter (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -7738,15 +7738,15 @@

ATCA_STATUS atDeriveKey ATCA_STATUS atDeriveKey (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet,
- + - + - + @@ -7776,15 +7776,15 @@

ATCA_STATUS atECDH ATCA_STATUS atECDH (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -7821,15 +7821,15 @@

ATCA_STATUS atGenDig ATCA_STATUS atGenDig (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet,
- + - + - + @@ -7859,15 +7859,15 @@

ATCA_STATUS atGenKey ATCA_STATUS atGenKey (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -7897,15 +7897,15 @@

ATCA_STATUS atHMAC ATCA_STATUS atHMAC (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -7937,7 +7937,7 @@

bool atIsECCFamily

- + @@ -7964,7 +7964,7 @@

bool atIsSHAFamily

- + @@ -7989,15 +7989,15 @@

ATCA_STATUS atInfo ATCA_STATUS atInfo (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
(ATCADeviceType ATCADeviceType  device_type)
(ATCADeviceType ATCADeviceType  device_type)
- + - + - + @@ -8027,15 +8027,15 @@

ATCA_STATUS atKDF ATCA_STATUS atKDF (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8065,15 +8065,15 @@

ATCA_STATUS atLock ATCA_STATUS atLock (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8103,15 +8103,15 @@

ATCA_STATUS atMAC ATCA_STATUS atMAC (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8141,15 +8141,15 @@

ATCA_STATUS atNonce ATCA_STATUS atNonce (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8179,15 +8179,15 @@

ATCA_STATUS atPause ATCA_STATUS atPause (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8217,15 +8217,15 @@

ATCA_STATUS atPrivWrite ATCA_STATUS atPrivWrite (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8255,15 +8255,15 @@

ATCA_STATUS atRandom ATCA_STATUS atRandom (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8293,15 +8293,15 @@

ATCA_STATUS atRead ATCA_STATUS atRead (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8331,15 +8331,15 @@

ATCA_STATUS atSecureBoot ATCA_STATUS atSecureBoot (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8369,15 +8369,15 @@

ATCA_STATUS atSelfTest ATCA_STATUS atSelfTest (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8414,15 +8414,15 @@

ATCA_STATUS atSHA ATCA_STATUS atSHA (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet,
- + - + - + @@ -8452,15 +8452,15 @@

ATCA_STATUS atSign ATCA_STATUS atSign (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8490,15 +8490,15 @@

ATCA_STATUS atUpdateExtra ATCA_STATUS atUpdateExtra (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8528,15 +8528,15 @@

ATCA_STATUS atVerify ATCA_STATUS atVerify (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet 
- + - + - + @@ -8575,7 +8575,7 @@

void deleteATCACommand

- + @@ -8599,15 +8599,15 @@

ATCA_STATUS atWrite ATCA_STATUS atWrite (ATCACommand ATCACommand  ca_cmd,
ATCAPacketATCAPacket packet,
(ATCACommandATCACommand ca_cmd)
- + - + - + @@ -8637,7 +8637,7 @@

ATCA_STATUS initATCACommand ATCA_STATUS initATCACommand (ATCADeviceType ATCADeviceType  device_type,
ATCACommand ATCACommand  ca_cmd 
- + @@ -8664,9 +8664,9 @@

ATCA_STATUS isATCAError ATCA_STATUS isATCAError ( uint8_t *  data)
- + - + diff --git a/docs/html/a00906.js b/docs/html/a00906.js new file mode 100644 index 000000000..72376f4d0 --- /dev/null +++ b/docs/html/a00906.js @@ -0,0 +1,431 @@ +var a00906 = +[ + [ "atca_command", "a00918.html", [ + [ "clock_divider", "a00918.html#a380510ad0d2dbde608f38387436db3bc", null ], + [ "dt", "a00918.html#aebea355958c50f7d6a7d946f33ddc0aa", null ], + [ "execution_time_msec", "a00918.html#a77632045612dbd0a5ac4488567c14dd3", null ] + ] ], + [ "ATCAPacket", "a00922.html", [ + [ "_reserved", "a00922.html#ad64c25d49d8bac111d62c92a0e552289", null ], + [ "data", "a00922.html#a0a6faa98b4d6b0b87ec0127daee17d11", null ], + [ "execTime", "a00922.html#a7f16544e2e38e2a389b69be0a7156986", null ], + [ "opcode", "a00922.html#a5c1b56e6bccc2a95dbddf1a08e56e87d", null ], + [ "param1", "a00922.html#aec4226da1b99c821237b6805c4e31333", null ], + [ "param2", "a00922.html#a16a7565b150a9c17a39c80fc932b9514", null ], + [ "txsize", "a00922.html#a3c02ddae56a01b6df3be14acf14915a4", null ] + ] ], + [ "AES_COUNT", "a00906.html#ga72cc5ecbdfa169d282776461ce48fda6", null ], + [ "AES_DATA_SIZE", "a00906.html#ga8cbce00b91b0ddfb3264c9c367a3699a", null ], + [ "AES_INPUT_IDX", "a00906.html#gafabb67121c9c58fac9829287b55a2389", null ], + [ "AES_KEYID_IDX", "a00906.html#ga2809c87d994c49b53e039f752834fc97", null ], + [ "AES_MODE_DECRYPT", "a00906.html#ga01cd269d08661e645b4caee850424130", null ], + [ "AES_MODE_ENCRYPT", "a00906.html#ga5ebee4d7d2d30a88ded25f9a6feecc52", null ], + [ "AES_MODE_GFM", "a00906.html#ga34ec73cf7504b560883a5d192fe88793", null ], + [ "AES_MODE_IDX", "a00906.html#ga890e2e40916e88caf596cff43be8ab23", null ], + [ "AES_MODE_KEY_BLOCK_MASK", "a00906.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f", null ], + [ "AES_MODE_KEY_BLOCK_POS", "a00906.html#gabbbbd4cd4cc05e2ea023f059676aa37e", null ], + [ "AES_MODE_MASK", "a00906.html#ga7b2f5fb4edfbf4cb719aedbd7215b863", null ], + [ "AES_MODE_OP_MASK", "a00906.html#ga62c9e80674303aea5f92d76c92d30d2b", null ], + [ "AES_RSP_SIZE", "a00906.html#gab24f797b7c19e899ef753d9901850e44", null ], + [ "ATCA_ADDRESS_MASK", "a00906.html#ga579676fd500ded40bc49dc53231fa658", null ], + [ "ATCA_ADDRESS_MASK_CONFIG", "a00906.html#ga32d53cee52cd042a31f1adc934ad7a5a", null ], + [ "ATCA_ADDRESS_MASK_OTP", "a00906.html#ga56e3f8d816e2068d80003fdee7d58763", null ], + [ "ATCA_AES", "a00906.html#ga4edf9367ffdc790e886166890fc814c1", null ], + [ "ATCA_AES_GFM_SIZE", "a00906.html#ga6ce84aad51d25e05139f83ac9ca2b162", null ], + [ "ATCA_AES_KEY_TYPE", "a00906.html#ga8335b06c5f49c384e2c2f31861865a54", null ], + [ "ATCA_B283_KEY_TYPE", "a00906.html#ga16f1550cc792fa205acef2106f2fcf54", null ], + [ "ATCA_BLOCK_SIZE", "a00906.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef", null ], + [ "ATCA_CHECKMAC", "a00906.html#ga1f9bb707789dc9194b06403113c9dfaf", null ], + [ "ATCA_CHIPMODE_CLOCK_DIV_M0", "a00906.html#gabe16121ea22ed08080997a2cfae1c125", null ], + [ "ATCA_CHIPMODE_CLOCK_DIV_M1", "a00906.html#gaabaee03887c7e4403ac4936d9cde406e", null ], + [ "ATCA_CHIPMODE_CLOCK_DIV_M2", "a00906.html#ga84f7e63b8711e799da259862b170fd75", null ], + [ "ATCA_CHIPMODE_CLOCK_DIV_MASK", "a00906.html#ga09ab7fb893534775d506020643820939", null ], + [ "ATCA_CHIPMODE_I2C_ADDRESS_FLAG", "a00906.html#ga74a13b4b6304a02b4e006901b6ac1de5", null ], + [ "ATCA_CHIPMODE_OFFSET", "a00906.html#ga6eaf90b702c122de71a18a9b2bd43ba7", null ], + [ "ATCA_CHIPMODE_TTL_ENABLE_FLAG", "a00906.html#ga10795619d6fb78965b7e78996261f6cd", null ], + [ "ATCA_CHIPMODE_WATCHDOG_LONG", "a00906.html#ga9a089181beb38a1e5c5add58e96302bc", null ], + [ "ATCA_CHIPMODE_WATCHDOG_MASK", "a00906.html#ga814ad478cb05af339635633cbcd495b7", null ], + [ "ATCA_CHIPMODE_WATCHDOG_SHORT", "a00906.html#gab2c08e9a862fce29e741ef2b75918a8e", null ], + [ "ATCA_CMD_SIZE_MAX", "a00906.html#ga3f7b636ed69136b5e5aa6d172cfd34e9", null ], + [ "ATCA_CMD_SIZE_MIN", "a00906.html#gac978ae798bc2c020c7b8a2e5a258016e", null ], + [ "ATCA_COUNT_IDX", "a00906.html#ga0aac7fbfd425112b4b1e922876532a9e", null ], + [ "ATCA_COUNT_SIZE", "a00906.html#gad410516c4b4eb448a333eb3ed1f7b288", null ], + [ "ATCA_COUNTER", "a00906.html#ga9599c4331857f1daa543a31fcce650fd", null ], + [ "ATCA_CRC_SIZE", "a00906.html#ga276faf364bbb0e27819842111e08842f", null ], + [ "ATCA_DATA_IDX", "a00906.html#ga756539af7bcadf33dd3a9b2f60763f7a", null ], + [ "ATCA_DATA_SIZE", "a00906.html#ga0b96c7eee244d44c648245421745db12", null ], + [ "ATCA_DERIVE_KEY", "a00906.html#gac9405ff4647b09a6d8ab7a4d8a091ee8", null ], + [ "ATCA_ECC_CONFIG_SIZE", "a00906.html#gae8b9077022cc706947fdc8b45a573d81", null ], + [ "ATCA_ECDH", "a00906.html#ga06c1c02df3023d78b6b224060966460f", null ], + [ "ATCA_GENDIG", "a00906.html#ga37e24393c3e995d47a09ad962b6b83de", null ], + [ "ATCA_GENKEY", "a00906.html#ga17f002359b157bee44a3c071a5a206db", null ], + [ "ATCA_HMAC", "a00906.html#ga36122a4f84ec0c31330c3c0458304029", null ], + [ "ATCA_INFO", "a00906.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f", null ], + [ "ATCA_K283_KEY_TYPE", "a00906.html#gaac4e75cf70cf0cf946216ffefaf65525", null ], + [ "ATCA_KDF", "a00906.html#ga1c0632a1eabc73aaebcb4c7f265b8a00", null ], + [ "ATCA_KEY_COUNT", "a00906.html#gafa043ddb1952520a2bba28ac41a98f93", null ], + [ "ATCA_KEY_ID_MAX", "a00906.html#ga5da5f8005c1b2612b998afcbd823c716", null ], + [ "ATCA_KEY_SIZE", "a00906.html#ga66a410dde8f388c582495ba315284276", null ], + [ "ATCA_LOCK", "a00906.html#gac227802d9a5680688ac4c2b23b38273c", null ], + [ "ATCA_LOCKED", "a00906.html#gaf397e129e4581162f91873358b5f1538", null ], + [ "ATCA_MAC", "a00906.html#gaa0843d9ec7e246455483a1fb1fdf3a07", null ], + [ "ATCA_NONCE", "a00906.html#ga232e4a2b3f189cc2c3594ce5f18da3aa", null ], + [ "ATCA_OPCODE_IDX", "a00906.html#ga15c3e02dd629f85722f4b74e61f3adca", null ], + [ "ATCA_OTP_BLOCK_MAX", "a00906.html#gaa0eacfa4e596c3eb572753b7f5171276", null ], + [ "ATCA_OTP_SIZE", "a00906.html#ga4c05f7bd221df19c5c6ad1fe1f4709be", null ], + [ "ATCA_P256_KEY_TYPE", "a00906.html#ga6e53cd97c61a185ca397ebed8dc3edcb", null ], + [ "ATCA_PACKET_OVERHEAD", "a00906.html#gaa569255bc251cd90cb2d0f6b710164bc", null ], + [ "ATCA_PARAM1_IDX", "a00906.html#ga090c04fed9d153a97fb77195c7eb2f56", null ], + [ "ATCA_PARAM2_IDX", "a00906.html#ga9e84a71fc7e3ba613779aeb8d740eb23", null ], + [ "ATCA_PAUSE", "a00906.html#ga7d786006183912073939b3f62075dd27", null ], + [ "ATCA_PRIV_KEY_SIZE", "a00906.html#ga3caf91c8e7ec183e0ad7b93dad9cb548", null ], + [ "ATCA_PRIVWRITE", "a00906.html#ga3171c7ab4447a2e752706bed1072e694", null ], + [ "ATCA_PUB_KEY_PAD", "a00906.html#gae52318f0263884ff3a3e67328138cc75", null ], + [ "ATCA_PUB_KEY_SIZE", "a00906.html#ga07089e8e8b1aa335ddfd37e591f64ebb", null ], + [ "ATCA_RANDOM", "a00906.html#gace94188e9d741a9b44616474b633064f", null ], + [ "ATCA_READ", "a00906.html#ga8760372110d92cea3570a5720db05de2", null ], + [ "ATCA_RSP_DATA_IDX", "a00906.html#gabaaa930c2275599fcc3d83cfc02bfafe", null ], + [ "ATCA_RSP_SIZE_16", "a00906.html#ga0be09b502137446daedc43f1d3e85f86", null ], + [ "ATCA_RSP_SIZE_32", "a00906.html#gafd812ab5b70a92a4d3a420c4f7106ac5", null ], + [ "ATCA_RSP_SIZE_4", "a00906.html#ga15cc6f16cdb8f11b60981af7c3b15ef8", null ], + [ "ATCA_RSP_SIZE_64", "a00906.html#ga5b7ad7c3c75639352af5ad3b1298500c", null ], + [ "ATCA_RSP_SIZE_72", "a00906.html#ga67ca82b396385dd18790b48d731dfe15", null ], + [ "ATCA_RSP_SIZE_MAX", "a00906.html#ga908aece3a9501eb14a70c2b24a3e4089", null ], + [ "ATCA_RSP_SIZE_MIN", "a00906.html#ga0c738f2cc7bf063582c34188f85ddc3c", null ], + [ "ATCA_RSP_SIZE_VAL", "a00906.html#ga882f14cac02df8282ccad2a43afc8a23", null ], + [ "ATCA_SECUREBOOT", "a00906.html#gaf4aab184dc60e2de854994d26d57dfde", null ], + [ "ATCA_SELFTEST", "a00906.html#gacbec80dc1b5f24d3013c2a9b06c11bdc", null ], + [ "ATCA_SERIAL_NUM_SIZE", "a00906.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0", null ], + [ "ATCA_SHA", "a00906.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b", null ], + [ "ATCA_SHA256_BLOCK_SIZE", "a00906.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c", null ], + [ "ATCA_SHA_CONFIG_SIZE", "a00906.html#ga1887d11853092541df18c2a04fb6b87a", null ], + [ "ATCA_SHA_DIGEST_SIZE", "a00906.html#gad1d5f6fcf8f33b7ea3061280620df8bd", null ], + [ "ATCA_SHA_KEY_TYPE", "a00906.html#gad325831ee2326885795706efd7b3b00e", null ], + [ "ATCA_SIG_SIZE", "a00906.html#ga56448f81a8d04c6871b3422c496bf8b6", null ], + [ "ATCA_SIGN", "a00906.html#ga516dbf4bbd2c4b366e0306890d0bca56", null ], + [ "ATCA_TEMPKEY_KEYID", "a00906.html#ga988fff8295c1914217b8543b614f556c", null ], + [ "ATCA_UNLOCKED", "a00906.html#ga54155caf79f004ccf0a875cf3a0ef05b", null ], + [ "ATCA_UPDATE_EXTRA", "a00906.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2", null ], + [ "ATCA_VERIFY", "a00906.html#ga8e357a6e926176155fe47aba97d915fb", null ], + [ "ATCA_WORD_SIZE", "a00906.html#ga555bdf8fa32d4d47577f7748ca928389", null ], + [ "ATCA_WRITE", "a00906.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771", null ], + [ "ATCA_ZONE_CONFIG", "a00906.html#gadd3796a1d4de55604283aef5a70f7945", null ], + [ "ATCA_ZONE_DATA", "a00906.html#ga4c65b241280290fae9fd4faa9d7a292b", null ], + [ "ATCA_ZONE_ENCRYPTED", "a00906.html#ga167bc588244395e98461008070fee8f3", null ], + [ "ATCA_ZONE_MASK", "a00906.html#ga1d6d2f2713e845ec3b3bf465025d6858", null ], + [ "ATCA_ZONE_OTP", "a00906.html#ga547efc6fa3cb0501b2e53f80023dff7e", null ], + [ "ATCA_ZONE_READWRITE_32", "a00906.html#gaa32b46f2c058ee54377d0cbef1ec8764", null ], + [ "CHECKMAC_CLIENT_CHALLENGE_IDX", "a00906.html#ga0f2c0b2e264a88b766811fe4ea0de88f", null ], + [ "CHECKMAC_CLIENT_CHALLENGE_SIZE", "a00906.html#ga3c7444c099cf0f89f754fd3cbec77bf4", null ], + [ "CHECKMAC_CLIENT_COMMAND_SIZE", "a00906.html#gad3d431e17094b6690d443e0a038da9e2", null ], + [ "CHECKMAC_CLIENT_RESPONSE_IDX", "a00906.html#ga170c911bfe1a20e3572bdc5c2cd80c9d", null ], + [ "CHECKMAC_CLIENT_RESPONSE_SIZE", "a00906.html#ga93cb0fdfc89b69cb1c4670f30288f2ad", null ], + [ "CHECKMAC_CMD_MATCH", "a00906.html#ga09b26b691e29966bcec1513edf819efe", null ], + [ "CHECKMAC_CMD_MISMATCH", "a00906.html#ga1db673cb318ec36ebd0c9c1a5ce301ad", null ], + [ "CHECKMAC_COUNT", "a00906.html#ga4c998ee3d596f3006a4488bd8657df33", null ], + [ "CHECKMAC_DATA_IDX", "a00906.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2", null ], + [ "CHECKMAC_KEYID_IDX", "a00906.html#ga4203bbb296cd67d035066979657cf979", null ], + [ "CHECKMAC_MODE_BLOCK1_TEMPKEY", "a00906.html#ga9088fc1b89c3ca9b58901de000d8d55d", null ], + [ "CHECKMAC_MODE_BLOCK2_TEMPKEY", "a00906.html#ga40d926e0e037fc8bb265bb19f57e5d1a", null ], + [ "CHECKMAC_MODE_CHALLENGE", "a00906.html#gaaabcd1e4afb29088a17f7e87e7136e24", null ], + [ "CHECKMAC_MODE_IDX", "a00906.html#gae757542e1c4d4815e1dc8db034dca476", null ], + [ "CHECKMAC_MODE_INCLUDE_OTP_64", "a00906.html#gabeef4ff866116f4e17a6c3ad94b0a286", null ], + [ "CHECKMAC_MODE_MASK", "a00906.html#ga67e74cb132024711cf064ff98021d71f", null ], + [ "CHECKMAC_MODE_SOURCE_FLAG_MATCH", "a00906.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad", null ], + [ "CHECKMAC_OTHER_DATA_SIZE", "a00906.html#ga7c365741639a5c7dc29267a130e8d827", null ], + [ "CHECKMAC_RSP_SIZE", "a00906.html#gaa44ecaa440ab845d5939333171476adf", null ], + [ "CMD_STATUS_BYTE_COMM", "a00906.html#ga6a6daf9c5640ad80e7af330daad1f6ea", null ], + [ "CMD_STATUS_BYTE_ECC", "a00906.html#ga44cee4dee17a7c1a2618d11e8e5774dd", null ], + [ "CMD_STATUS_BYTE_EXEC", "a00906.html#gae496c798891069e04802bbac7d96e0f5", null ], + [ "CMD_STATUS_BYTE_PARSE", "a00906.html#gaef76930f6d419fc30841be04fe6ac8d6", null ], + [ "CMD_STATUS_SUCCESS", "a00906.html#ga85c326c023bdc268c499eb33375f2270", null ], + [ "CMD_STATUS_WAKEUP", "a00906.html#gafd20c2250b83786f216a100bde94a670", null ], + [ "COUNTER_COUNT", "a00906.html#ga20f86d5c7f97f2513eebddce69917fbf", null ], + [ "COUNTER_KEYID_IDX", "a00906.html#ga269bd52a7856116ebce13c1072f56d9e", null ], + [ "COUNTER_MAX_VALUE", "a00906.html#gabc722de99f444668d09e3815fcc78400", null ], + [ "COUNTER_MODE_IDX", "a00906.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7", null ], + [ "COUNTER_MODE_INCREMENT", "a00906.html#gaadb200c87d6dedb5768eeb8395e697c2", null ], + [ "COUNTER_MODE_MASK", "a00906.html#ga7b90ca417a76facaeec91d8f2c10f860", null ], + [ "COUNTER_MODE_READ", "a00906.html#ga4e3355c5ab7c48cfe466c9374ccc698e", null ], + [ "COUNTER_RSP_SIZE", "a00906.html#ga66287a8b6f625f866b5cecc4845993ed", null ], + [ "DERIVE_KEY_COUNT_LARGE", "a00906.html#gac0386500d37b5502158a62b8d864580f", null ], + [ "DERIVE_KEY_COUNT_SMALL", "a00906.html#ga3a3d3289c719d81f95b3d025a2564c9f", null ], + [ "DERIVE_KEY_MAC_IDX", "a00906.html#gac3f89b5db216fd58ae2de3ebd52e26c5", null ], + [ "DERIVE_KEY_MAC_SIZE", "a00906.html#gaffa79c933fa76585479228b15c2cbc83", null ], + [ "DERIVE_KEY_MODE", "a00906.html#gac6d810ee00947694d9b95d95db0b2f3c", null ], + [ "DERIVE_KEY_RANDOM_FLAG", "a00906.html#gad6f89d1bb03ed8d84e230bedca57ddd9", null ], + [ "DERIVE_KEY_RANDOM_IDX", "a00906.html#ga3495c2fd81985342858bac47300bcdc8", null ], + [ "DERIVE_KEY_RSP_SIZE", "a00906.html#ga766a94a7e38b558e1165b24de78d21db", null ], + [ "DERIVE_KEY_TARGETKEY_IDX", "a00906.html#ga7216bb6f51f67f09e5372c7f731bf23a", null ], + [ "ECDH_COUNT", "a00906.html#gaf8ad6785828f72b793fb4452f3cb6698", null ], + [ "ECDH_KEY_SIZE", "a00906.html#gaa21e10945076d803129feb07946591f9", null ], + [ "ECDH_MODE_COPY_COMPATIBLE", "a00906.html#ga0e360558cd7cb842198cd8cd5d7a3da6", null ], + [ "ECDH_MODE_COPY_EEPROM_SLOT", "a00906.html#ga4abde1839cbeb254d79f1deac8d42c9e", null ], + [ "ECDH_MODE_COPY_MASK", "a00906.html#gafb0b0b4ae54efabd5bd3c906935620ca", null ], + [ "ECDH_MODE_COPY_OUTPUT_BUFFER", "a00906.html#ga4f6024d4d7e0fcd026fac40297db4c96", null ], + [ "ECDH_MODE_COPY_TEMP_KEY", "a00906.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500", null ], + [ "ECDH_MODE_OUTPUT_CLEAR", "a00906.html#gaa56ce725d85dcfbf7c217a748ca0a8b1", null ], + [ "ECDH_MODE_OUTPUT_ENC", "a00906.html#ga0ea0e257512fa047f26910c6605a9769", null ], + [ "ECDH_MODE_OUTPUT_MASK", "a00906.html#ga2b2c07254f098dc8f8d87f2e09703adb", null ], + [ "ECDH_MODE_SOURCE_EEPROM_SLOT", "a00906.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3", null ], + [ "ECDH_MODE_SOURCE_MASK", "a00906.html#ga7b24dc2030441b0bf952d8c297b22a41", null ], + [ "ECDH_MODE_SOURCE_TEMPKEY", "a00906.html#ga9bf558eb7c48b79f3df382c3ec7d454d", null ], + [ "ECDH_PREFIX_MODE", "a00906.html#ga928b142d4f3727104100dee0d0330f83", null ], + [ "ECDH_RSP_SIZE", "a00906.html#gaa667451bf2e061c3e76a7a8a5d8b86d4", null ], + [ "GENDIG_COUNT", "a00906.html#ga235eb9557fa074bf152f9ce9c5844058", null ], + [ "GENDIG_DATA_IDX", "a00906.html#gac101f854026596231715eca664550e36", null ], + [ "GENDIG_KEYID_IDX", "a00906.html#gac2d5b5de26d0318ba6db3ad1055eb6ec", null ], + [ "GENDIG_RSP_SIZE", "a00906.html#ga2c26247a084a027f06a2aaf692313f12", null ], + [ "GENDIG_ZONE_CONFIG", "a00906.html#ga9cab0c5dd2e3796497a5237f101f19e0", null ], + [ "GENDIG_ZONE_COUNTER", "a00906.html#ga84f07835d69fed7484299c78f4971a3e", null ], + [ "GENDIG_ZONE_DATA", "a00906.html#gabc21880360bdce990ad724fa7a7d9bf0", null ], + [ "GENDIG_ZONE_IDX", "a00906.html#gab79b57111a49362bd51922813cb84355", null ], + [ "GENDIG_ZONE_KEY_CONFIG", "a00906.html#gaba61a1bd245d7471e59a39577498065b", null ], + [ "GENDIG_ZONE_OTP", "a00906.html#gaee95b219cf932dfedb3a3c5e23d01a9d", null ], + [ "GENDIG_ZONE_SHARED_NONCE", "a00906.html#ga49923a8835f64294a5e9b3660c80dc7e", null ], + [ "GENKEY_COUNT", "a00906.html#gab6782a07fce203169aba6dd32f8ab123", null ], + [ "GENKEY_COUNT_DATA", "a00906.html#ga07289de41178ecfb6392da31e31e27c3", null ], + [ "GENKEY_DATA_IDX", "a00906.html#ga9163acda5dd0653f40b6ad445f2c972d", null ], + [ "GENKEY_KEYID_IDX", "a00906.html#ga5cacc01be37cebf35e300be96893477e", null ], + [ "GENKEY_MODE_DIGEST", "a00906.html#ga609531b6e844f5a9eebd7c4dcd869b16", null ], + [ "GENKEY_MODE_IDX", "a00906.html#gaf120353f5e8e159eaa9c930555b159d5", null ], + [ "GENKEY_MODE_MASK", "a00906.html#gaa3984c137090a2d103b2089c7ac31642", null ], + [ "GENKEY_MODE_PRIVATE", "a00906.html#gadc25fc4bebaac1582bb57d791f72356d", null ], + [ "GENKEY_MODE_PUBKEY_DIGEST", "a00906.html#ga8d9a1e331d54bffb36f7b4e97af5d161", null ], + [ "GENKEY_MODE_PUBLIC", "a00906.html#ga03e556ba7849f28ee8c58df8921cba66", null ], + [ "GENKEY_OTHER_DATA_SIZE", "a00906.html#ga62644ffb962c56fbea154526a2a84b40", null ], + [ "GENKEY_PRIVATE_TO_TEMPKEY", "a00906.html#gad5b1ead29f3ce3cee52d106af531ab86", null ], + [ "GENKEY_RSP_SIZE_LONG", "a00906.html#ga08e8a80be2717ece7c5ed5cc0a27fbab", null ], + [ "GENKEY_RSP_SIZE_SHORT", "a00906.html#ga0543a644422ffc7460eeeb78799bde16", null ], + [ "HMAC_COUNT", "a00906.html#ga041d4cd845319ea0a693a1c4008b2a06", null ], + [ "HMAC_DIGEST_SIZE", "a00906.html#gacd5976f898b9f67ea8e21df4e27fb712", null ], + [ "HMAC_KEYID_IDX", "a00906.html#ga23673926f1dd2464bd20f6512985d855", null ], + [ "HMAC_MODE_FLAG_FULLSN", "a00906.html#ga564f52346bfc03bdd50aa7d03974efe7", null ], + [ "HMAC_MODE_FLAG_OTP64", "a00906.html#ga62261a1c6f121c296dce7e0f697c9a4a", null ], + [ "HMAC_MODE_FLAG_OTP88", "a00906.html#ga34be98ca6fb22f331eb62cfc4104ded6", null ], + [ "HMAC_MODE_FLAG_TK_NORAND", "a00906.html#gac3b1177210ba941afa527bacbcfd4fab", null ], + [ "HMAC_MODE_FLAG_TK_RAND", "a00906.html#ga08326ee33be4faaec3be800e80c1cc17", null ], + [ "HMAC_MODE_IDX", "a00906.html#gadf58a677811566e8446870523bb65850", null ], + [ "HMAC_MODE_MASK", "a00906.html#ga8250b0997534871fdd6ead1c3aa220ba", null ], + [ "HMAC_RSP_SIZE", "a00906.html#gadec1fd29e8c6b2f804fc4050778dafc8", null ], + [ "INFO_COUNT", "a00906.html#gaee1a29942cf2b3637a65506dc6b5d4fe", null ], + [ "INFO_DRIVER_STATE_MASK", "a00906.html#ga9cc740e22e15f08a8b90873a2b3b47e8", null ], + [ "INFO_MODE_GPIO", "a00906.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6", null ], + [ "INFO_MODE_KEY_VALID", "a00906.html#ga6f746e9967643e3234727eaa5a0b274b", null ], + [ "INFO_MODE_MAX", "a00906.html#ga249c12b69d65f6c33568c78b9d9b127d", null ], + [ "INFO_MODE_REVISION", "a00906.html#gae591dd29af805fc5b63e5b06d5e7c450", null ], + [ "INFO_MODE_STATE", "a00906.html#ga7432ca6b291e32e962fabaa6d604a8bc", null ], + [ "INFO_MODE_VOL_KEY_PERMIT", "a00906.html#gac0fb0edb797b754a069e12931a001257", null ], + [ "INFO_NO_STATE", "a00906.html#gad5b035b6f65f87b7fdf75f225a54ce35", null ], + [ "INFO_OUTPUT_STATE_MASK", "a00906.html#ga2b70682af491ce76c45505cabafcf9c0", null ], + [ "INFO_PARAM1_IDX", "a00906.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac", null ], + [ "INFO_PARAM2_IDX", "a00906.html#ga09e4830c78dedfa2ce662e0fdbe430e3", null ], + [ "INFO_PARAM2_LATCH_CLEAR", "a00906.html#ga027d5e8ae4a55db4ae52a41f3214c861", null ], + [ "INFO_PARAM2_LATCH_SET", "a00906.html#gaae24f308513ed54fc7c41b39bc05760b", null ], + [ "INFO_PARAM2_SET_LATCH_STATE", "a00906.html#ga5dcc70feddb0b97c6fa779c6c3c819e6", null ], + [ "INFO_RSP_SIZE", "a00906.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5", null ], + [ "INFO_SIZE", "a00906.html#ga70457c61d44fbac0cb48727f53c39388", null ], + [ "KDF_DETAILS_AES_KEY_LOC_MASK", "a00906.html#ga77a516ab645b681ad7861d8b74e4a115", null ], + [ "KDF_DETAILS_HKDF_MSG_LOC_INPUT", "a00906.html#gae2b34b443ce2e0f285dd8d6f34f84d70", null ], + [ "KDF_DETAILS_HKDF_MSG_LOC_IV", "a00906.html#ga53650471a7eef96ce0ef00cb6b8a6a9b", null ], + [ "KDF_DETAILS_HKDF_MSG_LOC_MASK", "a00906.html#gaa5b4cb5be95861466fff33fe0d5a9020", null ], + [ "KDF_DETAILS_HKDF_MSG_LOC_SLOT", "a00906.html#ga8d5f52e7dbb1ea5308517365bbec87b5", null ], + [ "KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY", "a00906.html#gabae30386c46658676cf11de7bec27138", null ], + [ "KDF_DETAILS_HKDF_ZERO_KEY", "a00906.html#gae16e61d55b371f9c5e31f08f680de609", null ], + [ "KDF_DETAILS_IDX", "a00906.html#ga56306fca73ae0f43053787bafdac6a94", null ], + [ "KDF_DETAILS_PRF_AEAD_MASK", "a00906.html#ga71bd7b920718c3bbf99d78eda569018c", null ], + [ "KDF_DETAILS_PRF_AEAD_MODE0", "a00906.html#ga77402cc8f4efbba6119bd57717c34ce4", null ], + [ "KDF_DETAILS_PRF_AEAD_MODE1", "a00906.html#ga696c55d8590e9d1ac2571d6921f27573", null ], + [ "KDF_DETAILS_PRF_KEY_LEN_16", "a00906.html#gaf83ceba3654b1b76e216402a023c1578", null ], + [ "KDF_DETAILS_PRF_KEY_LEN_32", "a00906.html#gaadcf0e639c6da291ddcb7fed49f1f967", null ], + [ "KDF_DETAILS_PRF_KEY_LEN_48", "a00906.html#gaae92bdb9d72ad6bd2193cbf0e672d46e", null ], + [ "KDF_DETAILS_PRF_KEY_LEN_64", "a00906.html#ga1519bbd506095c4db25aad15bbc0735b", null ], + [ "KDF_DETAILS_PRF_KEY_LEN_MASK", "a00906.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5", null ], + [ "KDF_DETAILS_PRF_TARGET_LEN_32", "a00906.html#gac049629a826435702055cc8279db76bb", null ], + [ "KDF_DETAILS_PRF_TARGET_LEN_64", "a00906.html#ga0b47a5e9928b7f3c91db64a9b80fde8b", null ], + [ "KDF_DETAILS_PRF_TARGET_LEN_MASK", "a00906.html#ga32c642907f4f326893fb6fccfce18707", null ], + [ "KDF_DETAILS_SIZE", "a00906.html#ga2e025044ab9693b267e79f80e0a69cb1", null ], + [ "KDF_KEYID_IDX", "a00906.html#gae814b4e63476d137bf226537cb2ff0fc", null ], + [ "KDF_MESSAGE_IDX", "a00906.html#ga7a57365768506315a6e3a6276508762c", null ], + [ "KDF_MODE_ALG_AES", "a00906.html#gaee08925a21e8dbf05f8557617e3f610e", null ], + [ "KDF_MODE_ALG_HKDF", "a00906.html#ga59b230043c3cd1fa0deafac6225238cb", null ], + [ "KDF_MODE_ALG_MASK", "a00906.html#ga90f529642e87edae132421b3777ec4b1", null ], + [ "KDF_MODE_ALG_PRF", "a00906.html#ga41ad765834ce2cf37241f79b80857f79", null ], + [ "KDF_MODE_IDX", "a00906.html#ga959e54d571acf81b608d5c6d535b0510", null ], + [ "KDF_MODE_SOURCE_ALTKEYBUF", "a00906.html#gaa3f4cdb700e47737058c174a1f156707", null ], + [ "KDF_MODE_SOURCE_MASK", "a00906.html#gaddd73b0088cc98d40eaf8b3370f2fc8e", null ], + [ "KDF_MODE_SOURCE_SLOT", "a00906.html#ga3b69501fcc3e0cea0197fc0f6107916a", null ], + [ "KDF_MODE_SOURCE_TEMPKEY", "a00906.html#ga43cad9606d9b7c0e5875b1fa66108eb8", null ], + [ "KDF_MODE_SOURCE_TEMPKEY_UP", "a00906.html#ga3785654ccbe309a87213aedb001ca39d", null ], + [ "KDF_MODE_TARGET_ALTKEYBUF", "a00906.html#gafeaf2094813c3184f0f128c37e3297dd", null ], + [ "KDF_MODE_TARGET_MASK", "a00906.html#ga97828be629e8f11561b58cb434c18b21", null ], + [ "KDF_MODE_TARGET_OUTPUT", "a00906.html#gafa19443ca4e054e38a7599c37575678d", null ], + [ "KDF_MODE_TARGET_OUTPUT_ENC", "a00906.html#ga28cccb87be4305fa9469c26b0ca341e8", null ], + [ "KDF_MODE_TARGET_SLOT", "a00906.html#ga05c0e401be347897d9573ba58492e570", null ], + [ "KDF_MODE_TARGET_TEMPKEY", "a00906.html#gabdbb7fc88ccf13d556dce6de3df9ce1b", null ], + [ "KDF_MODE_TARGET_TEMPKEY_UP", "a00906.html#gad7e0df789060db2a9e8339972eac2482", null ], + [ "LOCK_COUNT", "a00906.html#ga8a5cce3cbccf46b91c8065559ad1a082", null ], + [ "LOCK_RSP_SIZE", "a00906.html#ga773dce573d9ff453d2f49aa7fc48e210", null ], + [ "LOCK_SUMMARY_IDX", "a00906.html#ga6bd6b85614792b8dabb6432f7a48151e", null ], + [ "LOCK_ZONE_CONFIG", "a00906.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39", null ], + [ "LOCK_ZONE_DATA", "a00906.html#ga1dedbfae86a6c38085070160696e00bb", null ], + [ "LOCK_ZONE_DATA_SLOT", "a00906.html#gaf5a93b147dd08b111b348edd1bc82fa5", null ], + [ "LOCK_ZONE_IDX", "a00906.html#gaa72601de2238c09393f120f68abf66a4", null ], + [ "LOCK_ZONE_MASK", "a00906.html#ga71b3c35d021e0ac507fdd6cd9538467f", null ], + [ "LOCK_ZONE_NO_CRC", "a00906.html#ga29b582e5069538ee92f5bcd6d1356255", null ], + [ "MAC_CHALLENGE_IDX", "a00906.html#ga427e37c74bad23b251deb2274de6d703", null ], + [ "MAC_CHALLENGE_SIZE", "a00906.html#ga921afead5f0a35822bc8263c3a1e1761", null ], + [ "MAC_COUNT_LONG", "a00906.html#gaa466dfdf174c134a11f578d1731990ef", null ], + [ "MAC_COUNT_SHORT", "a00906.html#ga94d9bf52f1a6c7af3943eb92dd3967ef", null ], + [ "MAC_KEYID_IDX", "a00906.html#gadb6b7f50e3d8af5d2de64f3bd4c83332", null ], + [ "MAC_MODE_BLOCK1_TEMPKEY", "a00906.html#ga1ed0d355896761d1cfef4d3b225fefae", null ], + [ "MAC_MODE_BLOCK2_TEMPKEY", "a00906.html#gaaf599e8acc392c2ef07eba93eafc474d", null ], + [ "MAC_MODE_CHALLENGE", "a00906.html#ga876298788a9270561dc279b7d4c92cb8", null ], + [ "MAC_MODE_IDX", "a00906.html#ga4b1f89e4c4a24c058fddb3d936e76017", null ], + [ "MAC_MODE_INCLUDE_OTP_64", "a00906.html#ga0bd9324a824410d7787c6fcd6e29d8a2", null ], + [ "MAC_MODE_INCLUDE_OTP_88", "a00906.html#gae5da70c1f37ee40a0cf4edc459d5840a", null ], + [ "MAC_MODE_INCLUDE_SN", "a00906.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5", null ], + [ "MAC_MODE_MASK", "a00906.html#ga6e6b931cf58debb1a23b87c16c7b4d47", null ], + [ "MAC_MODE_PASSTHROUGH", "a00906.html#ga41beaf29ad684f5fae6046c689d6bcf1", null ], + [ "MAC_MODE_PTNONCE_TEMPKEY", "a00906.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2", null ], + [ "MAC_MODE_SOURCE_FLAG_MATCH", "a00906.html#gadffd78899cf3d3dd18afc5ce3c54acb4", null ], + [ "MAC_RSP_SIZE", "a00906.html#ga1e34a5e5e8b86355569f958ecbaff3d4", null ], + [ "MAC_SIZE", "a00906.html#ga4c987156ced719bbcf398ab6c76289c0", null ], + [ "NONCE_COUNT_LONG", "a00906.html#ga9a7fddf245cba834f86e0b63f2b14dc1", null ], + [ "NONCE_COUNT_LONG_64", "a00906.html#gaaffdf30ca558bdd5f772578742835306", null ], + [ "NONCE_COUNT_SHORT", "a00906.html#gacff2b897c994e1444f8e94e638c25c74", null ], + [ "NONCE_INPUT_IDX", "a00906.html#ga98721952094435f45bffa352dd6848ad", null ], + [ "NONCE_MODE_IDX", "a00906.html#ga97ca81334088c297c577f4b4aaced3cf", null ], + [ "NONCE_MODE_INPUT_LEN_32", "a00906.html#gaf7ee0188ab539a350a6da19fe3f34a72", null ], + [ "NONCE_MODE_INPUT_LEN_64", "a00906.html#ga54f085984c6aaf826263a755fd3243d7", null ], + [ "NONCE_MODE_INPUT_LEN_MASK", "a00906.html#gad83ef570608a572d2dd99e6954e14d40", null ], + [ "NONCE_MODE_INVALID", "a00906.html#ga7c675071c7fd650a29594c5fcc9882a1", null ], + [ "NONCE_MODE_MASK", "a00906.html#ga98be7c54d55328daa4390a816c9bb243", null ], + [ "NONCE_MODE_NO_SEED_UPDATE", "a00906.html#gae3f2d180d7f35d9a7876a28972f2f587", null ], + [ "NONCE_MODE_PASSTHROUGH", "a00906.html#ga6132b175668ba4d6efecca5986c007c0", null ], + [ "NONCE_MODE_SEED_UPDATE", "a00906.html#ga798018a4ef489e8fb0a02b5edf7e9d55", null ], + [ "NONCE_MODE_TARGET_ALTKEYBUF", "a00906.html#ga8ad263b7b321311a57db7600f18a555f", null ], + [ "NONCE_MODE_TARGET_MASK", "a00906.html#gab887d70e4a421cf2bcab6b77feba4134", null ], + [ "NONCE_MODE_TARGET_MSGDIGBUF", "a00906.html#ga071a95b4b2048e0d879e6e13984e38fd", null ], + [ "NONCE_MODE_TARGET_TEMPKEY", "a00906.html#gac51f4a863e071bce52c995ddae7e2144", null ], + [ "NONCE_NUMIN_SIZE", "a00906.html#gad0c3da8203a3be6755e86cda96e00228", null ], + [ "NONCE_NUMIN_SIZE_PASSTHROUGH", "a00906.html#gab568e0ec9f976d91d7940c227e8d73ee", null ], + [ "NONCE_PARAM2_IDX", "a00906.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0", null ], + [ "NONCE_RSP_SIZE_LONG", "a00906.html#ga7ae9dcc07ca9d990e9db6d8949ac935a", null ], + [ "NONCE_RSP_SIZE_SHORT", "a00906.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675", null ], + [ "NONCE_ZERO_CALC_MASK", "a00906.html#ga99bca33105a872e8a20fe199cc17219b", null ], + [ "NONCE_ZERO_CALC_RANDOM", "a00906.html#ga80b8b54f333be5a587f22e2d04812de6", null ], + [ "NONCE_ZERO_CALC_TEMPKEY", "a00906.html#ga2a2b74db24609199702267614fc31990", null ], + [ "OUTNONCE_SIZE", "a00906.html#gad742aca4fbd1b833423eeb7ce90a6743", null ], + [ "PAUSE_COUNT", "a00906.html#gaa914251d0e03f7d1850ee04296715f14", null ], + [ "PAUSE_PARAM2_IDX", "a00906.html#gad74ed86697c0977d4e0a2451068b7131", null ], + [ "PAUSE_RSP_SIZE", "a00906.html#ga5859f9a2eb99b4636c894705047e9344", null ], + [ "PAUSE_SELECT_IDX", "a00906.html#ga49f538b630cc416a8ad1f6d784e3a1e4", null ], + [ "PRIVWRITE_COUNT", "a00906.html#ga17980d6743441fa2afd71523006ae058", null ], + [ "PRIVWRITE_KEYID_IDX", "a00906.html#ga4aa5b68bbd7847f53444608615653832", null ], + [ "PRIVWRITE_MAC_IDX", "a00906.html#ga20afccf35c609f05a3d7dc70687baa2e", null ], + [ "PRIVWRITE_MODE_ENCRYPT", "a00906.html#gafa24177621a8a2fbe041ef0ce73a414d", null ], + [ "PRIVWRITE_RSP_SIZE", "a00906.html#gaa66ad8429261c1ba13d064d660d6d464", null ], + [ "PRIVWRITE_VALUE_IDX", "a00906.html#gab65b17098ebc6027a9240ca84c07ab5c", null ], + [ "PRIVWRITE_ZONE_IDX", "a00906.html#ga376a70cf087e157cbb914d9ca2e5b989", null ], + [ "PRIVWRITE_ZONE_MASK", "a00906.html#gaba7cf525ec69429e947f294361e1cdab", null ], + [ "RANDOM_COUNT", "a00906.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0", null ], + [ "RANDOM_MODE_IDX", "a00906.html#gac846e3f7c924497d70254125dae38dce", null ], + [ "RANDOM_NO_SEED_UPDATE", "a00906.html#ga444d3fe4302ca95080d919dc89b1bc52", null ], + [ "RANDOM_NUM_SIZE", "a00906.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab", null ], + [ "RANDOM_PARAM2_IDX", "a00906.html#ga3f54bd6d53a687ae3660196497e8faa1", null ], + [ "RANDOM_RSP_SIZE", "a00906.html#gaeb7623b070997b65f0bb108abf8e5f44", null ], + [ "RANDOM_SEED_UPDATE", "a00906.html#gaf12673d4006ff926c863b2d0f9038561", null ], + [ "READ_32_RSP_SIZE", "a00906.html#gad79706b7b1e6c0e0d29afe692d8d5c06", null ], + [ "READ_4_RSP_SIZE", "a00906.html#ga041cfaec382d0a67dcfe36d43332da48", null ], + [ "READ_ADDR_IDX", "a00906.html#gaf9f464ac4065aff75f5967933725d665", null ], + [ "READ_COUNT", "a00906.html#gad222baf9301d2d35a5c928a0d91c4335", null ], + [ "READ_ZONE_IDX", "a00906.html#gae273cfc99b8538b3c81ba8240a6ff425", null ], + [ "READ_ZONE_MASK", "a00906.html#gacf9c81ae1249f3c174ec75cf65517176", null ], + [ "RSA2048_KEY_SIZE", "a00906.html#gaeb3783d1cdf4f9c1217d030bc0386fad", null ], + [ "SECUREBOOT_COUNT_DIG", "a00906.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e", null ], + [ "SECUREBOOT_COUNT_DIG_SIG", "a00906.html#gabd28a29107703b43a734301acf491f5c", null ], + [ "SECUREBOOT_DIGEST_SIZE", "a00906.html#ga9257968de99742ec468463a72588820f", null ], + [ "SECUREBOOT_MAC_SIZE", "a00906.html#gaed2edebc2be522d7bb38f85d273406f9", null ], + [ "SECUREBOOT_MODE_ENC_MAC_FLAG", "a00906.html#gabf2bad62bab02224f51d67f6725575a4", null ], + [ "SECUREBOOT_MODE_FULL", "a00906.html#ga122f4b7b9f1011c04385a7caccc2d536", null ], + [ "SECUREBOOT_MODE_FULL_COPY", "a00906.html#ga3d287922c127b599204ea3bc64d4a825", null ], + [ "SECUREBOOT_MODE_FULL_STORE", "a00906.html#ga2aac76b15694b82fda038e127d152297", null ], + [ "SECUREBOOT_MODE_IDX", "a00906.html#ga7ff1918de6f8238ba4f67d9368e3587d", null ], + [ "SECUREBOOT_MODE_MASK", "a00906.html#gaac36b471fe92c252dd02a9d1cc2c65e2", null ], + [ "SECUREBOOT_MODE_PROHIBIT_FLAG", "a00906.html#ga2d04ced68d56c0db40b93b767de02089", null ], + [ "SECUREBOOT_RSP_SIZE_MAC", "a00906.html#ga3db7049de685080f046f0b4221de461b", null ], + [ "SECUREBOOT_RSP_SIZE_NO_MAC", "a00906.html#gab4657866a69a00b9b3bfa4df51521fa6", null ], + [ "SECUREBOOT_SIGNATURE_SIZE", "a00906.html#ga51bd4fe709f11b3b50f47c2fb18976ca", null ], + [ "SECUREBOOTCONFIG_MODE_DISABLED", "a00906.html#ga76bf5d4ce89c95c658328fe8e66669e7", null ], + [ "SECUREBOOTCONFIG_MODE_FULL_BOTH", "a00906.html#ga2b86bf6731827368bf66eec960c35a32", null ], + [ "SECUREBOOTCONFIG_MODE_FULL_DIG", "a00906.html#ga9b7c3aca6168b52321e1951893efa050", null ], + [ "SECUREBOOTCONFIG_MODE_FULL_SIG", "a00906.html#ga43bb6027c548274980a3ba42bdef51c9", null ], + [ "SECUREBOOTCONFIG_MODE_MASK", "a00906.html#ga0c9c951895abf02992e41c617702c2ea", null ], + [ "SECUREBOOTCONFIG_OFFSET", "a00906.html#gad10e2a3c801be9002d53af14357dbe9f", null ], + [ "SELFTEST_COUNT", "a00906.html#ga2aba96712a9932d61146c43289e9d808", null ], + [ "SELFTEST_MODE_AES", "a00906.html#ga91ebd87544ccdab3670cfbec8d23bd4a", null ], + [ "SELFTEST_MODE_ALL", "a00906.html#ga1ef61cb184d3ff5ef2f8bf9db6521888", null ], + [ "SELFTEST_MODE_ECDH", "a00906.html#ga01d7437a14fd35ccc926168fb4ca2ca7", null ], + [ "SELFTEST_MODE_ECDSA_SIGN_VERIFY", "a00906.html#gafbd09beedecedcf316a6c02e40d1e712", null ], + [ "SELFTEST_MODE_IDX", "a00906.html#gaa16bfad9cb883d258befaacadb3385ef", null ], + [ "SELFTEST_MODE_RNG", "a00906.html#gacd9a7a2257f664a4f9f674d37eb95bef", null ], + [ "SELFTEST_MODE_SHA", "a00906.html#gafab9546447cf1e0020c32d298a1d897f", null ], + [ "SELFTEST_RSP_SIZE", "a00906.html#ga7599639f80f3ac2a0d22f2857138cb87", null ], + [ "SHA_CONTEXT_MAX_SIZE", "a00906.html#ga3d37a5da1c43d44e49c4e6614d133c7e", null ], + [ "SHA_COUNT_LONG", "a00906.html#gada37181a648dd51b374eec1cbb4bbaa3", null ], + [ "SHA_COUNT_SHORT", "a00906.html#ga49e390c29b6fc05df227604c169b86b0", null ], + [ "SHA_DATA_MAX", "a00906.html#gad89ca95de067d12cd2f35a60b0e997b1", null ], + [ "SHA_MODE_608_HMAC_END", "a00906.html#ga625604e07a0618bd7d514faee5e42fba", null ], + [ "SHA_MODE_HMAC_END", "a00906.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d", null ], + [ "SHA_MODE_HMAC_START", "a00906.html#gabbfeec0d0247336b8c6e993d4db17d11", null ], + [ "SHA_MODE_HMAC_UPDATE", "a00906.html#ga2071156124a692a5f2a5c764c923f731", null ], + [ "SHA_MODE_MASK", "a00906.html#ga612cbf6171e9a0a176e0bd2844f49528", null ], + [ "SHA_MODE_READ_CONTEXT", "a00906.html#gac7e5a54695b8bd9e5087ebb94df70b39", null ], + [ "SHA_MODE_SHA256_END", "a00906.html#ga0e98e55c91c7559f57fdef4c9969c188", null ], + [ "SHA_MODE_SHA256_PUBLIC", "a00906.html#ga0f2fc749d3d196477b22cbceee856dfb", null ], + [ "SHA_MODE_SHA256_START", "a00906.html#gad42195362cd7dca0acabc8739c9a6fc4", null ], + [ "SHA_MODE_SHA256_UPDATE", "a00906.html#ga05ece414a0596ec9bb75c0ca8ca731dc", null ], + [ "SHA_MODE_TARGET_MASK", "a00906.html#ga70f88a123587c96ad7affc1e5dae9002", null ], + [ "SHA_MODE_TARGET_MSGDIGBUF", "a00906.html#gae559b402c678cc51f8252b927b8781e5", null ], + [ "SHA_MODE_TARGET_OUT_ONLY", "a00906.html#gae0df4b9151bb3d807bc1c532036c6d88", null ], + [ "SHA_MODE_TARGET_TEMPKEY", "a00906.html#ga850ec56b408fccccaea5826d452c3a64", null ], + [ "SHA_MODE_WRITE_CONTEXT", "a00906.html#ga7b7c499931480a88f6a106644c3d2185", null ], + [ "SHA_RSP_SIZE", "a00906.html#ga8a5a586bdb0194be827417658836bf9c", null ], + [ "SHA_RSP_SIZE_LONG", "a00906.html#gae5ad3c81d0b62f4b86a4a0dc84a79134", null ], + [ "SHA_RSP_SIZE_SHORT", "a00906.html#ga74490b179b34f9925e9fe00675e53713", null ], + [ "ATCACommand", "a00906.html#gaebeafc249bfe2b00b6809d5c328841d9", null ], + [ "atAES", "a00906.html#ga17ffd71c28597552f5c4517096ef1fb8", null ], + [ "atCalcCrc", "a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c", null ], + [ "atCheckCrc", "a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a", null ], + [ "atCheckMAC", "a00906.html#gae82a969d437b648238fe1c1ddbd51196", null ], + [ "atCounter", "a00906.html#ga8a61451b473025766f0b8aaf8cbe8878", null ], + [ "atCRC", "a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6", null ], + [ "atDeriveKey", "a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158", null ], + [ "atECDH", "a00906.html#ga5460e5bb2178eb95a3b8db8018d30617", null ], + [ "atGenDig", "a00906.html#ga96b33dc28e87b1c1855b7f828a89594b", null ], + [ "atGenKey", "a00906.html#gaba4a495c2021c837c6de4cdeaaf64813", null ], + [ "atHMAC", "a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814", null ], + [ "atInfo", "a00906.html#gaf5b69354b7f33537f2ffef3376843a15", null ], + [ "atIsECCFamily", "a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07", null ], + [ "atIsSHAFamily", "a00906.html#gaae5866a78d2f0464b04eee9ef1f97030", null ], + [ "atKDF", "a00906.html#ga881ba1c37e33cf65c17983e93dd8c677", null ], + [ "atLock", "a00906.html#gac649ffd477409f414dfcc7e38c19e203", null ], + [ "atMAC", "a00906.html#ga6375d9724ac9ec208e22224c0a210fb3", null ], + [ "atNonce", "a00906.html#gab0937e5d717246f51a244e3369e554e6", null ], + [ "atPause", "a00906.html#gae9bbe9f768acf9628bbb78fbebb21221", null ], + [ "atPrivWrite", "a00906.html#gaf90f39bafcd296962ceef461954a1998", null ], + [ "atRandom", "a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1", null ], + [ "atRead", "a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4", null ], + [ "atSecureBoot", "a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809", null ], + [ "atSelfTest", "a00906.html#ga47c96fd19a050247f7c06e20c296b958", null ], + [ "atSHA", "a00906.html#ga44ad135152469c980f9bf36a5f1477bb", null ], + [ "atSign", "a00906.html#gaf41d61bc7317d325a34169eb53c29e7c", null ], + [ "atUpdateExtra", "a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23", null ], + [ "atVerify", "a00906.html#ga2beb9e8360555ededb666ad845219fce", null ], + [ "atWrite", "a00906.html#gaab5bc48599e5f6b938901739f4f46fa7", null ], + [ "deleteATCACommand", "a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9", null ], + [ "initATCACommand", "a00906.html#gaf4177bd66c5981ba86511608150c024e", null ], + [ "isATCAError", "a00906.html#gae41108996848638519849163e51cd10a", null ], + [ "newATCACommand", "a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d", null ] +]; \ No newline at end of file diff --git a/docs/html/a03532.html b/docs/html/a00907.html similarity index 85% rename from docs/html/a03532.html rename to docs/html/a00907.html index 196ec05ef..6d22b0a80 100644 --- a/docs/html/a03532.html +++ b/docs/html/a00907.html @@ -67,7 +67,7 @@
@@ -101,47 +101,47 @@
ATCACommand newATCACommand ATCACommand newATCACommand (ATCADeviceType ATCADeviceType  device_type)
- - + +

Data Structures

struct  atca_device
 atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. More...
struct  atca_device
 atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. More...
 
- +

Typedefs

typedef struct atca_deviceATCADevice
typedef struct atca_deviceATCADevice
 
- - +

Enumerations

enum  ATCADeviceType {
-  ATSHA204A, -ATECC108A, -ATECC508A, -ATECC608A, +
enum  ATCADeviceType {
+  ATSHA204A, +ATECC108A, +ATECC508A, +ATECC608A,
-  ATCA_DEV_UNKNOWN = 0x20 +  ATCA_DEV_UNKNOWN = 0x20
}
 The supported Device type in Cryptoauthlib library. More...
 The supported Device type in Cryptoauthlib library. More...
 
- + - + - + - + - + - +

Functions

ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
ATCADevice newATCADevice (ATCAIfaceCfg *cfg)
 constructor for a Microchip CryptoAuth device More...
 
void deleteATCADevice (ATCADevice *ca_dev)
void deleteATCADevice (ATCADevice *ca_dev)
 destructor for a device NULLs reference after object is freed More...
 
ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
ATCA_STATUS initATCADevice (ATCAIfaceCfg *cfg, ATCADevice ca_dev)
 Initializer for an Microchip CryptoAuth device. More...
 
ATCACommand atGetCommands (ATCADevice dev)
ATCACommand atGetCommands (ATCADevice dev)
 returns a reference to the ATCACommand object for the device More...
 
ATCAIface atGetIFace (ATCADevice dev)
ATCAIface atGetIFace (ATCADevice dev)
 returns a reference to the ATCAIface interface object for the device More...
 
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
ATCA_STATUS releaseATCADevice (ATCADevice ca_dev)
 Release any resources associated with the device. More...
 
@@ -155,7 +155,7 @@

- +
typedef struct atca_device* ATCADevicetypedef struct atca_device* ATCADevice

@@ -194,9 +194,9 @@

- + - + @@ -221,9 +221,9 @@

ATCACommand atGetCommands ATCACommand atGetCommands (ATCADevice ATCADevice  dev)
- + - + @@ -250,7 +250,7 @@

void deleteATCADevice

- + @@ -274,15 +274,15 @@

ATCAIface atGetIFace ATCAIface atGetIFace (ATCADevice ATCADevice  dev)
(ATCADeviceATCADevice ca_dev)
- + - + - + @@ -312,9 +312,9 @@

ATCA_STATUS initATCADevice ATCA_STATUS initATCADevice (ATCAIfaceCfgATCAIfaceCfg cfg,
ATCADevice ATCADevice  ca_dev 
- + - + @@ -339,9 +339,9 @@

ATCADevice newATCADevice ATCADevice newATCADevice (ATCAIfaceCfgATCAIfaceCfg cfg)
- + - + diff --git a/docs/html/a00907.js b/docs/html/a00907.js new file mode 100644 index 000000000..4531fb144 --- /dev/null +++ b/docs/html/a00907.js @@ -0,0 +1,21 @@ +var a00907 = +[ + [ "atca_device", "a00926.html", [ + [ "mCommands", "a00926.html#aac7a3ed180ba0fcf0d86f7b54ebc1379", null ], + [ "mIface", "a00926.html#aca75c68806e47e95144dc86a3f50d236", null ] + ] ], + [ "ATCADevice", "a00907.html#gaa94f7bb4af0a3d6735225cc85d92cb50", null ], + [ "ATCADeviceType", "a00907.html#gafb234ccd6a80d09c0efbe336c2354267", [ + [ "ATSHA204A", "a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268", null ], + [ "ATECC108A", "a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c", null ], + [ "ATECC508A", "a00907.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae", null ], + [ "ATECC608A", "a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf", null ], + [ "ATCA_DEV_UNKNOWN", "a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad", null ] + ] ], + [ "atGetCommands", "a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e", null ], + [ "atGetIFace", "a00907.html#ga3f98e29cffa06446fc91b329703606af", null ], + [ "deleteATCADevice", "a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12", null ], + [ "initATCADevice", "a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15", null ], + [ "newATCADevice", "a00907.html#gad5e12e12d3030e28d75164286df9e5e9", null ], + [ "releaseATCADevice", "a00907.html#gab729e6c838c0a247d4f226fb92492d96", null ] +]; \ No newline at end of file diff --git a/docs/html/a03533.html b/docs/html/a00908.html similarity index 84% rename from docs/html/a03533.html rename to docs/html/a00908.html index 262927df6..8c9a8185d 100644 --- a/docs/html/a03533.html +++ b/docs/html/a00908.html @@ -67,7 +67,7 @@
@@ -102,78 +102,78 @@
ATCA_STATUS releaseATCADevice ATCA_STATUS releaseATCADevice (ATCADevice ATCADevice  ca_dev)
- + - - + +

Data Structures

struct  ATCAIfaceCfg
struct  ATCAIfaceCfg
 
struct  atca_iface
 atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods More...
struct  atca_iface
 atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods More...
 
- +

Macros

#define ATCA_POST_DELAY_MSEC   25
#define ATCA_POST_DELAY_MSEC   25
 
- +

Typedefs

typedef struct atca_ifaceATCAIface
typedef struct atca_ifaceATCAIface
 
-

Enumerations

enum  ATCAIfaceType {
-  ATCA_I2C_IFACE, -ATCA_SWI_IFACE, -ATCA_UART_IFACE, -ATCA_SPI_IFACE, +
enum  ATCAIfaceType {
+  ATCA_I2C_IFACE, +ATCA_SWI_IFACE, +ATCA_UART_IFACE, +ATCA_SPI_IFACE,
-  ATCA_HID_IFACE, -ATCA_CUSTOM_IFACE, -ATCA_UNKNOWN_IFACE +  ATCA_HID_IFACE, +ATCA_CUSTOM_IFACE, +ATCA_UNKNOWN_IFACE
}
 
- + - + - + - - + + - + - + - - + + - - + + - - + + - + - + - + - + - +

Functions

ATCA_STATUS _atinit (ATCAIface ca_iface, ATCAHAL_t *hal)
ATCA_STATUS _atinit (ATCAIface ca_iface, ATCAHAL_t *hal)
 
ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
ATCA_STATUS initATCAIface (ATCAIfaceCfg *cfg, ATCAIface ca_iface)
 Initializer for ATCAIface objects. More...
 
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
ATCAIface newATCAIface (ATCAIfaceCfg *cfg)
 Constructor for ATCAIface objects. More...
 
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
ATCA_STATUS atinit (ATCAIface ca_iface)
 Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead. More...
 
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
ATCA_STATUS atsend (ATCAIface ca_iface, uint8_t *txdata, int txlength)
 Sends the data to the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
ATCA_STATUS atreceive (ATCAIface ca_iface, uint8_t *rxdata, uint16_t *rxlength)
 Receives data from the device by calling intermediate HAL wrapper function. More...
 
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
ATCA_STATUS atwake (ATCAIface ca_iface)
 Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead. More...
 
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
ATCA_STATUS atidle (ATCAIface ca_iface)
 Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead. More...
 
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
ATCA_STATUS atsleep (ATCAIface ca_iface)
 Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead. More...
 
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
ATCAIfaceCfgatgetifacecfg (ATCAIface ca_iface)
 Returns the logical interface configuration for the device. More...
 
void * atgetifacehaldat (ATCAIface ca_iface)
void * atgetifacehaldat (ATCAIface ca_iface)
 Returns the HAL data pointer for the device. More...
 
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
ATCA_STATUS releaseATCAIface (ATCAIface ca_iface)
 Instruct the HAL driver to release any resources associated with this interface. More...
 
void deleteATCAIface (ATCAIface *ca_iface)
void deleteATCAIface (ATCAIface *ca_iface)
 Instruct the HAL driver to release any resources associated with this interface, then delete the object. More...
 
ATCA_STATUS atpostinit (ATCAIface ca_iface)
ATCA_STATUS atpostinit (ATCAIface ca_iface)
 

Detailed Description

@@ -201,7 +201,7 @@

- +
typedef struct atca_iface* ATCAIfacetypedef struct atca_iface* ATCAIface

-

Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead.

+

Puts the device into idle state by calling intermediate HAL wrapper function. If using the basic API, the atcab_idle() function should be used instead.

Parameters
@@ -349,16 +349,16 @@

[in]ca_ifaceDevice to interact with.
- + - +
ATCA_STATUS atinit ATCA_STATUS atinit (ATCAIface ATCAIface  ca_iface)
-

Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead.

+

Performs the HAL initialization by calling intermediate HAL wrapper function. If using the basic API, the atcab_init() function should be called instead.

Parameters
@@ -376,9 +376,9 @@

[in]ca_ifaceDevice to interact with.
- + - + @@ -394,9 +394,9 @@

ATCA_STATUS atpostinit ATCA_STATUS atpostinit (ATCAIface ATCAIface  ca_iface)
- + - + @@ -439,9 +439,9 @@

ATCA_STATUS atreceive ATCA_STATUS atreceive (ATCAIface ATCAIface  ca_iface,
- + - + @@ -484,16 +484,16 @@

ATCA_STATUS atsend ATCA_STATUS atsend (ATCAIface ATCAIface  ca_iface,
- + - +
ATCA_STATUS atsleep ATCA_STATUS atsleep (ATCAIface ATCAIface  ca_iface)
-

Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead.

+

Puts the device into sleep state by calling intermediate HAL wrapper function. If using the basic API, the atcab_sleep() function should be used instead.

Parameters
@@ -511,16 +511,16 @@

[in]ca_ifaceDevice to interact with.
- + - +
ATCA_STATUS atwake ATCA_STATUS atwake (ATCAIface ATCAIface  ca_iface)
-

Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead.

+

Wakes up the device by calling intermediate HAL wrapper function. If using the basic API, the atcab_wakeup() function should be used instead.

Parameters
@@ -540,7 +540,7 @@

void deleteATCAIface

- + @@ -564,15 +564,15 @@

[in]ca_ifaceDevice to interact with.
(ATCAIfaceATCAIface ca_iface)
- + - + - + @@ -602,9 +602,9 @@

ATCA_STATUS initATCAIface ATCA_STATUS initATCAIface (ATCAIfaceCfgATCAIfaceCfg cfg,
ATCAIface ATCAIface  ca_iface 
- + - + @@ -629,9 +629,9 @@

ATCAIface newATCAIface ATCAIface newATCAIface (ATCAIfaceCfgATCAIfaceCfg cfg)
- + - + diff --git a/docs/html/a00908.js b/docs/html/a00908.js new file mode 100644 index 000000000..c4d2e8e4f --- /dev/null +++ b/docs/html/a00908.js @@ -0,0 +1,72 @@ +var a00908 = +[ + [ "ATCAIfaceCfg", "a00930.html", [ + [ "atcacustom", "a00930.html#abd8750afb7cb6d240c858a382a210fa7", null ], + [ "atcahid", "a00930.html#aa757f95b731b8dfdd4ce785e26944728", null ], + [ "atcai2c", "a00930.html#a88f8040c47fc046b2198a26f4ed3faf0", null ], + [ "atcaswi", "a00930.html#a9670d2ececfd8d536f8e6b629ab7b1ed", null ], + [ "atcauart", "a00930.html#a0b39f87d1a01274c9da57768841683c3", null ], + [ "baud", "a00930.html#ac6e5ec63505c02923d71f7409cdbf1d1", null ], + [ "bus", "a00930.html#a5262d4a80e6a0b6dce6fd57d4656786d", null ], + [ "cfg_data", "a00930.html#a97e106cc7267316cf40988744b231111", null ], + [ "devtype", "a00930.html#a05f2d72f4feff51d21be443c82d02192", null ], + [ "guid", "a00930.html#af6dd59cf5b43526a4c6ccd515042af73", null ], + [ "halidle", "a00930.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5", null ], + [ "halinit", "a00930.html#a3baf2be3a5e7c59688ede3ffa734f1e1", null ], + [ "halpostinit", "a00930.html#a82498c9417816ef35f75ea8249a3f10a", null ], + [ "halreceive", "a00930.html#a18decbd259932bfe1f787dd3d94ee29f", null ], + [ "halrelease", "a00930.html#a5eb439f0ede23956fde8cd72f41b85ba", null ], + [ "halsend", "a00930.html#a3aa29f6db8565f010adbe6b11e203d53", null ], + [ "halsleep", "a00930.html#a7add390e5c5e2d9c8f6dadc842a3726e", null ], + [ "halwake", "a00930.html#a357fd8307ec04fe3026830316fc3b043", null ], + [ "idx", "a00930.html#ae40354a1051342eb5a9db005715dcfa9", null ], + [ "iface_type", "a00930.html#a3d0753b214d2a12df80f22b56bfc6e71", null ], + [ "packetsize", "a00930.html#aba242bb3690d4d5a7de01474f94cb4ab", null ], + [ "parity", "a00930.html#aa0e72b59c63431c62f5b5eba36a65d17", null ], + [ "pid", "a00930.html#aec32162d9dc3fde2c76d766af522dae5", null ], + [ "port", "a00930.html#a63c89c04d1feae07ca35558055155ffb", null ], + [ "rx_retries", "a00930.html#aa9ce255f8b9bff64fe261235f9e70c03", null ], + [ "slave_address", "a00930.html#ac93868aeda435dfb685a0a0020e5c7a4", null ], + [ "stopbits", "a00930.html#a9de35842403baab5738ea16162012d4f", null ], + [ "vid", "a00930.html#a98780fe4ab562a61abfd7870ea0910c3", null ], + [ "wake_delay", "a00930.html#a058e797431a238154c5347fa26982044", null ], + [ "wordsize", "a00930.html#ae696a833509f858d17988acdb1deb161", null ] + ] ], + [ "atca_iface", "a00958.html", [ + [ "atidle", "a00958.html#af98425da891944b45d56cebd93b131f6", null ], + [ "atinit", "a00958.html#a43753a99c2b46caab2ae85d0504f1f84", null ], + [ "atpostinit", "a00958.html#a0dd463e6dbb6121768480ab7b42ba604", null ], + [ "atreceive", "a00958.html#a7ebe5db4da26f30972448931b7500546", null ], + [ "atsend", "a00958.html#a343ec53c611863bf30624e5775782ab5", null ], + [ "atsleep", "a00958.html#ae643f9f7998343cc33822de00192626b", null ], + [ "atwake", "a00958.html#a6cb270146e07d7c258bca835fda84be5", null ], + [ "hal_data", "a00958.html#ad33508455720b78cc0fc880cb3f9885e", null ], + [ "mIfaceCFG", "a00958.html#abdd7b8bd26139998d9da63a4fa562735", null ], + [ "mType", "a00958.html#ab4f4855cbadf7c7d2d3fb019eded7c8a", null ] + ] ], + [ "ATCA_POST_DELAY_MSEC", "a00908.html#gad476da768505d62bcd85e8fb55cdb1eb", null ], + [ "ATCAIface", "a00908.html#ga75c11126f3fe81df3d6c27f5bb393303", null ], + [ "ATCAIfaceType", "a00908.html#gac7f674d4a0afb12d2f3c9c5e98cb1089", [ + [ "ATCA_I2C_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb", null ], + [ "ATCA_SWI_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26", null ], + [ "ATCA_UART_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d", null ], + [ "ATCA_SPI_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7", null ], + [ "ATCA_HID_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1", null ], + [ "ATCA_CUSTOM_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d", null ], + [ "ATCA_UNKNOWN_IFACE", "a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec", null ] + ] ], + [ "_atinit", "a00908.html#gafdef2e89419fb8f93160efdd109ef8e4", null ], + [ "atgetifacecfg", "a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e", null ], + [ "atgetifacehaldat", "a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0", null ], + [ "atidle", "a00908.html#gac794fffe040e6d47a34c756720f3cbea", null ], + [ "atinit", "a00908.html#ga386353e8700eec35e4548dfa29f13b8d", null ], + [ "atpostinit", "a00908.html#ga6a9d6c47d866cba4ddd4ee6e671743d5", null ], + [ "atreceive", "a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb", null ], + [ "atsend", "a00908.html#ga29c6f441d31c84629954d50cc95d3c5d", null ], + [ "atsleep", "a00908.html#gac06336335e5f3191e3b1fc06d2830d96", null ], + [ "atwake", "a00908.html#ga32693c852341e1b946bab3cca5f71761", null ], + [ "deleteATCAIface", "a00908.html#gaf8074d759241d3edd6d8ead1d7322a98", null ], + [ "initATCAIface", "a00908.html#ga3a31087729a7a2e9a624572f234809fc", null ], + [ "newATCAIface", "a00908.html#ga6f28f18f0d00c5301939724325f6b6fc", null ], + [ "releaseATCAIface", "a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3", null ] +]; \ No newline at end of file diff --git a/docs/html/a03534.html b/docs/html/a00909.html similarity index 91% rename from docs/html/a03534.html rename to docs/html/a00909.html index f6f344c07..e4102bbbc 100644 --- a/docs/html/a03534.html +++ b/docs/html/a00909.html @@ -67,7 +67,7 @@
@@ -103,349 +103,349 @@
ATCA_STATUS releaseATCAIface ATCA_STATUS releaseATCAIface (ATCAIface ATCAIface  ca_iface)
- + - + - + - + - + - +

Data Structures

struct  atcacert_tm_utc_s
struct  atcacert_tm_utc_s
 
struct  atcacert_device_loc_s
struct  atcacert_device_loc_s
 
struct  atcacert_cert_loc_s
struct  atcacert_cert_loc_s
 
struct  atcacert_cert_element_s
struct  atcacert_cert_element_s
 
struct  atcacert_def_s
struct  atcacert_def_s
 
struct  atcacert_build_state_s
struct  atcacert_build_state_s
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Macros

#define FALSE   (0)
#define FALSE   (0)
 
#define TRUE   (1)
#define TRUE   (1)
 
#define ATCACERT_E_SUCCESS   0
#define ATCACERT_E_SUCCESS   0
 Operation completed successfully. More...
 
#define ATCACERT_E_ERROR   1
#define ATCACERT_E_ERROR   1
 General error. More...
 
#define ATCACERT_E_BAD_PARAMS   2
#define ATCACERT_E_BAD_PARAMS   2
 Invalid/bad parameter passed to function. More...
 
#define ATCACERT_E_BUFFER_TOO_SMALL   3
#define ATCACERT_E_BUFFER_TOO_SMALL   3
 Supplied buffer for output is too small to hold the result. More...
 
#define ATCACERT_E_DECODING_ERROR   4
#define ATCACERT_E_DECODING_ERROR   4
 Data being decoded/parsed has an invalid format. More...
 
#define ATCACERT_E_INVALID_DATE   5
#define ATCACERT_E_INVALID_DATE   5
 Date is invalid. More...
 
#define ATCACERT_E_UNIMPLEMENTED   6
#define ATCACERT_E_UNIMPLEMENTED   6
 Function is unimplemented for the current configuration. More...
 
#define ATCACERT_E_UNEXPECTED_ELEM_SIZE   7
#define ATCACERT_E_UNEXPECTED_ELEM_SIZE   7
 A certificate element size was not what was expected. More...
 
#define ATCACERT_E_ELEM_MISSING   8
#define ATCACERT_E_ELEM_MISSING   8
 The certificate element isn't defined for the certificate definition. More...
 
#define ATCACERT_E_ELEM_OUT_OF_BOUNDS   9
#define ATCACERT_E_ELEM_OUT_OF_BOUNDS   9
 Certificate element is out of bounds for the given certificate. More...
 
#define ATCACERT_E_BAD_CERT   10
#define ATCACERT_E_BAD_CERT   10
 Certificate structure is bad in some way. More...
 
#define ATCACERT_E_WRONG_CERT_DEF   11
#define ATCACERT_E_WRONG_CERT_DEF   11
 
#define ATCACERT_E_VERIFY_FAILED   12
#define ATCACERT_E_VERIFY_FAILED   12
 Certificate or challenge/response verification failed. More...
 
#define DATEFMT_ISO8601_SEP_SIZE   (20)
#define DATEFMT_ISO8601_SEP_SIZE   (20)
 
#define DATEFMT_RFC5280_UTC_SIZE   (13)
#define DATEFMT_RFC5280_UTC_SIZE   (13)
 
#define DATEFMT_POSIX_UINT32_BE_SIZE   (4)
#define DATEFMT_POSIX_UINT32_BE_SIZE   (4)
 
#define DATEFMT_POSIX_UINT32_LE_SIZE   (4)
#define DATEFMT_POSIX_UINT32_LE_SIZE   (4)
 
#define DATEFMT_RFC5280_GEN_SIZE   (15)
#define DATEFMT_RFC5280_GEN_SIZE   (15)
 
#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE
#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE
 
#define ATCACERT_DATE_FORMAT_SIZES_COUNT   5
#define ATCACERT_DATE_FORMAT_SIZES_COUNT   5
 
- + - + - + - + - + - + - + - + - + - + - +

Typedefs

typedef struct atcacert_tm_utc_s atcacert_tm_utc_t
typedef struct atcacert_tm_utc_s atcacert_tm_utc_t
 
typedef enum atcacert_date_format_e atcacert_date_format_t
typedef enum atcacert_date_format_e atcacert_date_format_t
 
typedef enum atcacert_cert_type_e atcacert_cert_type_t
typedef enum atcacert_cert_type_e atcacert_cert_type_t
 
typedef enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
typedef enum atcacert_cert_sn_src_e atcacert_cert_sn_src_t
 
typedef enum atcacert_device_zone_e atcacert_device_zone_t
typedef enum atcacert_device_zone_e atcacert_device_zone_t
 
typedef enum atcacert_std_cert_element_e atcacert_std_cert_element_t
typedef enum atcacert_std_cert_element_e atcacert_std_cert_element_t
 
typedef struct atcacert_device_loc_s atcacert_device_loc_t
typedef struct atcacert_device_loc_s atcacert_device_loc_t
 
typedef struct atcacert_cert_loc_s atcacert_cert_loc_t
typedef struct atcacert_cert_loc_s atcacert_cert_loc_t
 
typedef struct atcacert_cert_element_s atcacert_cert_element_t
typedef struct atcacert_cert_element_s atcacert_cert_element_t
 
typedef struct atcacert_def_s atcacert_def_t
typedef struct atcacert_def_s atcacert_def_t
 
typedef struct atcacert_build_state_s atcacert_build_state_t
typedef struct atcacert_build_state_s atcacert_build_state_t
 
- - - - -

Enumerations

enum  atcacert_date_format_e {
-  DATEFMT_ISO8601_SEP, -DATEFMT_RFC5280_UTC, -DATEFMT_POSIX_UINT32_BE, -DATEFMT_POSIX_UINT32_LE, +
enum  atcacert_date_format_e {
+  DATEFMT_ISO8601_SEP, +DATEFMT_RFC5280_UTC, +DATEFMT_POSIX_UINT32_BE, +DATEFMT_POSIX_UINT32_LE,
-  DATEFMT_RFC5280_GEN +  DATEFMT_RFC5280_GEN
}
 
enum  atcacert_cert_type_e { CERTTYPE_X509, -CERTTYPE_CUSTOM +
enum  atcacert_cert_type_e { CERTTYPE_X509, +CERTTYPE_CUSTOM }
 
enum  atcacert_cert_sn_src_e {
-  SNSRC_STORED = 0x0, -SNSRC_STORED_DYNAMIC = 0x7, -SNSRC_DEVICE_SN = 0x8, -SNSRC_SIGNER_ID = 0x9, +
enum  atcacert_cert_sn_src_e {
+  SNSRC_STORED = 0x0, +SNSRC_STORED_DYNAMIC = 0x7, +SNSRC_DEVICE_SN = 0x8, +SNSRC_SIGNER_ID = 0x9,
-  SNSRC_PUB_KEY_HASH = 0xA, -SNSRC_DEVICE_SN_HASH = 0xB, -SNSRC_PUB_KEY_HASH_POS = 0xC, -SNSRC_DEVICE_SN_HASH_POS = 0xD, +  SNSRC_PUB_KEY_HASH = 0xA, +SNSRC_DEVICE_SN_HASH = 0xB, +SNSRC_PUB_KEY_HASH_POS = 0xC, +SNSRC_DEVICE_SN_HASH_POS = 0xD,
-  SNSRC_PUB_KEY_HASH_RAW = 0xE, -SNSRC_DEVICE_SN_HASH_RAW = 0xF +  SNSRC_PUB_KEY_HASH_RAW = 0xE, +SNSRC_DEVICE_SN_HASH_RAW = 0xF
}
 
enum  atcacert_device_zone_e { DEVZONE_CONFIG = 0x00, -DEVZONE_OTP = 0x01, -DEVZONE_DATA = 0x02, -DEVZONE_NONE = 0x07 +
enum  atcacert_device_zone_e { DEVZONE_CONFIG = 0x00, +DEVZONE_OTP = 0x01, +DEVZONE_DATA = 0x02, +DEVZONE_NONE = 0x07 }
 
enum  atcacert_std_cert_element_e {
-  STDCERT_PUBLIC_KEY, -STDCERT_SIGNATURE, -STDCERT_ISSUE_DATE, -STDCERT_EXPIRE_DATE, +
enum  atcacert_std_cert_element_e {
+  STDCERT_PUBLIC_KEY, +STDCERT_SIGNATURE, +STDCERT_ISSUE_DATE, +STDCERT_EXPIRE_DATE,
-  STDCERT_SIGNER_ID, -STDCERT_CERT_SN, -STDCERT_AUTH_KEY_ID, -STDCERT_SUBJ_KEY_ID, +  STDCERT_SIGNER_ID, +STDCERT_CERT_SN, +STDCERT_AUTH_KEY_ID, +STDCERT_SUBJ_KEY_ID,
-  STDCERT_NUM_ELEMENTS +  STDCERT_NUM_ELEMENTS
}
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Functions

int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
int atcacert_read_cert (const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size)
 Reads the certificate specified by the certificate definition from the ATECC508A device. More...
 
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
int atcacert_write_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size)
 Take a full certificate and write it to the ATECC508A device according to the certificate definition. More...
 
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
int atcacert_create_csr (const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
int atcacert_create_csr_pem (const atcacert_def_t *csr_def, char *csr, size_t *csr_size)
 Creates a CSR specified by the CSR definition from the ATECC508A device. This process involves reading the dynamic CSR data from the device and combining it with the template found in the CSR definition, then signing it. Return the CSR int der format. More...
 
int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
int atcacert_get_response (uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64])
 Calculates the response to a challenge sent from the host. More...
 
int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
int atcacert_date_enc (atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size)
 Format a timestamp according to the format type. More...
 
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
int atcacert_date_dec (atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp)
 Parse a formatted timestamp according to the specified format. More...
 
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
int atcacert_date_enc_compcert (const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3])
 Encode the issue and expire dates in the format used by the compressed certificate. More...
 
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
int atcacert_date_dec_compcert (const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date)
 Decode the issue and expire dates from the format used by the compressed certificate. More...
 
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
int atcacert_date_get_max_date (atcacert_date_format_t format, atcacert_tm_utc_t *timestamp)
 Return the maximum date available for the given format. More...
 
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
int atcacert_date_enc_iso8601_sep (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE])
 
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
int atcacert_date_dec_iso8601_sep (const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
int atcacert_date_enc_rfc5280_utc (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE])
 
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
int atcacert_date_dec_rfc5280_utc (const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
int atcacert_date_enc_rfc5280_gen (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE])
 
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
int atcacert_date_dec_rfc5280_gen (const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
int atcacert_date_enc_posix_uint32_be (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE])
 
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
int atcacert_date_dec_posix_uint32_be (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
int atcacert_date_enc_posix_uint32_le (const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE])
 
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
int atcacert_date_dec_posix_uint32_le (const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp)
 
int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
int atcacert_get_device_locs (const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)
 Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list. More...
 
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
int atcacert_cert_build_start (atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])
 Starts the certificate rebuilding process. More...
 
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
int atcacert_cert_build_process (atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data)
 Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate. More...
 
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
int atcacert_cert_build_finish (atcacert_build_state_t *build_state)
 Completes any final certificate processing required after all data from the device has been incorporated. More...
 
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
int atcacert_get_device_data (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data)
 Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device. More...
 
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
int atcacert_set_subj_public_key (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])
 Sets the subject public key and subject key ID in a certificate. More...
 
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
int atcacert_get_subj_public_key (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])
 Gets the subject public key from a certificate. More...
 
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
int atcacert_get_subj_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])
 Gets the subject key ID from a certificate. More...
 
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
int atcacert_set_signature (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])
 Sets the signature in a certificate. This may alter the size of the X.509 certificates. More...
 
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
int atcacert_get_signature (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])
 Gets the signature from a certificate. More...
 
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
int atcacert_set_issue_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
int atcacert_get_issue_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
int atcacert_set_expire_date (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp)
 Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition. More...
 
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
int atcacert_get_expire_date (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp)
 Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition. More...
 
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
int atcacert_set_signer_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])
 Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits. More...
 
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
int atcacert_get_signer_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])
 Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits. More...
 
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
int atcacert_set_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)
 Sets the certificate serial number in a certificate. More...
 
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
int atcacert_gen_cert_sn (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])
 Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the. More...
 
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
int atcacert_get_cert_sn (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)
 Gets the certificate serial number from a certificate. More...
 
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
int atcacert_set_auth_key_id (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])
 Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it. More...
 
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
int atcacert_set_auth_key_id_raw (const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)
 Sets the authority key ID in a certificate. More...
 
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
int atcacert_get_auth_key_id (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])
 Gets the authority key ID from a certificate. More...
 
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
int atcacert_set_comp_cert (const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])
 Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match. More...
 
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
int atcacert_get_comp_cert (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])
 Generate the compressed certificate for the given certificate. More...
 
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
int atcacert_get_tbs (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)
 Get a pointer to the TBS data in a certificate. More...
 
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
int atcacert_get_tbs_digest (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])
 Get the SHA256 digest of certificate's TBS data. More...
 
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
int atcacert_set_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)
 Sets an element in a certificate. The data_size must match the size in cert_loc. More...
 
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
int atcacert_get_cert_element (const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)
 Gets an element from a certificate. More...
 
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
int atcacert_get_key_id (const uint8_t public_key[64], uint8_t key_id[20])
 Calculates the key ID for a given public ECC P256 key. More...
 
int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
int atcacert_merge_device_loc (atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size)
 Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list. More...
 
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
int atcacert_is_device_loc_overlap (const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2)
 
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
void atcacert_public_key_add_padding (const uint8_t raw_key[64], uint8_t padded_key[72])
 Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform. More...
 
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
void atcacert_public_key_remove_padding (const uint8_t padded_key[72], uint8_t raw_key[64])
 Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform. More...
 
int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
int atcacert_der_enc_length (uint32_t length, uint8_t *der_length, size_t *der_length_size)
 Encode a length in DER format. More...
 
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
int atcacert_der_dec_length (const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
 Decode a DER format length. More...
 
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
int atcacert_der_adjust_length (uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
 
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
int atcacert_der_enc_integer (const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
 Encode an ASN.1 integer in DER format, including tag and length fields. More...
 
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
int atcacert_der_dec_integer (const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
 Decode an ASN.1 DER encoded integer. More...
 
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
int atcacert_der_enc_ecdsa_sig_value (const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
 Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates. More...
 
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
int atcacert_der_dec_ecdsa_sig_value (const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
 Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates. More...
 
int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
int atcacert_verify_cert_hw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using the host's ATECC device for crypto functions. More...
 
int atcacert_gen_challenge_hw (uint8_t challenge[32])
int atcacert_gen_challenge_hw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using the RNG on the host's ATECC device. More...
 
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
int atcacert_verify_response_hw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using the host's ATECC device for crypto functions. More...
 
int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
int atcacert_verify_cert_sw (const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64])
 Verify a certificate against its certificate authority's public key using software crypto functions.The function is currently not implemented. More...
 
int atcacert_gen_challenge_sw (uint8_t challenge[32])
int atcacert_gen_challenge_sw (uint8_t challenge[32])
 Generate a random challenge to be sent to the client using a software PRNG.The function is currently not implemented. More...
 
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
int atcacert_verify_response_sw (const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64])
 Verify a client's response to a challenge using software crypto functions.The function is currently not implemented. More...
 
- +

Variables

const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
const size_t ATCACERT_DATE_FORMAT_SIZES [ATCACERT_DATE_FORMAT_SIZES_COUNT]
 

Detailed Description

@@ -692,7 +692,7 @@

- +
#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE#define DATEFMT_MAX_SIZE   DATEFMT_ISO8601_SEP_SIZE

@@ -1098,7 +1098,7 @@

int atcacert_cert_build_finish ( - atcacert_build_state_t *  + atcacert_build_state_tbuild_state) @@ -1126,13 +1126,13 @@

int atcacert_cert_build_process ( - atcacert_build_state_t *  + atcacert_build_state_tbuild_state, - const atcacert_device_loc_t *  + const atcacert_device_loc_tdevice_loc, @@ -1171,13 +1171,13 @@

int atcacert_cert_build_start ( - atcacert_build_state_t *  + atcacert_build_state_tbuild_state, - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -1230,7 +1230,7 @@

int atcacert_create_csr ( - const atcacert_def_t *  + const atcacert_def_tcsr_def, @@ -1275,7 +1275,7 @@

int atcacert_create_csr_pem ( - const atcacert_def_t *  + const atcacert_def_tcsr_def, @@ -1320,7 +1320,7 @@

int atcacert_date_dec ( - atcacert_date_format_t  + atcacert_date_format_t  format, @@ -1338,7 +1338,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1378,19 +1378,19 @@

- atcacert_date_format_t  + atcacert_date_format_t  expire_date_format, - atcacert_tm_utc_t *  + atcacert_tm_utc_tissue_date, - atcacert_tm_utc_t *  + atcacert_tm_utc_texpire_date  @@ -1430,7 +1430,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1458,7 +1458,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1486,7 +1486,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1514,7 +1514,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1542,7 +1542,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -1564,13 +1564,13 @@

int atcacert_date_enc ( - atcacert_date_format_t  + atcacert_date_format_t  format, - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1616,7 +1616,7 @@

int atcacert_date_enc_compcert ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_tissue_date, @@ -1661,7 +1661,7 @@

int atcacert_date_enc_iso8601_sep ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1689,7 +1689,7 @@

int atcacert_date_enc_posix_uint32_be ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1717,7 +1717,7 @@

int atcacert_date_enc_posix_uint32_le ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1745,7 +1745,7 @@

int atcacert_date_enc_rfc5280_gen ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1773,7 +1773,7 @@

int atcacert_date_enc_rfc5280_utc ( - const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp, @@ -1801,13 +1801,13 @@

int atcacert_date_get_max_date ( - atcacert_date_format_t  + atcacert_date_format_t  format, - atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -2176,7 +2176,7 @@

int atcacert_gen_cert_sn ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2283,7 +2283,7 @@

int atcacert_get_auth_key_id ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2335,13 +2335,13 @@

int atcacert_get_cert_element ( - const atcacert_def_t *  + const atcacert_def_tcert_def, - const atcacert_cert_loc_t *  + const atcacert_cert_loc_tcert_loc, @@ -2401,7 +2401,7 @@

int atcacert_get_cert_sn ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2460,7 +2460,7 @@

int atcacert_get_comp_cert ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2512,7 +2512,7 @@

int atcacert_get_device_data ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2530,7 +2530,7 @@

- const atcacert_device_loc_t *  + const atcacert_device_loc_tdevice_loc, @@ -2572,13 +2572,13 @@

int atcacert_get_device_locs ( - const atcacert_def_t *  + const atcacert_def_tcert_def, - atcacert_device_loc_t *  + atcacert_device_loc_tdevice_locs, @@ -2632,7 +2632,7 @@

int atcacert_get_expire_date ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2650,7 +2650,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -2684,7 +2684,7 @@

int atcacert_get_issue_date ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2702,7 +2702,7 @@

- atcacert_tm_utc_t *  + atcacert_tm_utc_ttimestamp  @@ -2821,7 +2821,7 @@

int atcacert_get_signature ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2873,7 +2873,7 @@

int atcacert_get_signer_id ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2925,7 +2925,7 @@

int atcacert_get_subj_key_id ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -2977,7 +2977,7 @@

int atcacert_get_subj_public_key ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3029,7 +3029,7 @@

int atcacert_get_tbs ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3088,7 +3088,7 @@

int atcacert_get_tbs_digest ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3140,13 +3140,13 @@

int atcacert_is_device_loc_overlap ( - const atcacert_device_loc_t *  + const atcacert_device_loc_tdevice_loc1, - const atcacert_device_loc_t *  + const atcacert_device_loc_tdevice_loc2  @@ -3168,7 +3168,7 @@

int atcacert_merge_device_loc ( - atcacert_device_loc_t *  + atcacert_device_loc_tdevice_locs, @@ -3186,7 +3186,7 @@

- const atcacert_device_loc_t *  + const atcacert_device_loc_tdevice_loc, @@ -3304,7 +3304,7 @@

int atcacert_read_cert ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3357,7 +3357,7 @@

int atcacert_set_auth_key_id ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3409,7 +3409,7 @@

int atcacert_set_auth_key_id_raw ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3461,13 +3461,13 @@

int atcacert_set_cert_element ( - const atcacert_def_t *  + const atcacert_def_tcert_def, - const atcacert_cert_loc_t *  + const atcacert_cert_loc_tcert_loc, @@ -3527,7 +3527,7 @@

int atcacert_set_cert_sn ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3593,7 +3593,7 @@

int atcacert_set_comp_cert ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3652,7 +3652,7 @@

int atcacert_set_expire_date ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3670,7 +3670,7 @@

- const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp  @@ -3704,7 +3704,7 @@

int atcacert_set_issue_date ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3722,7 +3722,7 @@

- const atcacert_tm_utc_t *  + const atcacert_tm_utc_ttimestamp  @@ -3756,7 +3756,7 @@

int atcacert_set_signature ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3815,7 +3815,7 @@

int atcacert_set_signer_id ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3867,7 +3867,7 @@

int atcacert_set_subj_public_key ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3919,7 +3919,7 @@

int atcacert_verify_cert_hw ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -3971,7 +3971,7 @@

int atcacert_verify_cert_sw ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -4115,7 +4115,7 @@

int atcacert_write_cert ( - const atcacert_def_t *  + const atcacert_def_tcert_def, @@ -4159,7 +4159,7 @@

- +
const size_t ATCACERT_DATE_FORMAT_SIZES[ATCACERT_DATE_FORMAT_SIZES_COUNT]const size_t ATCACERT_DATE_FORMAT_SIZES[ATCACERT_DATE_FORMAT_SIZES_COUNT]

diff --git a/docs/html/a00909.js b/docs/html/a00909.js new file mode 100644 index 000000000..cc5423796 --- /dev/null +++ b/docs/html/a00909.js @@ -0,0 +1,195 @@ +var a00909 = +[ + [ "atcacert_tm_utc_s", "a00962.html", [ + [ "tm_hour", "a00962.html#a4d171061df9e012fcfbd1172b8440d5f", null ], + [ "tm_mday", "a00962.html#a02048604d30b880033311cf542d63f92", null ], + [ "tm_min", "a00962.html#a987fa9280fe4cd6c6b8f77409f1c1504", null ], + [ "tm_mon", "a00962.html#ada983deda100b604bee5716512453658", null ], + [ "tm_sec", "a00962.html#a18df301c1a10c8d493da86ce5c2aea78", null ], + [ "tm_year", "a00962.html#a994c4f4519ba57e186580d21cc86f9e5", null ] + ] ], + [ "atcacert_device_loc_s", "a00966.html", [ + [ "count", "a00966.html#af6a39bfc7e1dc3b6f9c997c1c43fa996", null ], + [ "is_genkey", "a00966.html#ab0cedc80cd8670d02eee4b6e31500f5f", null ], + [ "offset", "a00966.html#ac681806181c80437cfab37335f62ff39", null ], + [ "slot", "a00966.html#ad23984515efd99983fa4baf3754082a1", null ], + [ "zone", "a00966.html#a107ad412023faa68c4ac0c7cfd921a02", null ] + ] ], + [ "atcacert_cert_loc_s", "a00970.html", [ + [ "count", "a00970.html#af6a39bfc7e1dc3b6f9c997c1c43fa996", null ], + [ "offset", "a00970.html#ac681806181c80437cfab37335f62ff39", null ] + ] ], + [ "atcacert_cert_element_s", "a00974.html", [ + [ "cert_loc", "a00974.html#af74e55b0689356f989d8330ae3072376", null ], + [ "device_loc", "a00974.html#aa36729eb861afe13bb70974147bc403b", null ], + [ "id", "a00974.html#a0b1ca4dcd178907e4151c7132e3b55f5", null ] + ] ], + [ "atcacert_def_s", "a00978.html", [ + [ "ca_cert_def", "a00978.html#aa5cb3f21e0d4d77567550388a7f08768", null ], + [ "cert_elements", "a00978.html#aa9a44f95411d86a78a93e650a9c19f53", null ], + [ "cert_elements_count", "a00978.html#afe2b347e101c9f7be9f73b8fda53de29", null ], + [ "cert_sn_dev_loc", "a00978.html#ab02a37cdd6671ab98d0124c5b91623b0", null ], + [ "cert_template", "a00978.html#acb91631744ba06809269dc2f137c835c", null ], + [ "cert_template_size", "a00978.html#a67c40218f646b70740c0d2027eb152a0", null ], + [ "chain_id", "a00978.html#af383252a42d77882d0f3aac7f6ee5048", null ], + [ "comp_cert_dev_loc", "a00978.html#a2d5a033a5aa1227c536ec1aa71a84fa5", null ], + [ "expire_date_format", "a00978.html#a6367c516be990bdce86047b5d9acda14", null ], + [ "expire_years", "a00978.html#a7dcbb1ab3db4003c7f2414e262853e6d", null ], + [ "issue_date_format", "a00978.html#a61f951f9c4366391012057d591888f32", null ], + [ "private_key_slot", "a00978.html#a641e13598992fc536e70b55cc8ee2ea5", null ], + [ "public_key_dev_loc", "a00978.html#accd31930a2e1ff0b8122cbaa202127d3", null ], + [ "sn_source", "a00978.html#af44c31e823af19e6efe6b418a13fafe3", null ], + [ "std_cert_elements", "a00978.html#a7e2ecd6c0b4cef9637e3b281d29200ce", null ], + [ "tbs_cert_loc", "a00978.html#a3a8aede64cc4e17e9495ada7a64ab24f", null ], + [ "template_id", "a00978.html#a44b6808e0d081cb5fd82f58f7de32e4a", null ], + [ "type", "a00978.html#ad158ea4479470d5470412d504428459b", null ] + ] ], + [ "atcacert_build_state_s", "a00982.html", [ + [ "cert", "a00982.html#aa09eb68c2656a44748cad406cf960f7c", null ], + [ "cert_def", "a00982.html#abaf4bb65d962f53a31b943c663eaf3b9", null ], + [ "cert_size", "a00982.html#a083f29531821a0ef698b452cb2b7f5b4", null ], + [ "device_sn", "a00982.html#a5aa8a40126b53aa3748ba0d00de61e60", null ], + [ "is_device_sn", "a00982.html#a3969ddf030fd0524b62c572070bb3edc", null ], + [ "max_cert_size", "a00982.html#abbc4bbcc72558a31f830df7df2df53b8", null ] + ] ], + [ "ATCACERT_DATE_FORMAT_SIZES_COUNT", "a00909.html#ga82737078e820e6d6beeca7466841e43d", null ], + [ "ATCACERT_E_BAD_CERT", "a00909.html#ga822ee0620c8d2d12ff971b9b35f9f5cd", null ], + [ "ATCACERT_E_BAD_PARAMS", "a00909.html#ga47509d283523ab1892fb8746d6f4e37d", null ], + [ "ATCACERT_E_BUFFER_TOO_SMALL", "a00909.html#ga7a2e774fc8b12c4045dea335a86afca6", null ], + [ "ATCACERT_E_DECODING_ERROR", "a00909.html#gaea155533fdd352d6602d3e2fc717930f", null ], + [ "ATCACERT_E_ELEM_MISSING", "a00909.html#ga8e3e7c64650c92364bbac17f6a75474a", null ], + [ "ATCACERT_E_ELEM_OUT_OF_BOUNDS", "a00909.html#ga62604c78d688530173e203b02df180fa", null ], + [ "ATCACERT_E_ERROR", "a00909.html#ga048a6bb9781dbbc402409a172f976f74", null ], + [ "ATCACERT_E_INVALID_DATE", "a00909.html#gaafd66d6744314225ead24b3901bd6372", null ], + [ "ATCACERT_E_SUCCESS", "a00909.html#ga7bd1ad830360fc8b988f855da6d0d5ba", null ], + [ "ATCACERT_E_UNEXPECTED_ELEM_SIZE", "a00909.html#ga5a7cb98e18ad338f2eaf6594acb67c32", null ], + [ "ATCACERT_E_UNIMPLEMENTED", "a00909.html#ga4b6db1523875a2b1453ef5e16989ecd4", null ], + [ "ATCACERT_E_VERIFY_FAILED", "a00909.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d", null ], + [ "ATCACERT_E_WRONG_CERT_DEF", "a00909.html#ga01010ef58d52a05292f6a70ff3d53ce8", null ], + [ "DATEFMT_ISO8601_SEP_SIZE", "a00909.html#ga4cd9a96f5434fa3bc256878031d63846", null ], + [ "DATEFMT_MAX_SIZE", "a00909.html#gae920fb7b153cf98e0d10365ec1d364de", null ], + [ "DATEFMT_POSIX_UINT32_BE_SIZE", "a00909.html#gafe13e835d79405f28daa3449f732ebcd", null ], + [ "DATEFMT_POSIX_UINT32_LE_SIZE", "a00909.html#gaa7c545ab9944dc7261d689680e2b00f4", null ], + [ "DATEFMT_RFC5280_GEN_SIZE", "a00909.html#gae058e0e8944f408fa251bc4f4136d79c", null ], + [ "DATEFMT_RFC5280_UTC_SIZE", "a00909.html#ga420f3d438f3f8f7c140512910e54d09a", null ], + [ "FALSE", "a00909.html#gaa93f0eb578d23995850d61f7d61c55c1", null ], + [ "TRUE", "a00909.html#gaa8cecfc5c5c054d2875c03e77b7be15d", null ], + [ "atcacert_build_state_t", "a00909.html#ga92ccf01a2c37be9caa7d840846672c83", null ], + [ "atcacert_cert_element_t", "a00909.html#ga8d14206d455a7a7835ed613e57c20dd3", null ], + [ "atcacert_cert_loc_t", "a00909.html#gae7c32139e6dce0fe25b4598299a77df6", null ], + [ "atcacert_cert_sn_src_t", "a00909.html#gaa557358df9a164d6c1f14b1f53662c6c", null ], + [ "atcacert_cert_type_t", "a00909.html#ga8fcfb1307197295422ace828b40ee37d", null ], + [ "atcacert_date_format_t", "a00909.html#ga7f389df0f74fd3593ab7e3a4d380433f", null ], + [ "atcacert_def_t", "a00909.html#gae9e78b17340263e97844ccaf72ca16ac", null ], + [ "atcacert_device_loc_t", "a00909.html#ga0fb6e40d2f1496215af2f9ae23c861a0", null ], + [ "atcacert_device_zone_t", "a00909.html#ga294899ca77a6801288e1ccb148de1f8b", null ], + [ "atcacert_std_cert_element_t", "a00909.html#ga4889317187186736e62beb7538b870b2", null ], + [ "atcacert_tm_utc_t", "a00909.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121", null ], + [ "atcacert_cert_sn_src_e", "a00909.html#ga813047a656af7fe578d28fd54c840e8e", [ + [ "SNSRC_STORED", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1", null ], + [ "SNSRC_STORED_DYNAMIC", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b", null ], + [ "SNSRC_DEVICE_SN", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41", null ], + [ "SNSRC_SIGNER_ID", "a00909.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff", null ], + [ "SNSRC_PUB_KEY_HASH", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e", null ], + [ "SNSRC_DEVICE_SN_HASH", "a00909.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2", null ], + [ "SNSRC_PUB_KEY_HASH_POS", "a00909.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5", null ], + [ "SNSRC_DEVICE_SN_HASH_POS", "a00909.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7", null ], + [ "SNSRC_PUB_KEY_HASH_RAW", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972", null ], + [ "SNSRC_DEVICE_SN_HASH_RAW", "a00909.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909", null ] + ] ], + [ "atcacert_cert_type_e", "a00909.html#ga5430f01929cd7269e04db08d1f28642f", [ + [ "CERTTYPE_X509", "a00909.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44", null ], + [ "CERTTYPE_CUSTOM", "a00909.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb", null ] + ] ], + [ "atcacert_date_format_e", "a00909.html#ga62a103735770a0f935a472fc2c1d78db", [ + [ "DATEFMT_ISO8601_SEP", "a00909.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5", null ], + [ "DATEFMT_RFC5280_UTC", "a00909.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d", null ], + [ "DATEFMT_POSIX_UINT32_BE", "a00909.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a", null ], + [ "DATEFMT_POSIX_UINT32_LE", "a00909.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161", null ], + [ "DATEFMT_RFC5280_GEN", "a00909.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e", null ] + ] ], + [ "atcacert_device_zone_e", "a00909.html#ga1c0876228cb459f64347a63f3bae4c73", [ + [ "DEVZONE_CONFIG", "a00909.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207", null ], + [ "DEVZONE_OTP", "a00909.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea", null ], + [ "DEVZONE_DATA", "a00909.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb", null ], + [ "DEVZONE_NONE", "a00909.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05", null ] + ] ], + [ "atcacert_std_cert_element_e", "a00909.html#ga77184d0c71198b489ea9b57d07da824e", [ + [ "STDCERT_PUBLIC_KEY", "a00909.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68", null ], + [ "STDCERT_SIGNATURE", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc", null ], + [ "STDCERT_ISSUE_DATE", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15", null ], + [ "STDCERT_EXPIRE_DATE", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604", null ], + [ "STDCERT_SIGNER_ID", "a00909.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3", null ], + [ "STDCERT_CERT_SN", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc", null ], + [ "STDCERT_AUTH_KEY_ID", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106", null ], + [ "STDCERT_SUBJ_KEY_ID", "a00909.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585", null ], + [ "STDCERT_NUM_ELEMENTS", "a00909.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f", null ] + ] ], + [ "atcacert_cert_build_finish", "a00909.html#ga9e594a491dccf61a638be46da5d40ff9", null ], + [ "atcacert_cert_build_process", "a00909.html#ga626158cfe54b84903885b2cc6c3880e4", null ], + [ "atcacert_cert_build_start", "a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe", null ], + [ "atcacert_create_csr", "a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6", null ], + [ "atcacert_create_csr_pem", "a00909.html#ga0b492025e27a705b1792b6276eeaaf68", null ], + [ "atcacert_date_dec", "a00909.html#ga368d038c02673b1e6ddacfd175786e6a", null ], + [ "atcacert_date_dec_compcert", "a00909.html#gaba31331bcfab203c786004b027512fab", null ], + [ "atcacert_date_dec_iso8601_sep", "a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce", null ], + [ "atcacert_date_dec_posix_uint32_be", "a00909.html#ga37893ca05c0e3ccbcec3725228b8a818", null ], + [ "atcacert_date_dec_posix_uint32_le", "a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d", null ], + [ "atcacert_date_dec_rfc5280_gen", "a00909.html#gadd219151c074c3ec7785d68741a1cae1", null ], + [ "atcacert_date_dec_rfc5280_utc", "a00909.html#ga7fa37d88f9405a3557110e58468f9e6e", null ], + [ "atcacert_date_enc", "a00909.html#gaab946b2ea5dba6d1addacc995a6989ae", null ], + [ "atcacert_date_enc_compcert", "a00909.html#ga5da5a0589a6168aafd34b4aac4e07553", null ], + [ "atcacert_date_enc_iso8601_sep", "a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f", null ], + [ "atcacert_date_enc_posix_uint32_be", "a00909.html#ga1160e4293d7831e15a47e7b3f47013ca", null ], + [ "atcacert_date_enc_posix_uint32_le", "a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f", null ], + [ "atcacert_date_enc_rfc5280_gen", "a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249", null ], + [ "atcacert_date_enc_rfc5280_utc", "a00909.html#gaa83e2f3a3f83b321dade6cd3211136db", null ], + [ "atcacert_date_get_max_date", "a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f", null ], + [ "atcacert_der_adjust_length", "a00909.html#ga165018175f52421ea26fb33ccf335108", null ], + [ "atcacert_der_dec_ecdsa_sig_value", "a00909.html#gac3f22b75f15e8508f35d99b95d955842", null ], + [ "atcacert_der_dec_integer", "a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77", null ], + [ "atcacert_der_dec_length", "a00909.html#gaeee4091e249b8fc202d5126a8374eeb1", null ], + [ "atcacert_der_enc_ecdsa_sig_value", "a00909.html#ga3583ada6da51d31cfe819894e8a9deeb", null ], + [ "atcacert_der_enc_integer", "a00909.html#gaf156257cda87df879f54c07e80bc0e8d", null ], + [ "atcacert_der_enc_length", "a00909.html#gaafc9ef8e0164226481b670fde0223e13", null ], + [ "atcacert_gen_cert_sn", "a00909.html#gae1f109cb8edea615c0f7126527208452", null ], + [ "atcacert_gen_challenge_hw", "a00909.html#ga208c1ea765f192bd86b26964fbb5edcb", null ], + [ "atcacert_gen_challenge_sw", "a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3", null ], + [ "atcacert_get_auth_key_id", "a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422", null ], + [ "atcacert_get_cert_element", "a00909.html#gacdb102fcae9f3a822a19b2ca487b415d", null ], + [ "atcacert_get_cert_sn", "a00909.html#gaf64c228c28f42f15e9b43457146d1504", null ], + [ "atcacert_get_comp_cert", "a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a", null ], + [ "atcacert_get_device_data", "a00909.html#ga240f94a03feb298e5c618677f2962a5a", null ], + [ "atcacert_get_device_locs", "a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398", null ], + [ "atcacert_get_expire_date", "a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2", null ], + [ "atcacert_get_issue_date", "a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b", null ], + [ "atcacert_get_key_id", "a00909.html#gad93de2bdacdcfe04abb0e991a8401388", null ], + [ "atcacert_get_response", "a00909.html#ga9f7223a578ce5c07a831638106c6ff6c", null ], + [ "atcacert_get_signature", "a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6", null ], + [ "atcacert_get_signer_id", "a00909.html#ga1201f3c1a20b5b105f9160bea104b102", null ], + [ "atcacert_get_subj_key_id", "a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0", null ], + [ "atcacert_get_subj_public_key", "a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02", null ], + [ "atcacert_get_tbs", "a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c", null ], + [ "atcacert_get_tbs_digest", "a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a", null ], + [ "atcacert_is_device_loc_overlap", "a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7", null ], + [ "atcacert_merge_device_loc", "a00909.html#ga593780a1837f517ce75bb19d9c5c9db7", null ], + [ "atcacert_public_key_add_padding", "a00909.html#ga7337facc592df42d585b22345e333ae3", null ], + [ "atcacert_public_key_remove_padding", "a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129", null ], + [ "atcacert_read_cert", "a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4", null ], + [ "atcacert_set_auth_key_id", "a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c", null ], + [ "atcacert_set_auth_key_id_raw", "a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e", null ], + [ "atcacert_set_cert_element", "a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce", null ], + [ "atcacert_set_cert_sn", "a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73", null ], + [ "atcacert_set_comp_cert", "a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49", null ], + [ "atcacert_set_expire_date", "a00909.html#gad499cd0bdce799a3278f99c80e0f9143", null ], + [ "atcacert_set_issue_date", "a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5", null ], + [ "atcacert_set_signature", "a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2", null ], + [ "atcacert_set_signer_id", "a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6", null ], + [ "atcacert_set_subj_public_key", "a00909.html#ga4c4d5fe988ebface171689f3aa122e12", null ], + [ "atcacert_verify_cert_hw", "a00909.html#ga81e92ea606e86051afa84f2fac4898d6", null ], + [ "atcacert_verify_cert_sw", "a00909.html#gab78271af8c3e2837810fcdae6e3f5e28", null ], + [ "atcacert_verify_response_hw", "a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed", null ], + [ "atcacert_verify_response_sw", "a00909.html#ga9d5bf9ec84d28a0412377818805c32c4", null ], + [ "atcacert_write_cert", "a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad", null ], + [ "ATCACERT_DATE_FORMAT_SIZES", "a00909.html#ga8b93faeabd399250750a5ed9401d897e", null ] +]; \ No newline at end of file diff --git a/docs/html/a03535.html b/docs/html/a00910.html similarity index 90% rename from docs/html/a03535.html rename to docs/html/a00910.html index bef4e319c..1b21f782c 100644 --- a/docs/html/a03535.html +++ b/docs/html/a00910.html @@ -67,7 +67,7 @@
@@ -102,439 +102,458 @@ - + - + - + - +

Data Structures

struct  atca_aes_cbc_ctx
struct  atca_aes_cbc_ctx
 
struct  atca_aes_cmac_ctx
struct  atca_aes_cmac_ctx
 
struct  atca_aes_ctr_ctx
struct  atca_aes_ctr_ctx
 
struct  atca_sha256_ctx
struct  atca_sha256_ctx
 
- + - + + +

Macros

#define BLOCK_NUMBER(a)   (a / 32)
#define BLOCK_NUMBER(a)   (a / 32)
 
#define WORD_OFFSET(a)   ((a % 32) / 4)
#define WORD_OFFSET(a)   ((a % 32) / 4)
 
#define ATCA_AES_GCM_IV_STD_LENGTH   12
 
- + - + - + - + - +

Typedefs

typedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t
typedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t
 
typedef struct atca_aes_cmac_ctx atca_aes_cmac_ctx_t
typedef struct atca_aes_cmac_ctx atca_aes_cmac_ctx_t
 
typedef struct atca_aes_ctr_ctx atca_aes_ctr_ctx_t
typedef struct atca_aes_ctr_ctx atca_aes_ctr_ctx_t
 
typedef struct atca_sha256_ctx atca_sha256_ctx_t
typedef struct atca_sha256_ctx atca_sha256_ctx_t
 
typedef atca_sha256_ctx_t atca_hmac_sha256_ctx_t
typedef atca_sha256_ctx_t atca_hmac_sha256_ctx_t
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - - + + - - + + - - + + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Functions

ATCA_STATUS atcab_version (char *ver_str)
ATCA_STATUS atcab_version (char *ver_str)
 basic API methods are all prefixed with atcab_ (CryptoAuthLib Basic) the fundamental premise of the basic API is it is based on a single interface instance and that instance is global, so all basic API commands assume that one global device is the one to operate on. More...
 
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
ATCA_STATUS atcab_init (ATCAIfaceCfg *cfg)
 Creates a global ATCADevice object used by Basic API. More...
 
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
ATCA_STATUS atcab_init_device (ATCADevice ca_device)
 Initialize the global ATCADevice object to point to one of your choosing for use with all the atcab_ basic API. More...
 
ATCA_STATUS atcab_release (void)
ATCA_STATUS atcab_release (void)
 release (free) the global ATCADevice instance. This must be called in order to release or free up the interface. More...
 
ATCADevice atcab_get_device (void)
ATCADevice atcab_get_device (void)
 Get the global device object. More...
 
ATCA_STATUS _atcab_exit (void)
ATCA_STATUS _atcab_exit (void)
 common cleanup code which idles the device after any operation More...
 
ATCA_STATUS atcab_wakeup (void)
ATCA_STATUS atcab_wakeup (void)
 wakeup the CryptoAuth device More...
 
ATCA_STATUS atcab_idle (void)
ATCA_STATUS atcab_idle (void)
 idle the CryptoAuth device More...
 
ATCA_STATUS atcab_sleep (void)
ATCA_STATUS atcab_sleep (void)
 invoke sleep on the CryptoAuth device More...
 
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max)
ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg cfg_array[], int max)
 auto discovery of crypto auth devices More...
 
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
ATCA_STATUS atcab_get_addr (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr)
 Compute the address given the zone, slot, block, and offset. More...
 
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
ATCA_STATUS atcab_get_zone_size (uint8_t zone, uint16_t slot, size_t *size)
 Gets the size of the specified zone in bytes. More...
 
ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
ATCA_STATUS atcab_aes (uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out)
 Compute the AES-128 encrypt, decrypt, or GFM calculation. More...
 
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
ATCA_STATUS atcab_aes_encrypt (uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext)
 Perform an AES-128 encrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
ATCA_STATUS atcab_aes_decrypt (uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext)
 Perform an AES-128 decrypt operation with a key in the device. More...
 
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
ATCA_STATUS atcab_aes_gfm (const uint8_t *h, const uint8_t *input, uint8_t *output)
 Perform a Galois Field Multiply (GFM) operation. More...
 
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv)
 Initialize context for AES CBC operation. More...
 
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block)
 Initialize a CMAC calculation using an AES-128 key in the ATECC608A. More...
 
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size)
 Add data to an initialized CMAC calculation. More...
 
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size)
 Finish a CMAC operation returning the CMAC value. More...
 
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv)
 Initialize context for AES CTR operation with an existing IV, which is common when start a decrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv)
 Initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation. More...
 
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output)
 Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext)
 Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext)
 Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function. More...
 
ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
ATCA_STATUS atcab_aes_ctr_increment (atca_aes_ctr_ctx_t *ctx)
 Increments AES CTR counter value. More...
 
ATCA_STATUS atcab_checkmac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data)
 Compares a MAC response with input values. More...
 
ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
ATCA_STATUS atcab_counter (uint8_t mode, uint16_t counter_id, uint32_t *counter_value)
 Compute the Counter functions. More...
 
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
ATCA_STATUS atcab_counter_increment (uint16_t counter_id, uint32_t *counter_value)
 Increments one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
ATCA_STATUS atcab_counter_read (uint16_t counter_id, uint32_t *counter_value)
 Read one of the device's monotonic counters. More...
 
ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t key_id, const uint8_t *mac)
ATCA_STATUS atcab_derivekey (uint8_t mode, uint16_t key_id, const uint8_t *mac)
 Executes the DeviveKey command for deriving a new key from a nonce (TempKey) and an existing key. More...
 
ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
ATCA_STATUS atcab_ecdh_base (uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce)
 Base function for generating premaster secret key using ECDH. More...
 
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
ATCA_STATUS atcab_ecdh (uint16_t key_id, const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in a slot and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
ATCA_STATUS atcab_ecdh_enc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id)
 ECDH command with a private key in a slot and the premaster secret is read from the next slot. More...
 
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
ATCA_STATUS atcab_ecdh_ioenc (uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in a slot and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
ATCA_STATUS atcab_ecdh_tempkey (const uint8_t *public_key, uint8_t *pms)
 ECDH command with a private key in TempKey and the premaster secret is returned in the clear. More...
 
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
ATCA_STATUS atcab_ecdh_tempkey_ioenc (const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key)
 ECDH command with a private key in TempKey and the premaster secret is returned encrypted using the IO protection key. More...
 
ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
ATCA_STATUS atcab_gendig (uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size)
 Issues a GenDig command, which performs a SHA256 hash on the source data indicated by zone with the contents of TempKey. See the CryptoAuth datasheet for your chip to see what the values of zone correspond to. More...
 
ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
ATCA_STATUS atcab_genkey_base (uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key)
 Issues GenKey command, which can generate a private key, compute a public key, nd/or compute a digest of a public key. More...
 
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
ATCA_STATUS atcab_genkey (uint16_t key_id, uint8_t *public_key)
 Issues GenKey command, which generates a new random private key in slot and returns the public key. More...
 
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
ATCA_STATUS atcab_get_pubkey (uint16_t key_id, uint8_t *public_key)
 Uses GenKey command to calculate the public key from an existing private key in a slot. More...
 
ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
ATCA_STATUS atcab_hmac (uint8_t mode, uint16_t key_id, uint8_t *digest)
 Issues a HMAC command, which computes an HMAC/SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
ATCA_STATUS atcab_info_base (uint8_t mode, uint16_t param2, uint8_t *out_data)
 Issues an Info command, which return internal device information and can control GPIO and the persistent latch. More...
 
ATCA_STATUS atcab_info (uint8_t *revision)
ATCA_STATUS atcab_info (uint8_t *revision)
 Use the Info command to get the device revision (DevRev). More...
 
ATCA_STATUS atcab_info_set_latch (bool state)
ATCA_STATUS atcab_info_set_latch (bool state)
 Use the Info command to set the persistent latch state for an ATECC608A device. More...
 
ATCA_STATUS atcab_info_get_latch (bool *state)
ATCA_STATUS atcab_info_get_latch (bool *state)
 Use the Info command to get the persistent latch current state for an ATECC608A device. More...
 
ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
ATCA_STATUS atcab_kdf (uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce)
 Executes the KDF command, which derives a new key in PRF, AES, or HKDF modes. More...
 
ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
ATCA_STATUS atcab_lock (uint8_t mode, uint16_t summary_crc)
 The Lock command prevents future modifications of the Configuration and/or Data and OTP zones. If the device is so configured, then this command can be used to lock individual data slots. This command fails if the designated area is already locked. More...
 
ATCA_STATUS atcab_lock_config_zone (void)
ATCA_STATUS atcab_lock_config_zone (void)
 Unconditionally (no CRC required) lock the config zone. More...
 
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
ATCA_STATUS atcab_lock_config_zone_crc (uint16_t summary_crc)
 Lock the config zone with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_zone (void)
ATCA_STATUS atcab_lock_data_zone (void)
 Unconditionally (no CRC required) lock the data zone (slots and OTP). More...
 
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
ATCA_STATUS atcab_lock_data_zone_crc (uint16_t summary_crc)
 Lock the data zone (slots and OTP) with summary CRC. More...
 
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
ATCA_STATUS atcab_lock_data_slot (uint16_t slot)
 Lock an individual slot in the data zone on an ATECC device. Not available for ATSHA devices. Slot must be configured to be slot lockable (KeyConfig.Lockable=1). More...
 
ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
ATCA_STATUS atcab_mac (uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest)
 Executes MAC command, which computes a SHA-256 digest of a key stored in the device, a challenge, and other information on the device. More...
 
ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
ATCA_STATUS atcab_nonce_base (uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out)
 Executes Nonce command, which loads a random or fixed nonce/data into the device for use by subsequent commands. More...
 
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
ATCA_STATUS atcab_nonce (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
ATCA_STATUS atcab_nonce_load (uint8_t target, const uint8_t *num_in, uint16_t num_in_size)
 Execute a Nonce command in pass-through mode to load one of the device's internal buffers with a fixed value. More...
 
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
ATCA_STATUS atcab_nonce_rand (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random nonce combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
ATCA_STATUS atcab_challenge (const uint8_t *num_in)
 Execute a Nonce command in pass-through mode to initialize TempKey to a specified value. More...
 
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
ATCA_STATUS atcab_challenge_seed_update (const uint8_t *num_in, uint8_t *rand_out)
 Execute a Nonce command to generate a random challenge combining a host nonce (num_in) and a device random number. More...
 
ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
ATCA_STATUS atcab_priv_write (uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32])
 Executes PrivWrite command, to write externally generated ECC private keys into the device. More...
 
ATCA_STATUS atcab_random (uint8_t *rand_out)
ATCA_STATUS atcab_random (uint8_t *rand_out)
 Executes Random command, which generates a 32 byte random number from the CryptoAuth device. More...
 
ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
ATCA_STATUS atcab_read_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len)
 Executes Read command, which reads either 4 or 32 bytes of data from a given slot, configuration zone, or the OTP zone. More...
 
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
ATCA_STATUS atcab_is_locked (uint8_t zone, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified zone is locked. More...
 
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
ATCA_STATUS atcab_is_slot_locked (uint16_t slot, bool *is_locked)
 Executes Read command, which reads the configuration zone to see if the specified slot is locked. More...
 
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
ATCA_STATUS atcab_read_bytes_zone (uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length)
 Used to read an arbitrary number of bytes from any zone configured for clear reads. More...
 
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
ATCA_STATUS atcab_read_serial_number (uint8_t *serial_number)
 Executes Read command, which reads the 9 byte serial number of the device from the config zone. More...
 
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
ATCA_STATUS atcab_read_pubkey (uint16_t slot, uint8_t *public_key)
 Executes Read command to read an ECC P256 public key from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
ATCA_STATUS atcab_read_sig (uint16_t slot, uint8_t *sig)
 Executes Read command to read a 64 byte ECDSA P256 signature from a slot configured for clear reads. More...
 
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
ATCA_STATUS atcab_read_config_zone (uint8_t *config_data)
 Executes Read command to read the complete device configuration zone. More...
 
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
ATCA_STATUS atcab_cmp_config_zone (uint8_t *config_data, bool *same_config)
 Compares a specified configuration zone with the configuration zone currently on the device. More...
 
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
ATCA_STATUS atcab_read_enc (uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes Read command on a slot configured for encrypted reads and decrypts the data to return it as plaintext. More...
 
ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
ATCA_STATUS atcab_secureboot (uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac)
 Executes Secure Boot command, which provides support for secure boot of an external MCU or MPU. More...
 
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
ATCA_STATUS atcab_secureboot_mac (uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes Secure Boot command with encrypted digest and validated MAC response using the IO protection key. More...
 
ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
ATCA_STATUS atcab_selftest (uint8_t mode, uint16_t param2, uint8_t *result)
 Executes the SelfTest command, which performs a test of one or more of the cryptographic engines within the ATECC608A chip. More...
 
ATCA_STATUS atcab_sha_base (uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size)
ATCA_STATUS atcab_sha_base (uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size)
 Executes SHA command, which computes a SHA-256 or HMAC/SHA-256 digest for general purpose use by the host system. More...
 
ATCA_STATUS atcab_sha_start (void)
ATCA_STATUS atcab_sha_start (void)
 Executes SHA command to initialize SHA-256 calculation engine. More...
 
ATCA_STATUS atcab_sha_update (const uint8_t *message)
ATCA_STATUS atcab_sha_update (const uint8_t *message)
 Executes SHA command to add 64 bytes of message data to the current context. More...
 
ATCA_STATUS atcab_sha_end (uint8_t *digest, uint16_t length, const uint8_t *message)
ATCA_STATUS atcab_sha_end (uint8_t *digest, uint16_t length, const uint8_t *message)
 Executes SHA command to complete SHA-256 or HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_read_context (uint8_t *context, uint16_t *context_size)
ATCA_STATUS atcab_sha_read_context (uint8_t *context, uint16_t *context_size)
 Executes SHA command to read the SHA-256 context back. Only for ATECC608A with SHA-256 contexts. HMAC not supported. More...
 
ATCA_STATUS atcab_sha_write_context (const uint8_t *context, uint16_t context_size)
ATCA_STATUS atcab_sha_write_context (const uint8_t *context, uint16_t context_size)
 Executes SHA command to write (restore) a SHA-256 context into the the device. Only supported for ATECC608A with SHA-256 contexts. More...
 
ATCA_STATUS atcab_sha (uint16_t length, const uint8_t *message, uint8_t *digest)
ATCA_STATUS atcab_sha (uint16_t length, const uint8_t *message, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t *digest)
ATCA_STATUS atcab_hw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t *digest)
 Use the SHA command to compute a SHA-256 digest. More...
 
ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_t *ctx)
ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_t *ctx)
 Initialize a SHA context for performing a hardware SHA-256 operation on a device. Note that only one SHA operation can be run at a time. More...
 
ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Add message data to a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_t *ctx, uint8_t *digest)
ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_t *ctx, uint8_t *digest)
 Finish SHA-256 digest for a SHA context for performing a hardware SHA-256 operation on a device. More...
 
ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot)
 Executes SHA command to start an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size)
 Executes SHA command to add an arbitrary amount of message data to a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target)
 Executes SHA command to complete a HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sha_hmac (const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
ATCA_STATUS atcab_sha_hmac (const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target)
 Use the SHA command to compute an HMAC/SHA-256 operation. More...
 
ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
ATCA_STATUS atcab_sign_base (uint8_t mode, uint16_t key_id, uint8_t *signature)
 Executes the Sign command, which generates a signature using the ECDSA algorithm. More...
 
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
ATCA_STATUS atcab_sign (uint16_t key_id, const uint8_t *msg, uint8_t *signature)
 Executes Sign command, to sign a 32-byte external message using the private key in the specified slot. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
ATCA_STATUS atcab_sign_internal (uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature)
 Executes Sign command to sign an internally generated message. More...
 
ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
ATCA_STATUS atcab_updateextra (uint8_t mode, uint16_t new_value)
 Executes UpdateExtra command to update the values of the two extra bytes within the Configuration zone (bytes 84 and 85). More...
 
ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
ATCA_STATUS atcab_verify (uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac)
 Executes the Verify command, which takes an ECDSA [R,S] signature and verifies that it is correctly generated from a given message and public key. In all cases, the signature is an input to the command. More...
 
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
ATCA_STATUS atcab_verify_extern (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
ATCA_STATUS atcab_verify_extern_mac (const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with all components (message, signature, and public key) supplied. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
ATCA_STATUS atcab_verify_stored (const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified)
 Executes the Verify command, which verifies a signature (ECDSA verify operation) with a public key stored in the device. The message to be signed will be loaded into the Message Digest Buffer to the ATECC608A device or TempKey for other devices. More...
 
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
ATCA_STATUS atcab_verify_stored_mac (const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified)
 Executes the Verify command with verification MAC, which verifies a signature (ECDSA verify operation) with a public key stored in the device. This function is only available on the ATECC608A. More...
 
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
ATCA_STATUS atcab_verify_validate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Validate mode to validate a public key stored in a slot. More...
 
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
ATCA_STATUS atcab_verify_invalidate (uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified)
 Executes the Verify command in Invalidate mode which invalidates a previously validated public key stored in a slot. More...
 
ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
ATCA_STATUS atcab_write (uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac)
 Executes the Write command, which writes either one four byte word or a 32-byte block to one of the EEPROM zones on the device. Depending upon the value of the WriteConfig byte for this slot, the data may be required to be encrypted by the system prior to being sent to the device. This command cannot be used to write slots configured as ECC private keys. More...
 
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
ATCA_STATUS atcab_write_zone (uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len)
 Executes the Write command, which writes either 4 or 32 bytes of data into a device zone. More...
 
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
ATCA_STATUS atcab_write_bytes_zone (uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length)
 Executes the Write command, which writes data into the configuration, otp, or data zones with a given byte offset and length. Offset and length must be multiples of a word (4 bytes). More...
 
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
ATCA_STATUS atcab_write_pubkey (uint16_t slot, const uint8_t *public_key)
 Executes the Write command, which writes a public key to a data slot in the device format. More...
 
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
ATCA_STATUS atcab_write_config_zone (const uint8_t *config_data)
 Executes the Write command, which writes the configuration zone. More...
 
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
ATCA_STATUS atcab_write_enc (uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id)
 Executes the Write command, which performs an encrypted write of a 32 byte block into given slot. More...
 
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
ATCA_STATUS atcab_write_config_counter (uint16_t counter_id, uint32_t counter_value)
 Initialize one of the monotonic counters in device with a specific value. More...
 
ATCA_STATUS atcab_printbin (uint8_t *binary, size_t bin_len, bool add_space)
ATCA_STATUS atcab_printbin (uint8_t *binary, size_t bin_len, bool add_space)
 
ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
ATCA_STATUS atcab_bin2hex (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size)
 Convert a binary buffer to a hex string for easy reading. More...
 
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
ATCA_STATUS atcab_bin2hex_ (const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty)
 Function that converts a binary buffer to a hex string suitable for easy reading. More...
 
ATCA_STATUS atcab_hex2bin (const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
ATCA_STATUS atcab_hex2bin (const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len)
 Function that converts a hex string to binary buffer. More...
 
ATCA_STATUS atcab_printbin_sp (uint8_t *binary, size_t bin_len)
ATCA_STATUS atcab_printbin_sp (uint8_t *binary, size_t bin_len)
 
ATCA_STATUS atcab_printbin_label (const char *label, uint8_t *binary, size_t bin_len)
ATCA_STATUS atcab_printbin_label (const char *label, uint8_t *binary, size_t bin_len)
 
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
ATCA_STATUS packHex (const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len)
 Remove white space from a ASCII hex string. More...
 
bool isDigit (char c)
bool isDigit (char c)
 Checks to see if a character is an ASCII representation of a digit ((c ge '0') and (c le '9')) More...
 
bool isWhiteSpace (char c)
bool isWhiteSpace (char c)
 Checks to see if a character is whitespace. More...
 
bool isAlpha (char c)
bool isAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHexAlpha (char c)
bool isHexAlpha (char c)
 Checks to see if a character is an ASCII representation of hex ((c >= 'A') and (c <= 'F')) || ((c >= 'a') and (c <= 'f')) More...
 
bool isHex (char c)
bool isHex (char c)
 Returns true if this character is a valid hex character or if this is whitespace (The character can be included in a valid hexstring). More...
 
bool isHexDigit (char c)
bool isHexDigit (char c)
 Returns true if this character is a valid hex character. More...
 
bool isBase64 (char c, const uint8_t *rules)
bool isBase64 (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character or if this is whitespace (A character can be included in a valid base 64 string). More...
 
bool isBase64Digit (char c, const uint8_t *rules)
bool isBase64Digit (char c, const uint8_t *rules)
 Returns true if this character is a valid base 64 character. More...
 
uint8_t base64Index (char c, const uint8_t *rules)
uint8_t base64Index (char c, const uint8_t *rules)
 Returns the base 64 index of the given character. More...
 
char base64Char (uint8_t id, const uint8_t *rules)
char base64Char (uint8_t id, const uint8_t *rules)
 Returns the base 64 character of the given index. More...
 
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
ATCA_STATUS atcab_base64decode_ (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules)
 Decode base64 string to data with ruleset option. More...
 
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
ATCA_STATUS atcab_base64decode (const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size)
 Decode base64 string to data. More...
 
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
ATCA_STATUS atcab_base64encode_ (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules)
 Encode data as base64 string with ruleset option. More...
 
ATCA_STATUS atcab_base64encode (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
ATCA_STATUS atcab_base64encode (const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size)
 Encode data as base64 string. More...
 
- + - + - + - +

Variables

ATCADevice _gDevice
ATCADevice _gDevice
 
uint8_t atcab_b64rules_default [4]
uint8_t atcab_b64rules_default [4]
 
uint8_t atcab_b64rules_mime [4]
uint8_t atcab_b64rules_mime [4]
 
uint8_t atcab_b64rules_urlsafe [4]
uint8_t atcab_b64rules_urlsafe [4]
 

Detailed Description

These methods provide the most convenient, simple API to CryptoAuth chips.

Macro Definition Documentation

+ +

◆ ATCA_AES_GCM_IV_STD_LENGTH

+ +
+
+ + + + +
#define ATCA_AES_GCM_IV_STD_LENGTH   12
+
+ +
+

◆ BLOCK_NUMBER

@@ -579,7 +598,7 @@

- +
typedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_ttypedef struct atca_aes_cbc_ctx atca_aes_cbc_ctx_t

@@ -650,7 +669,7 @@

- + @@ -671,7 +690,7 @@

ATCA_STATUS _atcab_exit ATCA_STATUS _atcab_exit ( void  )
- + @@ -723,9 +742,9 @@

ATCA_STATUS atcab_aes ATCA_STATUS atcab_aes ( uint8_t  mode,
- + - + @@ -748,7 +767,7 @@

-

Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function.

+

Decrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function.

Parameters

ATCA_STATUS atcab_aes_cbc_decrypt_block ATCA_STATUS atcab_aes_cbc_decrypt_block (atca_aes_cbc_ctx_tatca_aes_cbc_ctx_t ctx,
@@ -768,9 +787,9 @@

[in]ctxAES CBC context.
- + - + @@ -793,7 +812,7 @@

-

Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function.

+

Encrypt a block of data using CBC mode and a key within the ATECC608A. atcab_aes_cbc_init() should be called before the first use of this function.

Parameters

ATCA_STATUS atcab_aes_cbc_encrypt_block ATCA_STATUS atcab_aes_cbc_encrypt_block (atca_aes_cbc_ctx_tatca_aes_cbc_ctx_t ctx,
@@ -813,9 +832,9 @@

[in]ctxAES CBC context.
- + - + @@ -865,9 +884,9 @@

ATCA_STATUS atcab_aes_cbc_init ATCA_STATUS atcab_aes_cbc_init (atca_aes_cbc_ctx_tatca_aes_cbc_ctx_t ctx,
- + - + @@ -910,9 +929,9 @@

ATCA_STATUS atcab_aes_cmac_finish ATCA_STATUS atcab_aes_cmac_finish (atca_aes_cmac_ctx_tatca_aes_cmac_ctx_t ctx,
- + - + @@ -955,9 +974,9 @@

ATCA_STATUS atcab_aes_cmac_init ATCA_STATUS atcab_aes_cmac_init (atca_aes_cmac_ctx_tatca_aes_cmac_ctx_t ctx,
- + - + @@ -1000,9 +1019,9 @@

ATCA_STATUS atcab_aes_cmac_update ATCA_STATUS atcab_aes_cmac_update (atca_aes_cmac_ctx_tatca_aes_cmac_ctx_t ctx,
- + - + @@ -1025,7 +1044,7 @@

-

Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

+

Process a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

Parameters

ATCA_STATUS atcab_aes_ctr_block ATCA_STATUS atcab_aes_ctr_block (atca_aes_ctr_ctx_tatca_aes_ctr_ctx_t ctx,
@@ -1045,9 +1064,9 @@

[in]ctxAES CTR context structure.
- + - + @@ -1070,7 +1089,7 @@

-

Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

+

Decrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

Parameters

ATCA_STATUS atcab_aes_ctr_decrypt_block ATCA_STATUS atcab_aes_ctr_decrypt_block (atca_aes_ctr_ctx_tatca_aes_ctr_ctx_t ctx,
@@ -1090,9 +1109,9 @@

[in]ctxAES CTR context structure.
- + - + @@ -1115,7 +1134,7 @@

-

Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

+

Encrypt a block of data using CTR mode and a key within the ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() should be called before the first use of this function.

Parameters

ATCA_STATUS atcab_aes_ctr_encrypt_block ATCA_STATUS atcab_aes_ctr_encrypt_block (atca_aes_ctr_ctx_tatca_aes_ctr_ctx_t ctx,
@@ -1126,6 +1145,33 @@

Returns
ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, otherwise an error code.
+ + +
+

◆ atcab_aes_ctr_increment()

+ +
+
+

[in]ctxAES CTR context structure.
+ + + + + + + +
ATCA_STATUS atcab_aes_ctr_increment (atca_aes_ctr_ctx_tctx)
+

+ +

Increments AES CTR counter value.

+
Parameters
+ + +
[in,out]ctxAES CTR context
+
+
+
Returns
ATCA_SUCCESS on success, otherwise an error code.
+
@@ -1135,9 +1181,9 @@

- + - + @@ -1195,9 +1241,9 @@

ATCA_STATUS atcab_aes_ctr_init ATCA_STATUS atcab_aes_ctr_init (atca_aes_ctr_ctx_tatca_aes_ctr_ctx_t ctx,
- + - + @@ -1255,7 +1301,7 @@

ATCA_STATUS atcab_aes_ctr_init_rand ATCA_STATUS atcab_aes_ctr_init_rand (atca_aes_ctr_ctx_tatca_aes_ctr_ctx_t ctx,
- + @@ -1307,7 +1353,7 @@

ATCA_STATUS atcab_aes_decrypt ATCA_STATUS atcab_aes_decrypt ( uint16_t  key_id,
- + @@ -1359,7 +1405,7 @@

ATCA_STATUS atcab_aes_encrypt ATCA_STATUS atcab_aes_encrypt ( uint16_t  key_id,
- + @@ -1404,7 +1450,7 @@

ATCA_STATUS atcab_aes_gfm ATCA_STATUS atcab_aes_gfm ( const uint8_t *  h,
- + @@ -1456,7 +1502,7 @@

ATCA_STATUS atcab_base64decode ATCA_STATUS atcab_base64decode ( const char *  encoded,
- + @@ -1514,7 +1560,7 @@

ATCA_STATUS atcab_base64decode_ ATCA_STATUS atcab_base64decode_ ( const char *  encoded,
- + @@ -1566,7 +1612,7 @@

ATCA_STATUS atcab_base64encode ATCA_STATUS atcab_base64encode ( const uint8_t *  byte_array,
- + @@ -1624,7 +1670,7 @@

ATCA_STATUS atcab_base64encode_ ATCA_STATUS atcab_base64encode_ ( const uint8_t *  data,
- + @@ -1676,7 +1722,7 @@

ATCA_STATUS atcab_bin2hex ATCA_STATUS atcab_bin2hex ( const uint8_t *  bin,
- + @@ -1735,9 +1781,9 @@

ATCA_STATUS atcab_bin2hex_ ATCA_STATUS atcab_bin2hex_ ( const uint8_t *  bin,
- + - + @@ -1774,7 +1820,7 @@

ATCA_STATUS atcab_cfg_discover ATCA_STATUS atcab_cfg_discover (ATCAIfaceCfg ATCAIfaceCfg  cfg_array[],
- + @@ -1801,7 +1847,7 @@

ATCA_STATUS atcab_challenge ATCA_STATUS atcab_challenge ( const uint8_t *  num_in)
- + @@ -1839,7 +1885,7 @@

ATCA_STATUS atcab_challenge_seed_update ATCA_STATUS atcab_challenge_seed_update ( const uint8_t *  num_in,
- + @@ -1898,7 +1944,7 @@

ATCA_STATUS atcab_checkmac ATCA_STATUS atcab_checkmac ( uint8_t  mode,
- + @@ -1938,7 +1984,7 @@

ATCA_STATUS atcab_cmp_config_zone ATCA_STATUS atcab_cmp_config_zone ( uint8_t *  config_data,
- + @@ -1983,7 +2029,7 @@

ATCA_STATUS atcab_counter ATCA_STATUS atcab_counter ( uint8_t  mode,
- + @@ -2021,7 +2067,7 @@

ATCA_STATUS atcab_counter_increment ATCA_STATUS atcab_counter_increment ( uint16_t  counter_id,
- + @@ -2059,7 +2105,7 @@

ATCA_STATUS atcab_counter_read ATCA_STATUS atcab_counter_read ( uint16_t  counter_id,
- + @@ -2104,7 +2150,7 @@

ATCA_STATUS atcab_derivekey ATCA_STATUS atcab_derivekey ( uint8_t  mode,
- + @@ -2149,7 +2195,7 @@

ATCA_STATUS atcab_ecdh ATCA_STATUS atcab_ecdh ( uint16_t  key_id,
- + @@ -2208,7 +2254,7 @@

ATCA_STATUS atcab_ecdh_base ATCA_STATUS atcab_ecdh_base ( uint8_t  mode,
- + @@ -2268,7 +2314,7 @@

ATCA_STATUS atcab_ecdh_enc ATCA_STATUS atcab_ecdh_enc ( uint16_t  key_id,
- + @@ -2320,7 +2366,7 @@

ATCA_STATUS atcab_ecdh_ioenc ATCA_STATUS atcab_ecdh_ioenc ( uint16_t  key_id,
- + @@ -2358,7 +2404,7 @@

ATCA_STATUS atcab_ecdh_tempkey ATCA_STATUS atcab_ecdh_tempkey ( const uint8_t *  public_key,
- + @@ -2403,7 +2449,7 @@

ATCA_STATUS atcab_ecdh_tempkey_ioenc ATCA_STATUS atcab_ecdh_tempkey_ioenc ( const uint8_t *  public_key,
- + @@ -2455,7 +2501,7 @@

ATCA_STATUS atcab_gendig ATCA_STATUS atcab_gendig ( uint8_t  zone,
- + @@ -2493,7 +2539,7 @@

ATCA_STATUS atcab_genkey ATCA_STATUS atcab_genkey ( uint16_t  key_id,
- + @@ -2545,7 +2591,7 @@

ATCA_STATUS atcab_genkey_base ATCA_STATUS atcab_genkey_base ( uint8_t  mode,
- + @@ -2604,7 +2650,7 @@

ATCA_STATUS atcab_get_addr ATCA_STATUS atcab_get_addr ( uint8_t  zone,
- + @@ -2625,7 +2671,7 @@

ATCADevice atcab_get_device ATCADevice atcab_get_device ( void  )
- + @@ -2663,7 +2709,7 @@

ATCA_STATUS atcab_get_pubkey ATCA_STATUS atcab_get_pubkey ( uint16_t  key_id,
- + @@ -2708,7 +2754,7 @@

ATCA_STATUS atcab_get_zone_size ATCA_STATUS atcab_get_zone_size ( uint8_t  zone,
- + @@ -2760,7 +2806,7 @@

ATCA_STATUS atcab_hex2bin ATCA_STATUS atcab_hex2bin ( const char *  hex,
- + @@ -2805,7 +2851,7 @@

ATCA_STATUS atcab_hmac ATCA_STATUS atcab_hmac ( uint8_t  mode,
- + @@ -2850,9 +2896,9 @@

ATCA_STATUS atcab_hw_sha2_256 ATCA_STATUS atcab_hw_sha2_256 ( const uint8_t *  data,
- + - + @@ -2888,9 +2934,9 @@

ATCA_STATUS atcab_hw_sha2_256_finish ATCA_STATUS atcab_hw_sha2_256_finish (atca_sha256_ctx_tatca_sha256_ctx_t ctx,
- + - + @@ -2915,9 +2961,9 @@

ATCA_STATUS atcab_hw_sha2_256_init ATCA_STATUS atcab_hw_sha2_256_init (atca_sha256_ctx_tatca_sha256_ctx_t ctx)
- + - + @@ -2960,7 +3006,7 @@

ATCA_STATUS atcab_hw_sha2_256_update ATCA_STATUS atcab_hw_sha2_256_update (atca_sha256_ctx_tatca_sha256_ctx_t ctx,
- + @@ -2981,7 +3027,7 @@

ATCA_STATUS atcab_idle ATCA_STATUS atcab_idle ( void  )
- + @@ -3008,7 +3054,7 @@

ATCA_STATUS atcab_info ATCA_STATUS atcab_info ( uint8_t *  revision)
- + @@ -3053,7 +3099,7 @@

ATCA_STATUS atcab_info_base ATCA_STATUS atcab_info_base ( uint8_t  mode,
- + @@ -3080,7 +3126,7 @@

ATCA_STATUS atcab_info_get_latch ATCA_STATUS atcab_info_get_latch ( bool *  state)
- + @@ -3107,9 +3153,9 @@

ATCA_STATUS atcab_info_set_latch ATCA_STATUS atcab_info_set_latch ( bool  state)
- + - + @@ -3119,7 +3165,7 @@

Parameters

ATCA_STATUS atcab_init ATCA_STATUS atcab_init (ATCAIfaceCfgATCAIfaceCfg cfg)
- +
[in]cfgLogical interface configuration. Some predefined configurations can be found in atca_cfgs.h
[in]cfgLogical interface configuration. Some predefined configurations can be found in atca_cfgs.h
@@ -3134,9 +3180,9 @@

- + - + @@ -3161,7 +3207,7 @@

ATCA_STATUS atcab_init_device ATCA_STATUS atcab_init_device (ATCADevice ATCADevice  ca_device)
- + @@ -3199,7 +3245,7 @@

ATCA_STATUS atcab_is_locked ATCA_STATUS atcab_is_locked ( uint8_t  zone,
- + @@ -3237,7 +3283,7 @@

ATCA_STATUS atcab_is_slot_locked ATCA_STATUS atcab_is_slot_locked ( uint16_t  slot,
- + @@ -3304,7 +3350,7 @@

ATCA_STATUS atcab_kdf ATCA_STATUS atcab_kdf ( uint8_t  mode,
- + @@ -3342,7 +3388,7 @@

ATCA_STATUS atcab_lock ATCA_STATUS atcab_lock ( uint8_t  mode,
- + @@ -3363,7 +3409,7 @@

ATCA_STATUS atcab_lock_config_zone ATCA_STATUS atcab_lock_config_zone ( void  )
- + @@ -3391,7 +3437,7 @@

ATCA_STATUS atcab_lock_config_zone_crc ATCA_STATUS atcab_lock_config_zone_crc ( uint16_t  summary_crc)
- + @@ -3418,7 +3464,7 @@

ATCA_STATUS atcab_lock_data_slot ATCA_STATUS atcab_lock_data_slot ( uint16_t  slot)
- + @@ -3440,7 +3486,7 @@

ATCA_STATUS atcab_lock_data_zone ATCA_STATUS atcab_lock_data_zone ( void  )
- + @@ -3468,7 +3514,7 @@

ATCA_STATUS atcab_lock_data_zone_crc ATCA_STATUS atcab_lock_data_zone_crc ( uint16_t  summary_crc)
- + @@ -3520,7 +3566,7 @@

ATCA_STATUS atcab_mac ATCA_STATUS atcab_mac ( uint8_t  mode,
- + @@ -3547,7 +3593,7 @@

ATCA_STATUS atcab_nonce ATCA_STATUS atcab_nonce ( const uint8_t *  num_in)
- + @@ -3599,7 +3645,7 @@

ATCA_STATUS atcab_nonce_base ATCA_STATUS atcab_nonce_base ( uint8_t  mode,
- + @@ -3645,7 +3691,7 @@

ATCA_STATUS atcab_nonce_load ATCA_STATUS atcab_nonce_load ( uint8_t  target,
- + @@ -3683,7 +3729,7 @@

ATCA_STATUS atcab_nonce_rand ATCA_STATUS atcab_nonce_rand ( const uint8_t *  num_in,
- + @@ -3717,7 +3763,7 @@

ATCA_STATUS atcab_printbin ATCA_STATUS atcab_printbin ( uint8_t *  binary,
- + @@ -3751,7 +3797,7 @@

ATCA_STATUS atcab_printbin_label ATCA_STATUS atcab_printbin_label ( const char *  label,
- + @@ -3779,7 +3825,7 @@

ATCA_STATUS atcab_printbin_sp ATCA_STATUS atcab_printbin_sp ( uint8_t *  binary,
- + @@ -3831,7 +3877,7 @@

ATCA_STATUS atcab_priv_write ATCA_STATUS atcab_priv_write ( uint16_t  key_id,
- + @@ -3858,7 +3904,7 @@

ATCA_STATUS atcab_random ATCA_STATUS atcab_random ( uint8_t *  rand_out)
- + @@ -3899,8 +3945,8 @@

Parameters

ATCA_STATUS atcab_read_bytes_zone ATCA_STATUS atcab_read_bytes_zone ( uint8_t  zone,
- - + + @@ -3918,7 +3964,7 @@

[in]zoneZone to read data from. Option are ATCA_ZONE_CONFIG(0), ATCA_ZONE_OTP(1), or ATCA_ZONE_DATA(2).
[in]slotSlot number to read from if zone is ATCA_ZONE_DATA(2). Ignored for all other zones.
[in]zoneZone to read data from. Option are ATCA_ZONE_CONFIG(0), ATCA_ZONE_OTP(1), or ATCA_ZONE_DATA(2).
[in]slotSlot number to read from if zone is ATCA_ZONE_DATA(2). Ignored for all other zones.
[in]offsetByte offset within the zone to read from.
[out]dataRead data is returned here.
[in]lengthNumber of bytes to read starting from the offset.
- + @@ -3945,7 +3991,7 @@

ATCA_STATUS atcab_read_config_zone ATCA_STATUS atcab_read_config_zone ( uint8_t *  config_data)
- + @@ -4005,7 +4051,7 @@

ATCA_STATUS atcab_read_enc ATCA_STATUS atcab_read_enc ( uint16_t  key_id,
- + @@ -4044,7 +4090,7 @@

ATCA_STATUS atcab_read_pubkey ATCA_STATUS atcab_read_pubkey ( uint16_t  slot,
- + @@ -4071,7 +4117,7 @@

ATCA_STATUS atcab_read_serial_number ATCA_STATUS atcab_read_serial_number ( uint8_t *  serial_number)
- + @@ -4109,7 +4155,7 @@

ATCA_STATUS atcab_read_sig ATCA_STATUS atcab_read_sig ( uint16_t  slot,
- + @@ -4176,7 +4222,7 @@

ATCA_STATUS atcab_read_zone ATCA_STATUS atcab_read_zone ( uint8_t  zone,
- + @@ -4197,7 +4243,7 @@

ATCA_STATUS atcab_release ATCA_STATUS atcab_release ( void  )
- + @@ -4256,7 +4302,7 @@

ATCA_STATUS atcab_secureboot ATCA_STATUS atcab_secureboot ( uint8_t  mode,
- + @@ -4322,7 +4368,7 @@

ATCA_STATUS atcab_secureboot_mac ATCA_STATUS atcab_secureboot_mac ( uint8_t  mode,
- + @@ -4367,7 +4413,7 @@

ATCA_STATUS atcab_selftest ATCA_STATUS atcab_selftest ( uint8_t  mode,
- + @@ -4412,7 +4458,7 @@

ATCA_STATUS atcab_sha ATCA_STATUS atcab_sha ( uint16_t  length,
- + @@ -4472,7 +4518,7 @@

ATCA_STATUS atcab_sha_base ATCA_STATUS atcab_sha_base ( uint8_t  mode,
- + @@ -4517,7 +4563,7 @@

ATCA_STATUS atcab_sha_end ATCA_STATUS atcab_sha_end ( uint8_t *  digest,
- + @@ -4576,9 +4622,9 @@

ATCA_STATUS atcab_sha_hmac ATCA_STATUS atcab_sha_hmac ( const uint8_t *  data,
- + - + @@ -4621,9 +4667,9 @@

ATCA_STATUS atcab_sha_hmac_finish ATCA_STATUS atcab_sha_hmac_finish (atca_hmac_sha256_ctx_tatca_hmac_sha256_ctx_t ctx,
- + - + @@ -4659,9 +4705,9 @@

ATCA_STATUS atcab_sha_hmac_init ATCA_STATUS atcab_sha_hmac_init (atca_hmac_sha256_ctx_tatca_hmac_sha256_ctx_t ctx,
- + - + @@ -4704,7 +4750,7 @@

ATCA_STATUS atcab_sha_hmac_update ATCA_STATUS atcab_sha_hmac_update (atca_hmac_sha256_ctx_tatca_hmac_sha256_ctx_t ctx,
- + @@ -4742,7 +4788,7 @@

ATCA_STATUS atcab_sha_read_context ATCA_STATUS atcab_sha_read_context ( uint8_t *  context,
- + @@ -4763,7 +4809,7 @@

ATCA_STATUS atcab_sha_start ATCA_STATUS atcab_sha_start ( void  )
- + @@ -4790,7 +4836,7 @@

ATCA_STATUS atcab_sha_update ATCA_STATUS atcab_sha_update ( const uint8_t *  message)
- + @@ -4828,7 +4874,7 @@

ATCA_STATUS atcab_sha_write_context ATCA_STATUS atcab_sha_write_context ( const uint8_t *  context,
- + @@ -4873,7 +4919,7 @@

ATCA_STATUS atcab_sign ATCA_STATUS atcab_sign ( uint16_t  key_id,
- + @@ -4918,7 +4964,7 @@

ATCA_STATUS atcab_sign_base ATCA_STATUS atcab_sign_base ( uint8_t  mode,
- + @@ -4970,7 +5016,7 @@

ATCA_STATUS atcab_sign_internal ATCA_STATUS atcab_sign_internal ( uint16_t  key_id,
- + @@ -4991,7 +5037,7 @@

ATCA_STATUS atcab_sleep ATCA_STATUS atcab_sleep ( void  )
- + @@ -5030,7 +5076,7 @@

ATCA_STATUS atcab_updateextra ATCA_STATUS atcab_updateextra ( uint8_t  mode,
- + @@ -5097,7 +5143,7 @@

ATCA_STATUS atcab_verify ATCA_STATUS atcab_verify ( uint8_t  mode,
- + @@ -5149,7 +5195,7 @@

ATCA_STATUS atcab_verify_extern ATCA_STATUS atcab_verify_extern ( const uint8_t *  message,
- + @@ -5215,7 +5261,7 @@

ATCA_STATUS atcab_verify_extern_mac ATCA_STATUS atcab_verify_extern_mac ( const uint8_t *  message,
- + @@ -5268,7 +5314,7 @@

ATCA_STATUS atcab_verify_invalidate ATCA_STATUS atcab_verify_invalidate ( uint16_t  key_id,
- + @@ -5320,7 +5366,7 @@

ATCA_STATUS atcab_verify_stored ATCA_STATUS atcab_verify_stored ( const uint8_t *  message,
- + @@ -5386,7 +5432,7 @@

ATCA_STATUS atcab_verify_stored_mac ATCA_STATUS atcab_verify_stored_mac ( const uint8_t *  message,
- + @@ -5439,7 +5485,7 @@

ATCA_STATUS atcab_verify_validate ATCA_STATUS atcab_verify_validate ( uint16_t  key_id,
- + @@ -5466,7 +5512,7 @@

ATCA_STATUS atcab_version ATCA_STATUS atcab_version ( char *  ver_str)
- + @@ -5487,7 +5533,7 @@

ATCA_STATUS atcab_wakeup ATCA_STATUS atcab_wakeup ( void  )
- + @@ -5539,7 +5585,7 @@

ATCA_STATUS atcab_write ATCA_STATUS atcab_write ( uint8_t  zone,
- + @@ -5580,8 +5626,8 @@

Parameters

ATCA_STATUS atcab_write_bytes_zone ATCA_STATUS atcab_write_bytes_zone ( uint8_t  zone,
- - + + @@ -5599,7 +5645,7 @@

[in]zoneZone to write data to: ATCA_ZONE_CONFIG(0), ATCA_ZONE_OTP(1), or ATCA_ZONE_DATA(2).
[in]slotIf zone is ATCA_ZONE_DATA(2), the slot number to write to. Ignored for all other zones.
[in]zoneZone to write data to: ATCA_ZONE_CONFIG(0), ATCA_ZONE_OTP(1), or ATCA_ZONE_DATA(2).
[in]slotIf zone is ATCA_ZONE_DATA(2), the slot number to write to. Ignored for all other zones.
[in]offset_bytesByte offset within the zone to write to. Must be a multiple of a word (4 bytes).
[in]dataData to be written.
[in]lengthNumber of bytes to be written. Must be a multiple of a word (4 bytes).
- + @@ -5638,7 +5684,7 @@

ATCA_STATUS atcab_write_config_counter ATCA_STATUS atcab_write_config_counter ( uint16_t  counter_id,
- + @@ -5667,7 +5713,7 @@

ATCA_STATUS atcab_write_config_zone ATCA_STATUS atcab_write_config_zone ( const uint8_t *  config_data)
- + @@ -5727,7 +5773,7 @@

ATCA_STATUS atcab_write_enc ATCA_STATUS atcab_write_enc ( uint16_t  key_id,
- + @@ -5765,7 +5811,7 @@

ATCA_STATUS atcab_write_pubkey ATCA_STATUS atcab_write_pubkey ( uint16_t  slot,
- + @@ -6145,7 +6191,7 @@

ATCA_STATUS atcab_write_zone ATCA_STATUS atcab_write_zone ( uint8_t  zone,
- + @@ -6198,7 +6244,7 @@

ATCA_STATUS packHex ATCA_STATUS packHex ( const char *  ascii_hex,
- +
ATCADevice _gDeviceATCADevice _gDevice

diff --git a/docs/html/a00910.js b/docs/html/a00910.js new file mode 100644 index 000000000..23757add2 --- /dev/null +++ b/docs/html/a00910.js @@ -0,0 +1,167 @@ +var a00910 = +[ + [ "atca_aes_cbc_ctx", "a00986.html", [ + [ "ciphertext", "a00986.html#a984a9b23546b1bab664b3a3e721830b7", null ], + [ "key_block", "a00986.html#a2ec310210422989027a46428a61fb1c1", null ], + [ "key_id", "a00986.html#ac21eed4200889cc115d16a781871d01c", null ] + ] ], + [ "atca_aes_cmac_ctx", "a00990.html", [ + [ "block", "a00990.html#adae27798b73271394b86837502dfd853", null ], + [ "block_size", "a00990.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "cbc_ctx", "a00990.html#a9246ae6d7229247b3e9b5e540a26ac05", null ] + ] ], + [ "atca_aes_ctr_ctx", "a00994.html", [ + [ "cb", "a00994.html#a5af729786916ea6a413d85fb8bba87f1", null ], + [ "counter_size", "a00994.html#ab645bb8a04ce16b6ab3c843dd4d1c177", null ], + [ "key_block", "a00994.html#a2ec310210422989027a46428a61fb1c1", null ], + [ "key_id", "a00994.html#ac21eed4200889cc115d16a781871d01c", null ] + ] ], + [ "atca_sha256_ctx", "a00998.html", [ + [ "block", "a00998.html#a407f9109b29f2f3a4c9f7d1de450ad41", null ], + [ "block_size", "a00998.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "total_msg_size", "a00998.html#a8ee7e642376903508dd6b4df9eacc2de", null ] + ] ], + [ "ATCA_AES_GCM_IV_STD_LENGTH", "a00910.html#gad4d0b05dd9b5d0987e24eef9674922ce", null ], + [ "BLOCK_NUMBER", "a00910.html#ga66d0b18bba952f5acdee8cf68b889b75", null ], + [ "WORD_OFFSET", "a00910.html#ga9e5ab0fea07bd91159ab96f18105d1b1", null ], + [ "atca_aes_cbc_ctx_t", "a00910.html#gaa702726fe160635225abc3c1ed421f7e", null ], + [ "atca_aes_cmac_ctx_t", "a00910.html#ga05fa8c58bf4408381db8871b0dca64b6", null ], + [ "atca_aes_ctr_ctx_t", "a00910.html#ga52b18f051752d214a2d5b485270f5b15", null ], + [ "atca_hmac_sha256_ctx_t", "a00910.html#ga4c1f62e502c168be9261d2af921e78ba", null ], + [ "atca_sha256_ctx_t", "a00910.html#ga530ccce9f617be7dbf3661e19a4c0546", null ], + [ "_atcab_exit", "a00910.html#ga5802cd6847a837458604db5dbec4a6f0", null ], + [ "atcab_aes", "a00910.html#gad115ce255664a48b80e90ea19c156b79", null ], + [ "atcab_aes_cbc_decrypt_block", "a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e", null ], + [ "atcab_aes_cbc_encrypt_block", "a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e", null ], + [ "atcab_aes_cbc_init", "a00910.html#gabc41b824cdc9b10efa46bcbf74850184", null ], + [ "atcab_aes_cmac_finish", "a00910.html#gac0be51b283b107465dcf42758ca31687", null ], + [ "atcab_aes_cmac_init", "a00910.html#ga84506ff4105e63823c99527788d36d52", null ], + [ "atcab_aes_cmac_update", "a00910.html#ga0cf22e893c713890faeb9fa8784760b1", null ], + [ "atcab_aes_ctr_block", "a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0", null ], + [ "atcab_aes_ctr_decrypt_block", "a00910.html#gada9491be0c81fb18b021f71b9a6eda3e", null ], + [ "atcab_aes_ctr_encrypt_block", "a00910.html#ga7182e48a847f9c1b31f19c60f373e2da", null ], + [ "atcab_aes_ctr_increment", "a00910.html#ga475b72450dcd21c822de5cb366197927", null ], + [ "atcab_aes_ctr_init", "a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad", null ], + [ "atcab_aes_ctr_init_rand", "a00910.html#gae7558905ea6a82c4bd50d4b99e954d91", null ], + [ "atcab_aes_decrypt", "a00910.html#ga9658e84055727e6357cf7ef636b4e398", null ], + [ "atcab_aes_encrypt", "a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1", null ], + [ "atcab_aes_gfm", "a00910.html#ga5554940ed4c7c7e28652ce6923cf9314", null ], + [ "atcab_base64decode", "a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b", null ], + [ "atcab_base64decode_", "a00910.html#ga55ba8a1787f69d44d6e40db041fbd786", null ], + [ "atcab_base64encode", "a00910.html#ga4b7e341b530fcac3f4eaae874bb36422", null ], + [ "atcab_base64encode_", "a00910.html#gaeeff0177acf29e6e7b134a14d7119d69", null ], + [ "atcab_bin2hex", "a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272", null ], + [ "atcab_bin2hex_", "a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c", null ], + [ "atcab_cfg_discover", "a00910.html#ga1518196e269b549eec78087abd130de7", null ], + [ "atcab_challenge", "a00910.html#ga114a721517c95d5ba5fcac5b226669d6", null ], + [ "atcab_challenge_seed_update", "a00910.html#gaadde4309089c569fd87c24a1a2326cd4", null ], + [ "atcab_checkmac", "a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee", null ], + [ "atcab_cmp_config_zone", "a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87", null ], + [ "atcab_counter", "a00910.html#gabaaaef242649206029e1c10ac6d1fb7d", null ], + [ "atcab_counter_increment", "a00910.html#ga6e510e056ea16a0a34b405b7ca378f16", null ], + [ "atcab_counter_read", "a00910.html#gaeee666028a097659af69cc828a6bd68b", null ], + [ "atcab_derivekey", "a00910.html#ga34b7b6d46868f0d63d195216ef9939b1", null ], + [ "atcab_ecdh", "a00910.html#ga6fc480ad2824df6309f4f370ffad15f9", null ], + [ "atcab_ecdh_base", "a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c", null ], + [ "atcab_ecdh_enc", "a00910.html#gab6e0c175cbcb5f794b12a8ec22485176", null ], + [ "atcab_ecdh_ioenc", "a00910.html#ga975f7303086190d3b6f76c367583d622", null ], + [ "atcab_ecdh_tempkey", "a00910.html#gac244b83b061ffd8ae3d59b5f973baa53", null ], + [ "atcab_ecdh_tempkey_ioenc", "a00910.html#gafaccb0c9d12154b0c5b917f89f233721", null ], + [ "atcab_gendig", "a00910.html#ga70751ea87f2cf913986bc7bca2cc661f", null ], + [ "atcab_genkey", "a00910.html#ga617bdbdce7b5736351d93214d44c5b8f", null ], + [ "atcab_genkey_base", "a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903", null ], + [ "atcab_get_addr", "a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a", null ], + [ "atcab_get_device", "a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4", null ], + [ "atcab_get_pubkey", "a00910.html#gad2096a4618dd37c48ed48847fe63d844", null ], + [ "atcab_get_zone_size", "a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412", null ], + [ "atcab_hex2bin", "a00910.html#ga481179181349c801c16fc1ab698f2f24", null ], + [ "atcab_hmac", "a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d", null ], + [ "atcab_hw_sha2_256", "a00910.html#ga4bf8b665fe1712626a480742c2daa16b", null ], + [ "atcab_hw_sha2_256_finish", "a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91", null ], + [ "atcab_hw_sha2_256_init", "a00910.html#gade49e7746864105730fa7d531645ff62", null ], + [ "atcab_hw_sha2_256_update", "a00910.html#ga67f2ce6224651d9cc65e9915e35558bd", null ], + [ "atcab_idle", "a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0", null ], + [ "atcab_info", "a00910.html#ga6e19ecd60be4c74665d9ec142e460771", null ], + [ "atcab_info_base", "a00910.html#ga806d07982fda5c30755af6b5b4ef9314", null ], + [ "atcab_info_get_latch", "a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48", null ], + [ "atcab_info_set_latch", "a00910.html#ga2649126606db8a0b64ae8e19d09f6600", null ], + [ "atcab_init", "a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8", null ], + [ "atcab_init_device", "a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4", null ], + [ "atcab_is_locked", "a00910.html#gaefce484222bdbedef37787a9b10d4426", null ], + [ "atcab_is_slot_locked", "a00910.html#ga802de50265ff91dc30dd7c93d9e026e1", null ], + [ "atcab_kdf", "a00910.html#ga40a6c01492a76366f9402302b527c4e1", null ], + [ "atcab_lock", "a00910.html#ga25d2895192d93c524f5dba92a492cdfb", null ], + [ "atcab_lock_config_zone", "a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23", null ], + [ "atcab_lock_config_zone_crc", "a00910.html#ga0698e0c55ad700fe57498321e842cb38", null ], + [ "atcab_lock_data_slot", "a00910.html#ga958190a9182d1b54f82fbca8216406ea", null ], + [ "atcab_lock_data_zone", "a00910.html#ga8020aa89a5bed09ad35320b78e0fb890", null ], + [ "atcab_lock_data_zone_crc", "a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6", null ], + [ "atcab_mac", "a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791", null ], + [ "atcab_nonce", "a00910.html#ga2293df1c1c794496790bae25d3844fa5", null ], + [ "atcab_nonce_base", "a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6", null ], + [ "atcab_nonce_load", "a00910.html#ga2239ae3a87c341a48aa108bd82a58552", null ], + [ "atcab_nonce_rand", "a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c", null ], + [ "atcab_printbin", "a00910.html#ga72601de415fd0bbc73faa1ddbc52e56e", null ], + [ "atcab_printbin_label", "a00910.html#ga248355e3b4bcdd5d728f214fc2eb79e4", null ], + [ "atcab_printbin_sp", "a00910.html#ga1f88c481b376a7be9112ff081c4ad854", null ], + [ "atcab_priv_write", "a00910.html#gad01e8e785073d8655de9116e7df8e7b5", null ], + [ "atcab_random", "a00910.html#ga4fa442396dfbb89e59dfca837b565cec", null ], + [ "atcab_read_bytes_zone", "a00910.html#ga750704332198726725a327344f4f7dd5", null ], + [ "atcab_read_config_zone", "a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3", null ], + [ "atcab_read_enc", "a00910.html#ga778a262b86fa1f8a38139cbae34376e4", null ], + [ "atcab_read_pubkey", "a00910.html#ga782ca1e5b1574b2b6793c841be22b28b", null ], + [ "atcab_read_serial_number", "a00910.html#ga96c434878e1f435e2cda5b0b5fec444f", null ], + [ "atcab_read_sig", "a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7", null ], + [ "atcab_read_zone", "a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb", null ], + [ "atcab_release", "a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4", null ], + [ "atcab_secureboot", "a00910.html#ga9506331ea7d454fe3c9b2585128c77aa", null ], + [ "atcab_secureboot_mac", "a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534", null ], + [ "atcab_selftest", "a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7", null ], + [ "atcab_sha", "a00910.html#ga31d269ccdafd08519a899a8aebf53df1", null ], + [ "atcab_sha_base", "a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4", null ], + [ "atcab_sha_end", "a00910.html#ga1db86704035048066a370815b657234d", null ], + [ "atcab_sha_hmac", "a00910.html#gae655ce06583c08169170102fbb0b55c9", null ], + [ "atcab_sha_hmac_finish", "a00910.html#gaa4be9972396b7cadb08dd8e2199daf08", null ], + [ "atcab_sha_hmac_init", "a00910.html#ga310a017cddce9ef05071cb619b4b6db9", null ], + [ "atcab_sha_hmac_update", "a00910.html#gae3343c160e80365b7e96bdfdc9b6365c", null ], + [ "atcab_sha_read_context", "a00910.html#ga74d1db50562642ce511fa7cbd384c2ab", null ], + [ "atcab_sha_start", "a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a", null ], + [ "atcab_sha_update", "a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949", null ], + [ "atcab_sha_write_context", "a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120", null ], + [ "atcab_sign", "a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8", null ], + [ "atcab_sign_base", "a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268", null ], + [ "atcab_sign_internal", "a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29", null ], + [ "atcab_sleep", "a00910.html#ga9475e032c388144c5a0df45d1df182a5", null ], + [ "atcab_updateextra", "a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d", null ], + [ "atcab_verify", "a00910.html#ga694d921c7bc17a0e158ef96e3d476700", null ], + [ "atcab_verify_extern", "a00910.html#ga2c3e18de900ba705192963d08b37f600", null ], + [ "atcab_verify_extern_mac", "a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6", null ], + [ "atcab_verify_invalidate", "a00910.html#ga9393b545b2fa1fdd539672a0428a30ab", null ], + [ "atcab_verify_stored", "a00910.html#gae8cc7670847805423ad591985eecd832", null ], + [ "atcab_verify_stored_mac", "a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7", null ], + [ "atcab_verify_validate", "a00910.html#gacf9a0c7772ebb65b87c4a4788850702b", null ], + [ "atcab_version", "a00910.html#gaff701132013eaac5600dd9fd6253505d", null ], + [ "atcab_wakeup", "a00910.html#gad3bc620aedd9322d160eece0d8d20c82", null ], + [ "atcab_write", "a00910.html#gabf2b29b4d3ae926b63c403d084380dbe", null ], + [ "atcab_write_bytes_zone", "a00910.html#gac395a7e195aa3cf28b48de345755feb0", null ], + [ "atcab_write_config_counter", "a00910.html#gab25ca44957dff1c2df34607738ca3bf7", null ], + [ "atcab_write_config_zone", "a00910.html#ga0777a86aa412a97b19cc72a12c171b94", null ], + [ "atcab_write_enc", "a00910.html#ga14cf75d1be264ac1125087d76ee6344c", null ], + [ "atcab_write_pubkey", "a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa", null ], + [ "atcab_write_zone", "a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2", null ], + [ "base64Char", "a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d", null ], + [ "base64Index", "a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57", null ], + [ "isAlpha", "a00910.html#ga592c23e94097ad5e212beb6390aa88c6", null ], + [ "isBase64", "a00910.html#gac873a37c53fdd922d5b36efd737e3ec3", null ], + [ "isBase64Digit", "a00910.html#gad10d15454308230fbef54bdd43001ed2", null ], + [ "isDigit", "a00910.html#ga7a929bf65cbc777bab7e533a2755cfad", null ], + [ "isHex", "a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3", null ], + [ "isHexAlpha", "a00910.html#ga78abefc293c0a04d8ef649c94c8a1057", null ], + [ "isHexDigit", "a00910.html#ga39003da4dc8a0b8999f1325c2f96f641", null ], + [ "isWhiteSpace", "a00910.html#gab3db1b55b966b792e8308a1819933c0e", null ], + [ "packHex", "a00910.html#gad017ae33af5a7ea062cea7d54de675a8", null ], + [ "_gDevice", "a00910.html#ga692423e9c45adde594c36360756b8882", null ], + [ "atcab_b64rules_default", "a00910.html#ga50731dca3906502d901f5762aa4d9e71", null ], + [ "atcab_b64rules_mime", "a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2", null ], + [ "atcab_b64rules_urlsafe", "a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe", null ] +]; \ No newline at end of file diff --git a/docs/html/a03536.html b/docs/html/a00911.html similarity index 91% rename from docs/html/a03536.html rename to docs/html/a00911.html index 360245374..fff9b146b 100644 --- a/docs/html/a03536.html +++ b/docs/html/a00911.html @@ -67,7 +67,7 @@
@@ -100,56 +100,56 @@ - + - +

Data Structures

struct  atcac_sha1_ctx
struct  atcac_sha1_ctx
 
struct  atcac_sha2_256_ctx
struct  atcac_sha2_256_ctx
 
- + - + - + - + - + - +

Macros

#define ATCA_ECC_P256_FIELD_SIZE   (256 / 8)
#define ATCA_ECC_P256_FIELD_SIZE   (256 / 8)
 
#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)
#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)
 
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
#define ATCA_ECC_P256_PUBLIC_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
#define ATCA_ECC_P256_SIGNATURE_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
#define ATCA_ECC_P256_SIGNATURE_SIZE   (ATCA_ECC_P256_FIELD_SIZE * 2)
 
#define ATCA_SHA1_DIGEST_SIZE   (20)
#define ATCA_SHA1_DIGEST_SIZE   (20)
 
#define ATCA_SHA2_256_DIGEST_SIZE   (32)
#define ATCA_SHA2_256_DIGEST_SIZE   (32)
 
- + - + - + - + - + - + - + - + - + - +

Functions

int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
int atcac_sw_ecdsa_verify_p256 (const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE])
 return software generated ECDSA verification result and the function is currently not implemented More...
 
int atcac_sw_random (uint8_t *data, size_t data_size)
int atcac_sw_random (uint8_t *data, size_t data_size)
 return software generated random number and the function is currently not implemented More...
 
int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
int atcac_sw_sha1_init (atcac_sha1_ctx *ctx)
 Initialize context for performing SHA1 hash in software. More...
 
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
int atcac_sw_sha1_update (atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size)
 Add arbitrary data to a SHA1 hash. More...
 
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
int atcac_sw_sha1_finish (atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Complete the SHA1 hash in software and return the digest. More...
 
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
int atcac_sw_sha1 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE])
 Perform SHA1 hash of data in software. More...
 
int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
int atcac_sw_sha2_256_init (atcac_sha2_256_ctx *ctx)
 initializes the SHA256 software More...
 
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
int atcac_sw_sha2_256_update (atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size)
 updates the running hash with the next block of data, called iteratively for the entire stream of data to be hashed using the SHA256 software More...
 
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
int atcac_sw_sha2_256_finish (atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 completes the final SHA256 calculation and returns the final digest/hash More...
 
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
int atcac_sw_sha2_256 (const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE])
 single call convenience function which computes Hash of given data using SHA256 software More...
 
@@ -177,7 +177,7 @@

- +
#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)#define ATCA_ECC_P256_PRIVATE_KEY_SIZE   (ATCA_ECC_P256_FIELD_SIZE)

@@ -376,7 +376,7 @@

int atcac_sw_sha1_finish ( - atcac_sha1_ctx *  + atcac_sha1_ctxctx, @@ -414,7 +414,7 @@

int atcac_sw_sha1_init ( - atcac_sha1_ctx *  + atcac_sha1_ctxctx) @@ -441,7 +441,7 @@

int atcac_sw_sha1_update ( - atcac_sha1_ctx *  + atcac_sha1_ctxctx, @@ -531,7 +531,7 @@

int atcac_sw_sha2_256_finish ( - atcac_sha2_256_ctx *  + atcac_sha2_256_ctxctx, @@ -569,7 +569,7 @@

int atcac_sw_sha2_256_init ( - atcac_sha2_256_ctx *  + atcac_sha2_256_ctxctx) @@ -596,7 +596,7 @@

int atcac_sw_sha2_256_update ( - atcac_sha2_256_ctx *  + atcac_sha2_256_ctxctx, diff --git a/docs/html/a00911.js b/docs/html/a00911.js new file mode 100644 index 000000000..e97fff130 --- /dev/null +++ b/docs/html/a00911.js @@ -0,0 +1,25 @@ +var a00911 = +[ + [ "atcac_sha1_ctx", "a01010.html", [ + [ "pad", "a01010.html#a06a3e722d630d33450465af7c41fa708", null ] + ] ], + [ "atcac_sha2_256_ctx", "a01014.html", [ + [ "pad", "a01014.html#a517ae98c637466c44dc7e26a3abccf02", null ] + ] ], + [ "ATCA_ECC_P256_FIELD_SIZE", "a00911.html#gab6935877a2675bfc95af283fb43affb5", null ], + [ "ATCA_ECC_P256_PRIVATE_KEY_SIZE", "a00911.html#gadb06f3adddd74993ab0da4be3ea71441", null ], + [ "ATCA_ECC_P256_PUBLIC_KEY_SIZE", "a00911.html#ga6bcf19f52fbceb7801fc3216d528fb3c", null ], + [ "ATCA_ECC_P256_SIGNATURE_SIZE", "a00911.html#ga6eba254effebfbbb95381511fc7d80d5", null ], + [ "ATCA_SHA1_DIGEST_SIZE", "a00911.html#gadb94a0991eb670ff1bf90253dfea0bfa", null ], + [ "ATCA_SHA2_256_DIGEST_SIZE", "a00911.html#ga86364f6d07b86740f3170d9d1ca60641", null ], + [ "atcac_sw_ecdsa_verify_p256", "a00911.html#gaa61eee6f208a1633d35cdf8d628a6835", null ], + [ "atcac_sw_random", "a00911.html#ga0710d8bf5e92403c4026c32af39ad79e", null ], + [ "atcac_sw_sha1", "a00911.html#ga84b866657bf319dab2924c2db3a1e990", null ], + [ "atcac_sw_sha1_finish", "a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453", null ], + [ "atcac_sw_sha1_init", "a00911.html#gabed03bcc1228768534ef4ee49df0ad09", null ], + [ "atcac_sw_sha1_update", "a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03", null ], + [ "atcac_sw_sha2_256", "a00911.html#ga63412270c4629874f2764171200c1b5c", null ], + [ "atcac_sw_sha2_256_finish", "a00911.html#gae3a29931f2104cce481aa9ef1ab16fea", null ], + [ "atcac_sw_sha2_256_init", "a00911.html#ga58283666b662f084155ba693870c1077", null ], + [ "atcac_sw_sha2_256_update", "a00911.html#gab1a09fa1d854722cc667cea319ca9984", null ] +]; \ No newline at end of file diff --git a/docs/html/a03537.html b/docs/html/a00912.html similarity index 89% rename from docs/html/a03537.html rename to docs/html/a00912.html index ab74a9d4a..6d1a83371 100644 --- a/docs/html/a03537.html +++ b/docs/html/a00912.html @@ -67,7 +67,7 @@

@@ -103,500 +103,500 @@ - - + + - + - - + + - + - + - + - + - - + +

Data Structures

struct  ATCAHAL_t
 an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. More...
struct  ATCAHAL_t
 an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. More...
 
struct  atcahid
struct  atcahid
 
struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
struct  atcaI2Cmaster
 this is the hal_data for ATCA HAL created using ASF More...
 
struct  cdc_device
struct  cdc_device
 
struct  atcacdc
struct  atcacdc
 
struct  hid_device
struct  hid_device
 
struct  DRV_I2C_Object
struct  DRV_I2C_Object
 
struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
struct  atcaSWImaster
 This is the hal_data for ATCA HAL. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Macros

#define HID_DEVICES_MAX   10
#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
#define HID_PACKET_MAX   512
 
#define MAX_I2C_BUSES   1
#define MAX_I2C_BUSES   1
 
#define MAX_I2C_BUSES   6
#define MAX_I2C_BUSES   6
 
#define MAX_I2C_BUSES   2
#define MAX_I2C_BUSES   2
 
#define max(a, b)   (((a) > (b)) ? (a) : (b))
#define max(a, b)   (((a) > (b)) ? (a) : (b))
 
#define min(a, b)   (((a) < (b)) ? (a) : (b))
#define min(a, b)   (((a) < (b)) ? (a) : (b))
 
#define CDC_DEVICES_MAX   10
#define CDC_DEVICES_MAX   10
 
#define CDC_BUFFER_MAX   1024
#define CDC_BUFFER_MAX   1024
 
#define INVALID_HANDLE_VALUE   ((int)(-1))
#define INVALID_HANDLE_VALUE   ((int)(-1))
 
#define HID_DEVICES_MAX   10
#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
#define HID_PACKET_MAX   512
 
#define GetSystemClock()   (80000000ul)
#define GetSystemClock()   (80000000ul)
 
#define GetPeripheralClock()   (GetSystemClock() / (1 << OSCCONbits.PBDIV))
#define GetPeripheralClock()   (GetSystemClock() / (1 << OSCCONbits.PBDIV))
 
#define GetInstructionClock()   (GetSystemClock())
#define GetInstructionClock()   (GetSystemClock())
 
#define MAX_I2C_BUSES   4
#define MAX_I2C_BUSES   4
 
#define CPU_CLOCK   (80000000UL)
#define CPU_CLOCK   (80000000UL)
 
#define us_SCALE   ((CPU_CLOCK / 2) / 1000000)
#define us_SCALE   ((CPU_CLOCK / 2) / 1000000)
 
#define HARMONY_I2C_DRIVER   1
#define HARMONY_I2C_DRIVER   1
 
#define MAX_I2C_BUSES   3
#define MAX_I2C_BUSES   3
 
#define GetSystemClock()   (200000000UL)/* Fcy = 200MHz */
#define GetSystemClock()   (200000000UL)/* Fcy = 200MHz */
 
#define us_SCALE   (GetSystemClock() / 2000000)
#define us_SCALE   (GetSystemClock() / 2000000)
 
#define MAX_I2C_BUSES   2
#define MAX_I2C_BUSES   2
 
#define MAX_I2C_BUSES   2
#define MAX_I2C_BUSES   2
 
#define MAX_I2C_BUSES   6
#define MAX_I2C_BUSES   6
 
#define MAX_I2C_BUSES   2
#define MAX_I2C_BUSES   2
 
#define MAX_I2C_BUSES   3
#define MAX_I2C_BUSES   3
 
#define SWI_WAKE_TOKEN   ((uint8_t)0x00)
#define SWI_WAKE_TOKEN   ((uint8_t)0x00)
 flag preceding a command More...
 
#define SWI_FLAG_CMD   ((uint8_t)0x77)
#define SWI_FLAG_CMD   ((uint8_t)0x77)
 flag preceding a command More...
 
#define SWI_FLAG_TX   ((uint8_t)0x88)
#define SWI_FLAG_TX   ((uint8_t)0x88)
 flag requesting a response More...
 
#define SWI_FLAG_IDLE   ((uint8_t)0xBB)
#define SWI_FLAG_IDLE   ((uint8_t)0xBB)
 flag requesting to go into Idle mode More...
 
#define SWI_FLAG_SLEEP   ((uint8_t)0xCC)
#define SWI_FLAG_SLEEP   ((uint8_t)0xCC)
 flag requesting to go into Sleep mode More...
 
#define HID_GUID   { 0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }
#define HID_GUID   { 0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }
 
#define HID_DEVICES_MAX   10
#define HID_DEVICES_MAX   10
 
#define HID_PACKET_MAX   512
#define HID_PACKET_MAX   512
 
#define MAX_I2C_BUSES   4
#define MAX_I2C_BUSES   4
 
#define KIT_MAX_SCAN_COUNT   4
#define KIT_MAX_SCAN_COUNT   4
 
#define KIT_MAX_TX_BUF   32
#define KIT_MAX_TX_BUF   32
 
#define KIT_TX_WRAP_SIZE   (7)
#define KIT_TX_WRAP_SIZE   (7)
 
#define KIT_MSG_SIZE   (32)
#define KIT_MSG_SIZE   (32)
 
#define KIT_RX_WRAP_SIZE   (KIT_MSG_SIZE + 6)
#define KIT_RX_WRAP_SIZE   (KIT_MSG_SIZE + 6)
 
#define MAX_SWI_BUSES   1
#define MAX_SWI_BUSES   1
 
#define RECEIVE_MODE   0
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
#define RX_DELAY   10
 
#define TX_DELAY   90
#define TX_DELAY   90
 
#define MAX_SWI_BUSES   6
#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
#define RX_DELAY   10
 
#define TX_DELAY   90
#define TX_DELAY   90
 
#define DEBUG_PIN_1   EXT2_PIN_5
#define DEBUG_PIN_1   EXT2_PIN_5
 
#define DEBUG_PIN_2   EXT2_PIN_6
#define DEBUG_PIN_2   EXT2_PIN_6
 
#define MAX_SWI_BUSES   6
#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
#define RX_DELAY   10
 
#define TX_DELAY   93
#define TX_DELAY   93
 
#define MAX_SWI_BUSES   6
#define MAX_SWI_BUSES   6
 
#define RECEIVE_MODE   0
#define RECEIVE_MODE   0
 
#define TRANSMIT_MODE   1
#define TRANSMIT_MODE   1
 
#define RX_DELAY   10
#define RX_DELAY   10
 
#define TX_DELAY   90
#define TX_DELAY   90
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Typedefs

typedef struct atcahid atcahid_t
typedef struct atcahid atcahid_t
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 This is the hal_data for ATCA HAL. More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for Atmel START SERCOM More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 
typedef int HANDLE
typedef int HANDLE
 
typedef struct cdc_device cdc_device_t
typedef struct cdc_device cdc_device_t
 
typedef struct atcacdc atcacdc_t
typedef struct atcacdc atcacdc_t
 
typedef struct hid_device hid_device_t
typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
typedef struct atcahid atcahid_t
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL More...
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
typedef struct atcaSWImaster ATCASWIMaster_t
typedef struct atcaSWImaster ATCASWIMaster_t
 This is the hal_data for ATCA HAL. More...
 
typedef struct hid_device hid_device_t
typedef struct hid_device hid_device_t
 
typedef struct atcahid atcahid_t
typedef struct atcahid atcahid_t
 
typedef struct atcaI2Cmaster ATCAI2CMaster_t
typedef struct atcaI2Cmaster ATCAI2CMaster_t
 this is the hal_data for ATCA HAL created using ASF More...
 
typedef struct atcaSWImaster ATCASWIMaster_t
typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for SWI UART More...
 
typedef struct atcaSWImaster ATCASWIMaster_t
typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
typedef struct atcaSWImaster ATCASWIMaster_t
typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for ASF SERCOM More...
 
typedef struct atcaSWImaster ATCASWIMaster_t
typedef struct atcaSWImaster ATCASWIMaster_t
 this is the hal_data for ATCA HAL for SWI UART More...
 
- - + - - +

Enumerations

enum  i2c_read_write_flag { I2C_WRITE = (uint8_t)0x00, -I2C_READ = (uint8_t)0x01 +
enum  i2c_read_write_flag { I2C_WRITE = (uint8_t)0x00, +I2C_READ = (uint8_t)0x01 }
 This enumeration lists flags for I2C read or write addressing. More...
 This enumeration lists flags for I2C read or write addressing. More...
 
enum  swi_flag { SWI_FLAG_CMD = (uint8_t)0x77, -SWI_FLAG_TX = (uint8_t)0x88, -SWI_FLAG_IDLE = (uint8_t)0xBB, -SWI_FLAG_SLEEP = (uint8_t)0xCC +
enum  swi_flag { SWI_FLAG_CMD = (uint8_t)0x77, +SWI_FLAG_TX = (uint8_t)0x88, +SWI_FLAG_IDLE = (uint8_t)0xBB, +SWI_FLAG_SLEEP = (uint8_t)0xCC }
 This enumeration lists flags for SWI. More...
 This enumeration lists flags for SWI. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Functions

ATCA_STATUS hal_iface_init (ATCAIfaceCfg *, ATCAHAL_t *hal)
ATCA_STATUS hal_iface_init (ATCAIfaceCfg *, ATCAHAL_t *hal)
 Standard HAL API for ATCA to initialize a physical interface. More...
 
ATCA_STATUS hal_iface_release (ATCAIfaceType, void *hal_data)
ATCA_STATUS hal_iface_release (ATCAIfaceType, void *hal_data)
 releases a physical interface, HAL knows how to interpret hal_data More...
 
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
ATCA_STATUS hal_check_wake (const uint8_t *response, int response_size)
 Utility function for hal_wake to check the reply. More...
 
void atca_delay_us (uint32_t delay)
void atca_delay_us (uint32_t delay)
 Timer API implemented at the HAL level. More...
 
void atca_delay_10us (uint32_t delay)
void atca_delay_10us (uint32_t delay)
 This function delays for a number of tens of microseconds. More...
 
void atca_delay_ms (uint32_t delay)
void atca_delay_ms (uint32_t delay)
 This function delays for a number of milliseconds. More...
 
ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
ATCA_STATUS hal_create_mutex (void **ppMutex, char *pName)
 Optional hal interfaces. More...
 
ATCA_STATUS hal_destroy_mutex (void *pMutex)
ATCA_STATUS hal_destroy_mutex (void *pMutex)
 
ATCA_STATUS hal_lock_mutex (void *pMutex)
ATCA_STATUS hal_lock_mutex (void *pMutex)
 
ATCA_STATUS hal_unlock_mutex (void *pMutex)
ATCA_STATUS hal_unlock_mutex (void *pMutex)
 
ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
ATCA_STATUS hal_i2c_discover_buses (int i2c_buses[], int max_buses)
 discover i2c buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the prior knowledge More...
 
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
ATCA_STATUS hal_i2c_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
ATCA_STATUS hal_i2c_init (void *hal, ATCAIfaceCfg *cfg)
 initialize an I2C interface using given config More...
 
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
ATCA_STATUS hal_i2c_post_init (ATCAIface iface)
 HAL implementation of I2C post init. More...
 
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS hal_i2c_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of I2C send over ASF. More...
 
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
ATCA_STATUS hal_i2c_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 HAL implementation of I2C receive function for ASF I2C. More...
 
void change_i2c_speed (ATCAIface iface, uint32_t speed)
void change_i2c_speed (ATCAIface iface, uint32_t speed)
 method to change the bus speed of I2C More...
 
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
ATCA_STATUS hal_i2c_wake (ATCAIface iface)
 wake up CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
ATCA_STATUS hal_i2c_idle (ATCAIface iface)
 idle CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
ATCA_STATUS hal_i2c_sleep (ATCAIface iface)
 sleep CryptoAuth device using I2C bus More...
 
ATCA_STATUS hal_i2c_release (void *hal_data)
ATCA_STATUS hal_i2c_release (void *hal_data)
 manages reference count on given bus and releases resource if no more refences exist More...
 
ATCA_STATUS hal_cdc_discover_buses (int cdc_buses[], int max_buses)
ATCA_STATUS hal_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
ATCA_STATUS hal_cdc_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
ATCA_STATUS hal_kit_cdc_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB CDC init. More...
 
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
ATCA_STATUS hal_kit_cdc_post_init (ATCAIface iface)
 HAL implementation of Kit USB CDC post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
ATCA_STATUS kit_phy_send (ATCAIface iface, const char *txdata, int txlength)
 HAL implementation of kit protocol send .It is called by the top layer. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
ATCA_STATUS kit_phy_receive (ATCAIface iface, char *rxdata, int *rxsize)
 HAL implementation of kit protocol receive data.It is called by the top layer. More...
 
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
ATCA_STATUS hal_kit_phy_num_found (int8_t *num_found)
 Number of USB CDC devices found. More...
 
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS hal_kit_cdc_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
ATCA_STATUS hal_kit_cdc_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of kit protocol receive over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
ATCA_STATUS hal_kit_cdc_wake (ATCAIface iface)
 Call the wake for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
ATCA_STATUS hal_kit_cdc_idle (ATCAIface iface)
 Call the idle for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
ATCA_STATUS hal_kit_cdc_sleep (ATCAIface iface)
 Call the sleep for kit protocol over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
ATCA_STATUS hal_kit_cdc_release (void *hal_data)
 Close the physical port for CDC over USB CDC. More...
 
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
ATCA_STATUS hal_kit_cdc_discover_buses (int cdc_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge.This function is currently not implemented. More...
 
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
ATCA_STATUS hal_kit_cdc_discover_devices (int bus_num, ATCAIfaceCfg *cfg, int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
void i2c_write (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len)
 
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
ATCA_STATUS i2c_read (I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len)
 
void delay_us (UINT32 delay)
void delay_us (UINT32 delay)
 
void delay_us (uint32_t delay)
void delay_us (uint32_t delay)
 
ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
ATCA_STATUS hal_swi_discover_buses (int swi_buses[], int max_buses)
 discover swi buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application.This function is currently not supported. of the a-priori knowledge More...
 
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
ATCA_STATUS hal_swi_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number.This function is curently not supported. More...
 
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 
ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
ATCA_STATUS hal_swi_send_flag (ATCAIface iface, uint8_t data)
 HAL implementation of SWI send one byte over UART. More...
 
char * strnchr (const char *s, size_t count, int c)
char * strnchr (const char *s, size_t count, int c)
 
char kit_id_from_devtype (ATCADeviceType devtype)
char kit_id_from_devtype (ATCADeviceType devtype)
 
ATCA_STATUS kit_init (ATCAIface iface)
ATCA_STATUS kit_init (ATCAIface iface)
 HAL implementation of kit protocol init. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
ATCA_STATUS kit_send (ATCAIface iface, const uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send. This function calls back to the physical protocol to send the bytes. More...
 
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
ATCA_STATUS kit_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation to receive bytes and unwrap from kit protocol. This function calls back to the physical protocol to receive the bytes. More...
 
ATCA_STATUS kit_wake (ATCAIface iface)
ATCA_STATUS kit_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS kit_idle (ATCAIface iface)
ATCA_STATUS kit_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS kit_sleep (ATCAIface iface)
ATCA_STATUS kit_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
ATCA_STATUS kit_wrap_cmd (const uint8_t *txdata, int txlen, char *pkitcmd, int *nkitcmd, char target)
 Wrap binary bytes in ascii kit protocol. More...
 
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
ATCA_STATUS kit_parse_rsp (const char *pkitbuf, int nkitbuf, uint8_t *kitstatus, uint8_t *rxdata, int *datasize)
 Parse the response ascii from the kit. More...
 
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
ATCA_STATUS swi_uart_init (ATCASWIMaster_t *instance)
 Implementation of SWI UART init. More...
 
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
ATCA_STATUS swi_uart_deinit (ATCASWIMaster_t *instance)
 Implementation of SWI UART deinit. More...
 
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
void swi_uart_setbaud (ATCASWIMaster_t *instance, uint32_t baudrate)
 implementation of SWI UART change baudrate. More...
 
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
void swi_uart_mode (ATCASWIMaster_t *instance, uint8_t mode)
 implementation of SWI UART change mode. More...
 
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
void swi_uart_discover_buses (int swi_uart_buses[], int max_buses)
 discover UART buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_t *instance, uint8_t data)
 HAL implementation of SWI UART send byte over ASF. This function send one byte over UART. More...
 
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_t *instance, uint8_t *data)
 HAL implementation of SWI UART receive bytes over ASF. This function receive one byte over UART. More...
 
- + - + - + - + - + - + - + - + - +

Variables

atcahid_t _gHid
atcahid_t _gHid
 
ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
ATCAI2CMaster_ti2c_hal_data [MAX_I2C_BUSES]
 
int i2c_bus_ref_ct = 0
int i2c_bus_ref_ct = 0
 
atcacdc_t _gCdc
atcacdc_t _gCdc
 
char * dev = "/dev/ttyACM0"
char * dev = "/dev/ttyACM0"
 
int speed = B115200
int speed = B115200
 
atcahid_t _gHid
atcahid_t _gHid
 
atcahid_t _gHid
atcahid_t _gHid
 
struct port_config pin_conf
struct port_config pin_conf
 

Detailed Description

@@ -689,7 +689,7 @@

#define GetInstructionClock ( ) -    (GetSystemClock()) +    (GetSystemClock())

@@ -706,7 +706,7 @@

#define GetPeripheralClock ( ) -    (GetSystemClock() / (1 << OSCCONbits.PBDIV)) +    (GetSystemClock() / (1 << OSCCONbits.PBDIV))

@@ -2075,7 +2075,7 @@

void change_i2c_speed ( - ATCAIface  + ATCAIface  iface, @@ -2151,7 +2151,7 @@

- + @@ -2189,7 +2189,7 @@

ATCA_STATUS hal_cdc_discover_buses ATCA_STATUS hal_cdc_discover_buses ( int  cdc_buses[],
- + @@ -2197,7 +2197,7 @@

- + @@ -2234,7 +2234,7 @@

ATCA_STATUS hal_cdc_discover_devices ATCA_STATUS hal_cdc_discover_devices ( int  bus_num, ATCAIfaceCfg ATCAIfaceCfg  cfg[],
- + @@ -2272,7 +2272,7 @@

ATCA_STATUS hal_check_wake ATCA_STATUS hal_check_wake ( const uint8_t *  response,
- + @@ -2302,7 +2302,7 @@

ATCA_STATUS hal_create_mutex ATCA_STATUS hal_create_mutex ( void **  ppMutex,
- + @@ -2320,7 +2320,7 @@

ATCA_STATUS hal_destroy_mutex ATCA_STATUS hal_destroy_mutex ( void *  pMutex)
- + @@ -2409,7 +2409,7 @@

ATCA_STATUS hal_i2c_discover_buses ATCA_STATUS hal_i2c_discover_buses ( int  i2c_buses[],
- + @@ -2417,7 +2417,7 @@

- + @@ -2517,9 +2517,9 @@

ATCA_STATUS hal_i2c_discover_devices ATCA_STATUS hal_i2c_discover_devices ( int  bus_num, ATCAIfaceCfg ATCAIfaceCfg  cfg[],
- + - + @@ -2552,7 +2552,7 @@

ATCA_STATUS hal_i2c_idle ATCA_STATUS hal_i2c_idle (ATCAIface ATCAIface  iface)
- + @@ -2560,7 +2560,7 @@

- + @@ -2659,9 +2659,9 @@

ATCA_STATUS hal_i2c_init ATCA_STATUS hal_i2c_init ( void *  hal, ATCAIfaceCfgATCAIfaceCfg cfg 
- + - + @@ -2700,9 +2700,9 @@

ATCA_STATUS hal_i2c_post_init ATCA_STATUS hal_i2c_post_init (ATCAIface ATCAIface  iface)
- + - + @@ -2748,7 +2748,7 @@

ATCA_STATUS hal_i2c_receive ATCA_STATUS hal_i2c_receive (ATCAIface ATCAIface  iface,
- + @@ -2804,9 +2804,9 @@

ATCA_STATUS hal_i2c_release ATCA_STATUS hal_i2c_release ( void *  hal_data)
- + - + @@ -2867,9 +2867,9 @@

ATCA_STATUS hal_i2c_send ATCA_STATUS hal_i2c_send (ATCAIface ATCAIface  iface,
- + - + @@ -2902,9 +2902,9 @@

ATCA_STATUS hal_i2c_sleep ATCA_STATUS hal_i2c_sleep (ATCAIface ATCAIface  iface)
- + - + @@ -2929,15 +2929,15 @@

ATCA_STATUS hal_i2c_wake ATCA_STATUS hal_i2c_wake (ATCAIface ATCAIface  iface)
- + - + - + @@ -2951,8 +2951,8 @@

Parameters

ATCA_STATUS hal_iface_init ATCA_STATUS hal_iface_init (ATCAIfaceCfgATCAIfaceCfg cfg,
ATCAHAL_tATCAHAL_t hal 
- - + +
[in]cfgpointer to ATCAIfaceCfg object
[in]halpointer to ATCAHAL_t intermediate data structure
[in]cfgpointer to ATCAIfaceCfg object
[in]halpointer to ATCAHAL_t intermediate data structure
@@ -2967,9 +2967,9 @@

- + - + @@ -3005,7 +3005,7 @@

ATCA_STATUS hal_iface_release ATCA_STATUS hal_iface_release (ATCAIfaceType ATCAIfaceType  iface_type,
- + @@ -3043,7 +3043,7 @@

ATCA_STATUS hal_kit_cdc_discover_buses ATCA_STATUS hal_kit_cdc_discover_buses ( int  cdc_buses[],
- + @@ -3051,7 +3051,7 @@

- + @@ -3088,9 +3088,9 @@

ATCA_STATUS hal_kit_cdc_discover_devices ATCA_STATUS hal_kit_cdc_discover_devices ( int  bus_num, ATCAIfaceCfgATCAIfaceCfg cfg,
- + - + @@ -3115,7 +3115,7 @@

ATCA_STATUS hal_kit_cdc_idle ATCA_STATUS hal_kit_cdc_idle (ATCAIface ATCAIface  iface)
- + @@ -3123,7 +3123,7 @@

- + @@ -3155,9 +3155,9 @@

ATCA_STATUS hal_kit_cdc_init ATCA_STATUS hal_kit_cdc_init ( void *  hal, ATCAIfaceCfgATCAIfaceCfg cfg 
- + - + @@ -3182,9 +3182,9 @@

ATCA_STATUS hal_kit_cdc_post_init ATCA_STATUS hal_kit_cdc_post_init (ATCAIface ATCAIface  iface)
- + - + @@ -3227,7 +3227,7 @@

ATCA_STATUS hal_kit_cdc_receive ATCA_STATUS hal_kit_cdc_receive (ATCAIface ATCAIface  iface,
- + @@ -3254,9 +3254,9 @@

ATCA_STATUS hal_kit_cdc_release ATCA_STATUS hal_kit_cdc_release ( void *  hal_data)
- + - + @@ -3299,9 +3299,9 @@

ATCA_STATUS hal_kit_cdc_send ATCA_STATUS hal_kit_cdc_send (ATCAIface ATCAIface  iface,
- + - + @@ -3326,9 +3326,9 @@

ATCA_STATUS hal_kit_cdc_sleep ATCA_STATUS hal_kit_cdc_sleep (ATCAIface ATCAIface  iface)
- + - + @@ -3353,7 +3353,7 @@

ATCA_STATUS hal_kit_cdc_wake ATCA_STATUS hal_kit_cdc_wake (ATCAIface ATCAIface  iface)
- + @@ -3403,7 +3403,7 @@

ATCA_STATUS hal_kit_hid_discover_buses ATCA_STATUS hal_kit_hid_discover_buses ( int  cdc_buses[],
- + @@ -3411,7 +3411,7 @@

- + @@ -3452,9 +3452,9 @@

ATCA_STATUS hal_kit_hid_discover_devices ATCA_STATUS hal_kit_hid_discover_devices ( int  bus_num, ATCAIfaceCfg ATCAIfaceCfg  cfg[],
- + - + @@ -3487,7 +3487,7 @@

ATCA_STATUS hal_kit_hid_idle ATCA_STATUS hal_kit_hid_idle (ATCAIface ATCAIface  iface)
- + @@ -3495,7 +3495,7 @@

- + @@ -3533,9 +3533,9 @@

ATCA_STATUS hal_kit_hid_init ATCA_STATUS hal_kit_hid_init ( void *  hal, ATCAIfaceCfgATCAIfaceCfg cfg 
- + - + @@ -3567,9 +3567,9 @@

ATCA_STATUS hal_kit_hid_post_init ATCA_STATUS hal_kit_hid_post_init (ATCAIface ATCAIface  iface)
- + - + @@ -3621,7 +3621,7 @@

ATCA_STATUS hal_kit_hid_receive ATCA_STATUS hal_kit_hid_receive (ATCAIface ATCAIface  iface,
- + @@ -3655,9 +3655,9 @@

ATCA_STATUS hal_kit_hid_release ATCA_STATUS hal_kit_hid_release ( void *  hal_data)
- + - + @@ -3709,9 +3709,9 @@

ATCA_STATUS hal_kit_hid_send ATCA_STATUS hal_kit_hid_send (ATCAIface ATCAIface  iface,
- + - + @@ -3744,9 +3744,9 @@

ATCA_STATUS hal_kit_hid_sleep ATCA_STATUS hal_kit_hid_sleep (ATCAIface ATCAIface  iface)
- + - + @@ -3779,7 +3779,7 @@

ATCA_STATUS hal_kit_hid_wake ATCA_STATUS hal_kit_hid_wake (ATCAIface ATCAIface  iface)
- + @@ -3806,7 +3806,7 @@

ATCA_STATUS hal_kit_phy_num_found ATCA_STATUS hal_kit_phy_num_found ( int8_t *  num_found)
- + @@ -3824,7 +3824,7 @@

ATCA_STATUS hal_lock_mutex ATCA_STATUS hal_lock_mutex ( void *  pMutex)
- + @@ -3871,7 +3871,7 @@

ATCA_STATUS hal_swi_discover_buses ATCA_STATUS hal_swi_discover_buses ( int  swi_buses[],
- + @@ -3879,7 +3879,7 @@

- + @@ -3927,9 +3927,9 @@

ATCA_STATUS hal_swi_discover_devices ATCA_STATUS hal_swi_discover_devices ( int  bus_num, ATCAIfaceCfg ATCAIfaceCfg  cfg[],
- + - + @@ -3963,7 +3963,7 @@

ATCA_STATUS hal_swi_idle ATCA_STATUS hal_swi_idle (ATCAIface ATCAIface  iface)
- + @@ -3971,7 +3971,7 @@

- + @@ -4012,9 +4012,9 @@

ATCA_STATUS hal_swi_init ATCA_STATUS hal_swi_init ( void *  hal, ATCAIfaceCfgATCAIfaceCfg cfg 
- + - + @@ -4046,9 +4046,9 @@

ATCA_STATUS hal_swi_post_init ATCA_STATUS hal_swi_post_init (ATCAIface ATCAIface  iface)
- + - + @@ -4093,7 +4093,7 @@

ATCA_STATUS hal_swi_receive ATCA_STATUS hal_swi_receive (ATCAIface ATCAIface  iface,
- + @@ -4129,9 +4129,9 @@

ATCA_STATUS hal_swi_release ATCA_STATUS hal_swi_release ( void *  hal_data)
- + - + @@ -4188,9 +4188,9 @@

ATCA_STATUS hal_swi_send ATCA_STATUS hal_swi_send (ATCAIface ATCAIface  iface,
- + - + @@ -4226,9 +4226,9 @@

ATCA_STATUS hal_swi_send_flag ATCA_STATUS hal_swi_send_flag (ATCAIface ATCAIface  iface,
- + - + @@ -4262,9 +4262,9 @@

ATCA_STATUS hal_swi_sleep ATCA_STATUS hal_swi_sleep (ATCAIface ATCAIface  iface)
- + - + @@ -4300,7 +4300,7 @@

ATCA_STATUS hal_swi_wake ATCA_STATUS hal_swi_wake (ATCAIface ATCAIface  iface)
- + @@ -4318,7 +4318,7 @@

ATCA_STATUS hal_unlock_mutex ATCA_STATUS hal_unlock_mutex ( void *  pMutex)
- + @@ -4400,7 +4400,7 @@

char kit_id_from_devtype

- + @@ -4417,9 +4417,9 @@

ATCA_STATUS i2c_read ATCA_STATUS i2c_read ( I2C_MODULE  i2c_id, (ATCADeviceType ATCADeviceType  devtype)
- + - + @@ -4444,9 +4444,9 @@

ATCA_STATUS kit_idle ATCA_STATUS kit_idle (ATCAIface ATCAIface  iface)
- + - + @@ -4471,7 +4471,7 @@

ATCA_STATUS kit_init ATCA_STATUS kit_init (ATCAIface ATCAIface  iface)
- + @@ -4530,7 +4530,7 @@

ATCA_STATUS kit_parse_rsp ATCA_STATUS kit_parse_rsp ( const char *  pkitbuf,
- + @@ -4571,9 +4571,9 @@

ATCA_STATUS kit_phy_num_found ATCA_STATUS kit_phy_num_found ( int8_t *  num_found)
- + - + @@ -4616,9 +4616,9 @@

ATCA_STATUS kit_phy_receive ATCA_STATUS kit_phy_receive (ATCAIface ATCAIface  iface,
- + - + @@ -4671,9 +4671,9 @@

ATCA_STATUS kit_phy_receive ATCA_STATUS kit_phy_receive (ATCAIface ATCAIface  iface,
- + - + @@ -4726,9 +4726,9 @@

ATCA_STATUS kit_phy_send ATCA_STATUS kit_phy_send (ATCAIface ATCAIface  iface,
- + - + @@ -4771,9 +4771,9 @@

ATCA_STATUS kit_phy_send ATCA_STATUS kit_phy_send (ATCAIface ATCAIface  iface,
- + - + @@ -4816,9 +4816,9 @@

ATCA_STATUS kit_receive ATCA_STATUS kit_receive (ATCAIface ATCAIface  iface,
- + - + @@ -4861,9 +4861,9 @@

ATCA_STATUS kit_send ATCA_STATUS kit_send (ATCAIface ATCAIface  iface,
- + - + @@ -4888,9 +4888,9 @@

ATCA_STATUS kit_sleep ATCA_STATUS kit_sleep (ATCAIface ATCAIface  iface)
- + - + @@ -4915,7 +4915,7 @@

ATCA_STATUS kit_wake ATCA_STATUS kit_wake (ATCAIface ATCAIface  iface)
- + @@ -5008,9 +5008,9 @@

ATCA_STATUS kit_wrap_cmd ATCA_STATUS kit_wrap_cmd ( const uint8_t *  txdata,
- + - + @@ -5080,9 +5080,9 @@

ATCA_STATUS swi_uart_deinit ATCA_STATUS swi_uart_deinit (ATCASWIMaster_tATCASWIMaster_t instance)
- + - + @@ -5121,7 +5121,7 @@

void swi_uart_mode

- + @@ -5157,9 +5157,9 @@

ATCA_STATUS swi_uart_init ATCA_STATUS swi_uart_init (ATCASWIMaster_tATCASWIMaster_t instance)
(ATCASWIMaster_tATCASWIMaster_t instance,
- + - + @@ -5203,9 +5203,9 @@

ATCA_STATUS swi_uart_receive_byte ATCA_STATUS swi_uart_receive_byte (ATCASWIMaster_tATCASWIMaster_t instance,
- + - + @@ -5251,7 +5251,7 @@

void swi_uart_setbaud

- + @@ -5290,7 +5290,7 @@

ATCA_STATUS swi_uart_send_byte ATCA_STATUS swi_uart_send_byte (ATCASWIMaster_tATCASWIMaster_t instance,
(ATCASWIMaster_tATCASWIMaster_t instance,
- +
atcacdc_t _gCdcatcacdc_t _gCdc

diff --git a/docs/html/a00912.js b/docs/html/a00912.js new file mode 100644 index 000000000..00ef5d807 --- /dev/null +++ b/docs/html/a00912.js @@ -0,0 +1,257 @@ +var a00912 = +[ + [ "ATCAHAL_t", "a01026.html", [ + [ "hal_data", "a01026.html#ad33508455720b78cc0fc880cb3f9885e", null ], + [ "halidle", "a01026.html#a3939b643c7f807fc8fe8abcf18e99196", null ], + [ "halinit", "a01026.html#aa020e68c9d18f83f205981fa57107b3c", null ], + [ "halpostinit", "a01026.html#af174424ba7b2d19a74c72f8b4198c26b", null ], + [ "halreceive", "a01026.html#af95136769fcc864880463d4dcab0c11c", null ], + [ "halrelease", "a01026.html#a5eb439f0ede23956fde8cd72f41b85ba", null ], + [ "halsend", "a01026.html#a6fb3aee6375216c53ef1e5a9df01e074", null ], + [ "halsleep", "a01026.html#ad2f432748c4d8efe98ec42d5cd1552b5", null ], + [ "halwake", "a01026.html#a033c21278fef7771916378cbcf726ae6", null ] + ] ], + [ "atcahid", "a01030.html", [ + [ "kits", "a01030.html#a20e678da3f77a9aabd9cb97d5340e502", null ], + [ "kits", "a01030.html#aa09aaf9e2fbb91f0cef6b473135d4628", null ], + [ "num_kits_found", "a01030.html#a9bb0ee74044865538adfcc5d5ae8f621", null ] + ] ], + [ "atcaI2Cmaster", "a01034.html", [ + [ "bus_index", "a01034.html#af5c011e6c2e8d49675f7029e8ec2c0a6", null ], + [ "i2c_file", "a01034.html#a386ecc3f01d8b317bc512cab194d844f", null ], + [ "i2c_master_instance", "a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593", null ], + [ "i2c_master_instance", "a01034.html#ad60966bca127551f6271719dd9921045", null ], + [ "i2c_master_instance", "a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593", null ], + [ "i2c_master_instance", "a01034.html#a335b4a621ab538c5a42160a5a14c161f", null ], + [ "i2c_sercom", "a01034.html#af47d648cf53d85c997e715a25fea0372", null ], + [ "i2c_sercom", "a01034.html#a0d97fa67bd4aa20fd2835fa5c8076061", null ], + [ "id", "a01034.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], + [ "id", "a01034.html#a10c34d148db33a5f64c3730a163fb7a7", null ], + [ "pin_scl", "a01034.html#a01c1392fd38975adfd6c1c7849b3fa50", null ], + [ "pin_sda", "a01034.html#ada591700ce06dd3a6bb9722a6eba38c4", null ], + [ "ref_ct", "a01034.html#ad72ba8c994f4d0e5ce354e17f7c427c0", null ], + [ "sercom_core_freq", "a01034.html#ab04a0cec69f9a7ed47f3f9cb46084e59", null ], + [ "twi_flexcom", "a01034.html#ac6e800fa8a525e2ac445410a75fe33c5", null ], + [ "twi_flexcom_id", "a01034.html#a8085a25dc89b0a426c762333eb109e38", null ], + [ "twi_id", "a01034.html#a3592aa831cd642b3e53af87537944d5a", null ], + [ "twi_id", "a01034.html#a0fafe5e32d17ee114246e3ccac81ee9f", null ], + [ "twi_master_instance", "a01034.html#ad9f68faa090564cdbe2d7217be324f16", null ], + [ "twi_module", "a01034.html#ac6dd6d226983fb851700119ca6ba3023", null ] + ] ], + [ "cdc_device", "a01038.html", [ + [ "read_handle", "a01038.html#a79525e0d472c02e26e7c4aa4a780c1d9", null ], + [ "write_handle", "a01038.html#af11a0103eb96a026ea6782bfcad7548e", null ] + ] ], + [ "atcacdc", "a01042.html", [ + [ "kits", "a01042.html#a90743aa58e9f430c381d56eb373edef4", null ], + [ "num_kits_found", "a01042.html#a9bb0ee74044865538adfcc5d5ae8f621", null ] + ] ], + [ "hid_device", "a01046.html", [ + [ "read_handle", "a01046.html#a72bac4e370ad82aef68188c521d2020d", null ], + [ "read_handle", "a01046.html#a79525e0d472c02e26e7c4aa4a780c1d9", null ], + [ "write_handle", "a01046.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0", null ], + [ "write_handle", "a01046.html#af11a0103eb96a026ea6782bfcad7548e", null ] + ] ], + [ "DRV_I2C_Object", "a01050.html", [ + [ "i2cDriverInit", "a01050.html#ae40d3e07534bf6cb2e78c329983048c7", null ], + [ "i2cDriverInstance", "a01050.html#af8b2d2e531312c0b6adda321a50fabc7", null ], + [ "i2cDriverInstanceIndex", "a01050.html#a61f012e6351d468a23da071e8ee588b6", null ] + ] ], + [ "atcaSWImaster", "a01054.html", [ + [ "bus_index", "a01054.html#af5c011e6c2e8d49675f7029e8ec2c0a6", null ], + [ "pin_sda", "a01054.html#afd6d53ef6b697533839248b40bc97861", null ], + [ "ref_ct", "a01054.html#ad72ba8c994f4d0e5ce354e17f7c427c0", null ], + [ "sercom_core_freq", "a01054.html#ab04a0cec69f9a7ed47f3f9cb46084e59", null ], + [ "usart_instance", "a01054.html#ad1dd3236df177255a91b568170b70a74", null ], + [ "usart_instance", "a01054.html#a2d29ab9b8f0842ee9a2906302b20011d", null ], + [ "USART_SWI", "a01054.html#a7758bb1b871f6094e6d2f0c2ce10b18c", null ] + ] ], + [ "CDC_BUFFER_MAX", "a00912.html#ga5ac8c9377f90d6ce3044f81f900a54fe", null ], + [ "CDC_DEVICES_MAX", "a00912.html#ga08b6c05184266dc4d5c8727bb9c1c754", null ], + [ "CPU_CLOCK", "a00912.html#ga512016e5f1966a8fd45b3f1a81ba5b8f", null ], + [ "DEBUG_PIN_1", "a00912.html#gab12a92582aefe426bb194e0c298e8f98", null ], + [ "DEBUG_PIN_2", "a00912.html#ga6a2579114d13238c7ba20d147a74090a", null ], + [ "GetInstructionClock", "a00912.html#ga450d95819e5184befaec71050a61dce9", null ], + [ "GetPeripheralClock", "a00912.html#ga1b199a0aedb00251513eb57552f738b4", null ], + [ "GetSystemClock", "a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a", null ], + [ "GetSystemClock", "a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a", null ], + [ "HARMONY_I2C_DRIVER", "a00912.html#ga779f5e5d060c6d43dd09752eeb2a2bb3", null ], + [ "HID_DEVICES_MAX", "a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef", null ], + [ "HID_DEVICES_MAX", "a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef", null ], + [ "HID_DEVICES_MAX", "a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef", null ], + [ "HID_GUID", "a00912.html#gafa87510c678a9963da73988da4dd44f7", null ], + [ "HID_PACKET_MAX", "a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73", null ], + [ "HID_PACKET_MAX", "a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73", null ], + [ "HID_PACKET_MAX", "a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73", null ], + [ "INVALID_HANDLE_VALUE", "a00912.html#ga5fdc7facea201bfce4ad308105f88d0c", null ], + [ "KIT_MAX_SCAN_COUNT", "a00912.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8", null ], + [ "KIT_MAX_TX_BUF", "a00912.html#gadc1b033607e06cff7464dc0a49df2744", null ], + [ "KIT_MSG_SIZE", "a00912.html#ga0810d89c328e48fd91eb604323cca4e9", null ], + [ "KIT_RX_WRAP_SIZE", "a00912.html#ga59e33124fc2fa800cc9c90a6ee3ff543", null ], + [ "KIT_TX_WRAP_SIZE", "a00912.html#ga8a649555029d4f23edfc15a8c01b2d3d", null ], + [ "max", "a00912.html#gaffe776513b24d84b39af8ab0930fef7f", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_I2C_BUSES", "a00912.html#gaf89a7a4080a47aa10a5504291db285bf", null ], + [ "MAX_SWI_BUSES", "a00912.html#gaf9d9d027ce20f528edea144203141714", null ], + [ "MAX_SWI_BUSES", "a00912.html#gaf9d9d027ce20f528edea144203141714", null ], + [ "MAX_SWI_BUSES", "a00912.html#gaf9d9d027ce20f528edea144203141714", null ], + [ "MAX_SWI_BUSES", "a00912.html#gaf9d9d027ce20f528edea144203141714", null ], + [ "min", "a00912.html#gac6afabdc09a49a433ee19d8a9486056d", null ], + [ "RECEIVE_MODE", "a00912.html#gab45577245cf4a8ead70e2d56965f2df3", null ], + [ "RECEIVE_MODE", "a00912.html#gab45577245cf4a8ead70e2d56965f2df3", null ], + [ "RECEIVE_MODE", "a00912.html#gab45577245cf4a8ead70e2d56965f2df3", null ], + [ "RECEIVE_MODE", "a00912.html#gab45577245cf4a8ead70e2d56965f2df3", null ], + [ "RX_DELAY", "a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b", null ], + [ "RX_DELAY", "a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b", null ], + [ "RX_DELAY", "a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b", null ], + [ "RX_DELAY", "a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b", null ], + [ "SWI_FLAG_CMD", "a00912.html#ga13c01ac16bb14fde75e9c00dcd1cc761", null ], + [ "SWI_FLAG_IDLE", "a00912.html#ga6219d68ef915fdcd734f51960ba08fb6", null ], + [ "SWI_FLAG_SLEEP", "a00912.html#ga13ef2322176ad9b7ba3d2e23b277cce6", null ], + [ "SWI_FLAG_TX", "a00912.html#ga20af8352e13a7357650ba1cbf41349ea", null ], + [ "SWI_WAKE_TOKEN", "a00912.html#ga8f12e3b749e7b3dc905114cc7b8d0b38", null ], + [ "TRANSMIT_MODE", "a00912.html#ga4b85133b317e72410ea0762d637d3460", null ], + [ "TRANSMIT_MODE", "a00912.html#ga4b85133b317e72410ea0762d637d3460", null ], + [ "TRANSMIT_MODE", "a00912.html#ga4b85133b317e72410ea0762d637d3460", null ], + [ "TRANSMIT_MODE", "a00912.html#ga4b85133b317e72410ea0762d637d3460", null ], + [ "TX_DELAY", "a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2", null ], + [ "TX_DELAY", "a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2", null ], + [ "TX_DELAY", "a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2", null ], + [ "TX_DELAY", "a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2", null ], + [ "us_SCALE", "a00912.html#ga5a8416082aa7664c94099d3d787eee3c", null ], + [ "us_SCALE", "a00912.html#ga5a8416082aa7664c94099d3d787eee3c", null ], + [ "atcacdc_t", "a00912.html#ga2df85bfd309840b4c9a5087e053d4811", null ], + [ "atcahid_t", "a00912.html#ga2416cca7ee952e679d466e3349d65035", null ], + [ "atcahid_t", "a00912.html#ga2416cca7ee952e679d466e3349d65035", null ], + [ "atcahid_t", "a00912.html#ga2416cca7ee952e679d466e3349d65035", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCAI2CMaster_t", "a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98", null ], + [ "ATCASWIMaster_t", "a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a", null ], + [ "ATCASWIMaster_t", "a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a", null ], + [ "ATCASWIMaster_t", "a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a", null ], + [ "ATCASWIMaster_t", "a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a", null ], + [ "ATCASWIMaster_t", "a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a", null ], + [ "cdc_device_t", "a00912.html#ga99ee56102171adcbcecb8a78fb9fa895", null ], + [ "HANDLE", "a00912.html#ga069bb8cb95b0528d5ce0304bb5561a40", null ], + [ "hid_device_t", "a00912.html#ga5f2f61628e945fd6538155628fc3a17a", null ], + [ "hid_device_t", "a00912.html#ga5f2f61628e945fd6538155628fc3a17a", null ], + [ "i2c_read_write_flag", "a00912.html#gaa3e90779b37cd1b3a4d32321d9d8b772", [ + [ "I2C_WRITE", "a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2", null ], + [ "I2C_READ", "a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8", null ] + ] ], + [ "swi_flag", "a00912.html#ga8759b00e645502d0f1c3b7330e20e52b", [ + [ "SWI_FLAG_CMD", "a00912.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340", null ], + [ "SWI_FLAG_TX", "a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f", null ], + [ "SWI_FLAG_IDLE", "a00912.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a", null ], + [ "SWI_FLAG_SLEEP", "a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7", null ] + ] ], + [ "atca_delay_10us", "a00912.html#ga19891182689551cc3a88603135959351", null ], + [ "atca_delay_ms", "a00912.html#ga80a853a202b089064bfc4b159c3418b4", null ], + [ "atca_delay_us", "a00912.html#ga7598dfcd6dcac882836544d48356d02f", null ], + [ "change_i2c_speed", "a00912.html#gab7f613b378e0d01b80703df3ac662d6d", null ], + [ "delay_us", "a00912.html#ga31c35882825888bc79e420905830f25d", null ], + [ "delay_us", "a00912.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd", null ], + [ "hal_cdc_discover_buses", "a00912.html#ga6ec842c5f4674de5da640541e616785a", null ], + [ "hal_cdc_discover_devices", "a00912.html#ga5604d17ec61ab15961079beb8f3c8682", null ], + [ "hal_check_wake", "a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76", null ], + [ "hal_create_mutex", "a00912.html#gab289a3949663589ac6be71d72fb18278", null ], + [ "hal_destroy_mutex", "a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3", null ], + [ "hal_i2c_discover_buses", "a00912.html#ga05700385437884cc7b28c38d33e84f8c", null ], + [ "hal_i2c_discover_devices", "a00912.html#gac7644e62498a596c09952ee3b28017b9", null ], + [ "hal_i2c_idle", "a00912.html#ga9317303ada721ff3f97e7aad69437a30", null ], + [ "hal_i2c_init", "a00912.html#ga09e7f465a040fbd19ea136269571de3c", null ], + [ "hal_i2c_post_init", "a00912.html#gafbe53519362f18c2688d10da6f7c618f", null ], + [ "hal_i2c_receive", "a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a", null ], + [ "hal_i2c_release", "a00912.html#gac382cc4431d2d1c721c21a453ba36c22", null ], + [ "hal_i2c_send", "a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b", null ], + [ "hal_i2c_sleep", "a00912.html#ga3f89bae6a625d5f37abdcc99408def27", null ], + [ "hal_i2c_wake", "a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c", null ], + [ "hal_iface_init", "a00912.html#gab77081d6d85ee3ab839a0882e80e9e87", null ], + [ "hal_iface_release", "a00912.html#ga4be1afccb41f28f6ce620b1d5197befc", null ], + [ "hal_kit_cdc_discover_buses", "a00912.html#ga56255b770aa5e34b3e69898eaeda93e9", null ], + [ "hal_kit_cdc_discover_devices", "a00912.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d", null ], + [ "hal_kit_cdc_idle", "a00912.html#ga92055a86e32f3dfc9eef064d48aa0870", null ], + [ "hal_kit_cdc_init", "a00912.html#ga313bdfc8337f930a7f9fc6ca4e7731d9", null ], + [ "hal_kit_cdc_post_init", "a00912.html#gad11b8714818c2b05f70593c002fc5945", null ], + [ "hal_kit_cdc_receive", "a00912.html#ga3f3972f81de141ff0816b605054d775a", null ], + [ "hal_kit_cdc_release", "a00912.html#ga21a939cc86a0602cb2ba3be3eec26e6e", null ], + [ "hal_kit_cdc_send", "a00912.html#ga7732806c89cd206a96b7fabbaf6770d5", null ], + [ "hal_kit_cdc_sleep", "a00912.html#ga1299c47e6d73d987bc04b16f25637bf6", null ], + [ "hal_kit_cdc_wake", "a00912.html#gabced238b72e636a557d00355a2e44ac9", null ], + [ "hal_kit_hid_discover_buses", "a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c", null ], + [ "hal_kit_hid_discover_devices", "a00912.html#ga0121a73c96416c97ce07ed9077226588", null ], + [ "hal_kit_hid_idle", "a00912.html#gaacf6310945889a6119cab867a1ced5e2", null ], + [ "hal_kit_hid_init", "a00912.html#ga95b4e99655383680272a1d9354d42479", null ], + [ "hal_kit_hid_post_init", "a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2", null ], + [ "hal_kit_hid_receive", "a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8", null ], + [ "hal_kit_hid_release", "a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f", null ], + [ "hal_kit_hid_send", "a00912.html#ga47588dbefadcc1569513b053a156f3d6", null ], + [ "hal_kit_hid_sleep", "a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed", null ], + [ "hal_kit_hid_wake", "a00912.html#ga65289262310f2662b2c47450b93c9580", null ], + [ "hal_kit_phy_num_found", "a00912.html#ga5fac3cf3552eee701aec448c1392edd8", null ], + [ "hal_lock_mutex", "a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994", null ], + [ "hal_swi_discover_buses", "a00912.html#ga53864a301dac6efbdbdc3931aa79e23e", null ], + [ "hal_swi_discover_devices", "a00912.html#ga354e6fa757688b73e6fb5293bb835def", null ], + [ "hal_swi_idle", "a00912.html#ga618291172976da96c4f02dc9200c845c", null ], + [ "hal_swi_init", "a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d", null ], + [ "hal_swi_post_init", "a00912.html#ga9186e5235979216330ae580290872c77", null ], + [ "hal_swi_receive", "a00912.html#ga02e9f36723f0feb21d373898728de04b", null ], + [ "hal_swi_release", "a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132", null ], + [ "hal_swi_send", "a00912.html#gaeb8b8857192a7710785acce0110e8016", null ], + [ "hal_swi_send_flag", "a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d", null ], + [ "hal_swi_sleep", "a00912.html#ga252e365a30f2583dae8a8eac073a9f53", null ], + [ "hal_swi_wake", "a00912.html#gafc428980ec95e37eee94813db229fe70", null ], + [ "hal_unlock_mutex", "a00912.html#ga31fd8170a49623686543f6247b883bd1", null ], + [ "i2c_read", "a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4", null ], + [ "i2c_write", "a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048", null ], + [ "kit_id_from_devtype", "a00912.html#gae9acffb3ff9a025924457fce5c24a709", null ], + [ "kit_idle", "a00912.html#gaeaee19ff7623f0eab9839e68dae583af", null ], + [ "kit_init", "a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877", null ], + [ "kit_parse_rsp", "a00912.html#ga8bf59f4218d312568b769b8b8e5c563e", null ], + [ "kit_phy_num_found", "a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205", null ], + [ "kit_phy_receive", "a00912.html#gaae5e94b6080d4279474eb3e98bc58901", null ], + [ "kit_phy_receive", "a00912.html#gabb507252b1011037d6d2cce7d91b01d0", null ], + [ "kit_phy_send", "a00912.html#gabd452e3edb32ea0d22653c182b4e1198", null ], + [ "kit_phy_send", "a00912.html#ga020fb0be6c73515122cf4b9f749fd97d", null ], + [ "kit_receive", "a00912.html#ga09a86ccc517208f9c9a057ea569e2a18", null ], + [ "kit_send", "a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7", null ], + [ "kit_sleep", "a00912.html#gaf6054a0c971830411d5008b94923bdd8", null ], + [ "kit_wake", "a00912.html#gaf7ce58d02b067b956abd32127f5519e9", null ], + [ "kit_wrap_cmd", "a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4", null ], + [ "strnchr", "a00912.html#ga1473b18d902ce22c6b22d04ff5a7ef02", null ], + [ "swi_uart_deinit", "a00912.html#ga0b1aad3936bf003686d8db7fa2be5132", null ], + [ "swi_uart_discover_buses", "a00912.html#gad640b598d581ee7c8a4c804bee602906", null ], + [ "swi_uart_init", "a00912.html#ga003b63648f1a5f9eba274760559688f2", null ], + [ "swi_uart_mode", "a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41", null ], + [ "swi_uart_receive_byte", "a00912.html#ga93f3dab17c14f71641ca970998ede823", null ], + [ "swi_uart_send_byte", "a00912.html#ga4a4d491006d9683d67838963706ac9c1", null ], + [ "swi_uart_setbaud", "a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d", null ], + [ "_gCdc", "a00912.html#gabc65c7c6bd64530b95fa72082f1e0390", null ], + [ "_gHid", "a00912.html#gab97bfae6ae6051d081edf51bb45eea05", null ], + [ "_gHid", "a00912.html#gab97bfae6ae6051d081edf51bb45eea05", null ], + [ "_gHid", "a00912.html#gab97bfae6ae6051d081edf51bb45eea05", null ], + [ "dev", "a00912.html#gabe78755474c1323a5ac7b3dd6d03dedf", null ], + [ "i2c_bus_ref_ct", "a00912.html#gaa7deec7f5d89dfb4f9746d050b0926f9", null ], + [ "i2c_hal_data", "a00912.html#ga95dac4460cd54b4b073285ebc79d215b", null ], + [ "pin_conf", "a00912.html#gaab85cb460831e8b7e4d3a5315b31c596", null ], + [ "speed", "a00912.html#ga218b4f7c6cc2681a99c23a3b089d68b1", null ] +]; \ No newline at end of file diff --git a/docs/html/a03538.html b/docs/html/a00913.html similarity index 86% rename from docs/html/a03538.html rename to docs/html/a00913.html index 3f9e6cb9f..0c46d6bc1 100644 --- a/docs/html/a03538.html +++ b/docs/html/a00913.html @@ -67,7 +67,7 @@
@@ -101,245 +101,245 @@ - - + + - - + + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

Data Structures

struct  atca_temp_key
 Structure to hold TempKey fields. More...
struct  atca_temp_key
 Structure to hold TempKey fields. More...
 
struct  atca_include_data_in_out
 Input / output parameters for function atca_include_data(). More...
struct  atca_include_data_in_out
 Input / output parameters for function atca_include_data(). More...
 
struct  atca_nonce_in_out
 Input/output parameters for function atca_nonce(). More...
struct  atca_nonce_in_out
 Input/output parameters for function atca_nonce(). More...
 
struct  atca_io_decrypt_in_out
struct  atca_io_decrypt_in_out
 
struct  atca_verify_mac
struct  atca_verify_mac
 
struct  atca_secureboot_enc_in_out
struct  atca_secureboot_enc_in_out
 
struct  atca_secureboot_mac_in_out
struct  atca_secureboot_mac_in_out
 
struct  atca_mac_in_out
 Input/output parameters for function atca_mac(). More...
struct  atca_mac_in_out
 Input/output parameters for function atca_mac(). More...
 
struct  atca_hmac_in_out
 Input/output parameters for function atca_hmac(). More...
struct  atca_hmac_in_out
 Input/output parameters for function atca_hmac(). More...
 
struct  atca_gen_dig_in_out
 Input/output parameters for function atcah_gen_dig(). More...
struct  atca_gen_dig_in_out
 Input/output parameters for function atcah_gen_dig(). More...
 
struct  atca_write_mac_in_out
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
struct  atca_write_mac_in_out
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
 
struct  atca_derive_key_in_out
 Input/output parameters for function atcah_derive_key(). More...
struct  atca_derive_key_in_out
 Input/output parameters for function atcah_derive_key(). More...
 
struct  atca_derive_key_mac_in_out
 Input/output parameters for function atcah_derive_key_mac(). More...
struct  atca_derive_key_mac_in_out
 Input/output parameters for function atcah_derive_key_mac(). More...
 
struct  atca_decrypt_in_out
 Input/output parameters for function atca_decrypt(). More...
struct  atca_decrypt_in_out
 Input/output parameters for function atca_decrypt(). More...
 
struct  atca_check_mac_in_out
 Input/output parameters for function atcah_check_mac(). More...
struct  atca_check_mac_in_out
 Input/output parameters for function atcah_check_mac(). More...
 
struct  atca_verify_in_out
 Input/output parameters for function atcah_verify(). More...
struct  atca_verify_in_out
 Input/output parameters for function atcah_verify(). More...
 
struct  atca_gen_key_in_out
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
struct  atca_gen_key_in_out
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
 
struct  atca_sign_internal_in_out
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
struct  atca_sign_internal_in_out
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
 
- + - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + +

Typedefs

typedef struct atca_temp_key atca_temp_key_t
typedef struct atca_temp_key atca_temp_key_t
 Structure to hold TempKey fields. More...
 
typedef struct atca_nonce_in_out atca_nonce_in_out_t
typedef struct atca_nonce_in_out atca_nonce_in_out_t
 
typedef struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t
typedef struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t
 
typedef struct atca_verify_mac atca_verify_mac_in_out_t
typedef struct atca_verify_mac atca_verify_mac_in_out_t
 
typedef struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t
typedef struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t
 
typedef struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t
typedef struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t
 
typedef struct atca_mac_in_out atca_mac_in_out_t
typedef struct atca_mac_in_out atca_mac_in_out_t
 
typedef struct atca_gen_dig_in_out atca_gen_dig_in_out_t
 Input/output parameters for function atcah_gen_dig(). More...
typedef struct atca_gen_dig_in_out atca_gen_dig_in_out_t
 Input/output parameters for function atcah_gen_dig(). More...
 
typedef struct atca_write_mac_in_out atca_write_mac_in_out_t
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
typedef struct atca_write_mac_in_out atca_write_mac_in_out_t
 Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). More...
 
typedef struct atca_check_mac_in_out atca_check_mac_in_out_t
 Input/output parameters for function atcah_check_mac(). More...
typedef struct atca_check_mac_in_out atca_check_mac_in_out_t
 Input/output parameters for function atcah_check_mac(). More...
 
typedef struct atca_verify_in_out atca_verify_in_out_t
typedef struct atca_verify_in_out atca_verify_in_out_t
 
typedef struct atca_gen_key_in_out atca_gen_key_in_out_t
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
typedef struct atca_gen_key_in_out atca_gen_key_in_out_t
 Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. More...
 
typedef struct atca_sign_internal_in_out atca_sign_internal_in_out_t
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
typedef struct atca_sign_internal_in_out atca_sign_internal_in_out_t
 Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - +

Functions

ATCA_STATUS atcah_nonce (struct atca_nonce_in_out *param)
ATCA_STATUS atcah_nonce (struct atca_nonce_in_out *param)
 This function calculates host side nonce with the parameters passed. More...
 
ATCA_STATUS atcah_mac (struct atca_mac_in_out *param)
ATCA_STATUS atcah_mac (struct atca_mac_in_out *param)
 This function generates an SHA-256 digest (MAC) of a key, challenge, and other information. More...
 
ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_out *param)
ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_out *param)
 This function performs the checkmac operation to generate client response on the host side . More...
 
ATCA_STATUS atcah_hmac (struct atca_hmac_in_out *param)
ATCA_STATUS atcah_hmac (struct atca_hmac_in_out *param)
 This function generates an HMAC / SHA-256 hash of a key and other information. More...
 
ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_out *param)
ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_out *param)
 This function combines the current TempKey with a stored value. More...
 
ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_out *param)
ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_out *param)
 This function generates mac with session key with a plain text. More...
 
ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_out *param)
ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the Write command. More...
 
ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_out *param)
ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_out *param)
 This function calculates the input MAC for the PrivWrite command. More...
 
ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_out *param)
ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_out *param)
 This function derives a key with a key and TempKey. More...
 
ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_out *param)
ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_out *param)
 This function calculates the input MAC for a DeriveKey command. More...
 
ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_out *param)
ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_out *param)
 This function decrypts 32-byte encrypted data received with the Read command. More...
 
ATCA_STATUS atcah_sha256 (int32_t len, const uint8_t *message, uint8_t *digest)
ATCA_STATUS atcah_sha256 (int32_t len, const uint8_t *message, uint8_t *digest)
 This function creates a SHA256 digest on a little-endian system. More...
 
uint8_t * atcah_include_data (struct atca_include_data_in_out *param)
uint8_t * atcah_include_data (struct atca_include_data_in_out *param)
 This function copies otp and sn data into a command buffer. More...
 
ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_out *param)
ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_out *param)
 Calculate the PubKey digest created by GenKey and saved to TempKey. More...
 
ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
 Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone. More...
ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config)
 Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone. More...
 
ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType device_type, struct atca_sign_internal_in_out *param)
 Builds the full message that would be signed by the Sign(Internal) command. More...
 
ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_t *param)
ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_t *param)
 Calculate the expected MAC on the host side for the Verify command. More...
 
ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_t *param)
ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_t *param)
 Encrypts the digest for the SecureBoot command when using the encrypted digest / validating mac option. More...
 
ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_t *param)
ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_t *param)
 Calculates the expected MAC returned from the SecureBoot command when verification is a success. More...
 
ATCA_STATUS atcah_encode_counter_match (uint32_t counter, uint8_t *counter_match)
ATCA_STATUS atcah_encode_counter_match (uint32_t counter, uint8_t *counter_match)
 Builds the counter match value that needs to be stored in a slot. More...
 
ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_out *param)
ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_out *param)
 Decrypt data that's been encrypted by the IO protection key. The ECDH and KDF commands on the ATECC608A are the only ones that support this operation. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Variables

uint8_t * p_temp
uint8_t * p_temp
 [out] pointer to output buffer More...
 
const uint8_t * otp
const uint8_t * otp
 [in] pointer to one-time-programming data More...
 
const uint8_t * sn
const uint8_t * sn
 [in] pointer to serial number data More...
 
uint8_t mode
uint8_t mode
 [in] Mode parameter used in Nonce command (Param1). More...
 
uint16_t zero
uint16_t zero
 [in] Zero parameter used in Nonce command (Param2). More...
 
const uint8_t * num_in
const uint8_t * num_in
 [in] Pointer to 20-byte NumIn data used in Nonce command. More...
 
const uint8_t * rand_out
const uint8_t * rand_out
 [in] Pointer to 32-byte RandOut data from Nonce command. More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 
uint8_t mode
uint8_t mode
 [in] Mode parameter used in MAC command (Param1). More...
 
uint16_t key_id
uint16_t key_id
 [in] KeyID parameter used in MAC command (Param2). More...
 
const uint8_t * challenge
const uint8_t * challenge
 [in] Pointer to 32-byte Challenge data used in MAC command, depending on mode. More...
 
const uint8_t * key
const uint8_t * key
 [in] Pointer to 32-byte key used to generate MAC digest. More...
 
const uint8_t * otp
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in MAC digest, depending on mode. More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in MAC digest, depending on mode. More...
 
uint8_t * response
uint8_t * response
 [out] Pointer to 32-byte SHA-256 digest (MAC). More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 
uint8_t mode
uint8_t mode
 [in] Mode parameter used in HMAC command (Param1). More...
 
uint16_t key_id
uint16_t key_id
 [in] KeyID parameter used in HMAC command (Param2). More...
 
const uint8_t * key
const uint8_t * key
 [in] Pointer to 32-byte key used to generate HMAC digest. More...
 
const uint8_t * otp
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in HMAC digest, depending on mode. More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in HMAC digest, depending on mode. More...
 
uint8_t * response
uint8_t * response
 [out] Pointer to 32-byte SHA-256 HMAC digest. More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 
uint8_t * crypto_data
uint8_t * crypto_data
 [in,out] Pointer to 32-byte data. Input encrypted data from Read command (Contents field), output decrypted. More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 
uint16_t curve_type
uint16_t curve_type
 [in] Curve type used in Verify command (Param2). More...
 
const uint8_t * signature
const uint8_t * signature
 [in] Pointer to ECDSA signature to be verified More...
 
const uint8_t * public_key
const uint8_t * public_key
 [in] Pointer to the public key to be used for verification More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 
@@ -347,58 +347,58 @@ Definitions for ATECC Message Sizes to Calculate a SHA256 Hash - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

"||" is the concatenation operator. The number in braces is the length of the hash input value in bytes.

#define ATCA_MSG_SIZE_NONCE   (55)
#define ATCA_MSG_SIZE_NONCE   (55)
 RandOut{32} || NumIn{20} || OpCode{1} || Mode{1} || LSB of Param2{1}. More...
 
#define ATCA_MSG_SIZE_MAC   (88)
#define ATCA_MSG_SIZE_MAC   (88)
 (Key or TempKey){32} || (Challenge or TempKey){32} || OpCode{1} || Mode{1} || Param2{2} || (OTP0_7 or 0){8} || (OTP8_10 or 0){3} || SN8{1} || (SN4_7 or 0){4} || SN0_1{2} || (SN2_3 or 0){2} More...
 
#define ATCA_MSG_SIZE_HMAC   (88)
#define ATCA_MSG_SIZE_HMAC   (88)
 
#define ATCA_MSG_SIZE_GEN_DIG   (96)
#define ATCA_MSG_SIZE_GEN_DIG   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_DERIVE_KEY   (96)
#define ATCA_MSG_SIZE_DERIVE_KEY   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_DERIVE_KEY_MAC   (39)
#define ATCA_MSG_SIZE_DERIVE_KEY_MAC   (39)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2} || SN8{1} || SN0_1{2}. More...
 
#define ATCA_MSG_SIZE_ENCRYPT_MAC   (96)
#define ATCA_MSG_SIZE_ENCRYPT_MAC   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2}|| SN8{1} || SN0_1{2} || 0{25} || TempKey{32}. More...
 
#define ATCA_MSG_SIZE_PRIVWRITE_MAC   (96)
#define ATCA_MSG_SIZE_PRIVWRITE_MAC   (96)
 KeyId{32} || OpCode{1} || Param1{1} || Param2{2}|| SN8{1} || SN0_1{2} || 0{21} || PlainText{36}. More...
 
#define ATCA_COMMAND_HEADER_SIZE   ( 4)
#define ATCA_COMMAND_HEADER_SIZE   ( 4)
 
#define ATCA_GENDIG_ZEROS_SIZE   (25)
#define ATCA_GENDIG_ZEROS_SIZE   (25)
 
#define ATCA_WRITE_MAC_ZEROS_SIZE   (25)
#define ATCA_WRITE_MAC_ZEROS_SIZE   (25)
 
#define ATCA_PRIVWRITE_MAC_ZEROS_SIZE   (21)
#define ATCA_PRIVWRITE_MAC_ZEROS_SIZE   (21)
 
#define ATCA_PRIVWRITE_PLAIN_TEXT_SIZE   (36)
#define ATCA_PRIVWRITE_PLAIN_TEXT_SIZE   (36)
 
#define ATCA_DERIVE_KEY_ZEROS_SIZE   (25)
#define ATCA_DERIVE_KEY_ZEROS_SIZE   (25)
 
#define HMAC_BLOCK_SIZE   (64)
#define HMAC_BLOCK_SIZE   (64)
 
#define ENCRYPTION_KEY_SIZE   (64)
#define ENCRYPTION_KEY_SIZE   (64)
 
- + - + - +

Default Fixed Byte Values of Serial Number (SN[0:1] and SN[8])

#define ATCA_SN_0_DEF   (0x01)
#define ATCA_SN_0_DEF   (0x01)
 
#define ATCA_SN_1_DEF   (0x23)
#define ATCA_SN_1_DEF   (0x23)
 
#define ATCA_SN_8_DEF   (0xEE)
#define ATCA_SN_8_DEF   (0xEE)
 
- +

Definition for TempKey Mode

#define MAC_MODE_USE_TEMPKEY_MASK   ((uint8_t)0x03)
#define MAC_MODE_USE_TEMPKEY_MASK   ((uint8_t)0x03)
 mode mask for MAC command when using TempKey More...
 
@@ -710,12 +710,12 @@

- +
typedef struct atca_check_mac_in_out atca_check_mac_in_out_ttypedef struct atca_check_mac_in_out atca_check_mac_in_out_t

@@ -726,12 +726,12 @@

- +
typedef struct atca_gen_dig_in_out atca_gen_dig_in_out_ttypedef struct atca_gen_dig_in_out atca_gen_dig_in_out_t

@@ -742,12 +742,12 @@

- +
typedef struct atca_gen_key_in_out atca_gen_key_in_out_ttypedef struct atca_gen_key_in_out atca_gen_key_in_out_t

-

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function.

+

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function.

@@ -758,7 +758,7 @@

- +
typedef struct atca_io_decrypt_in_out atca_io_decrypt_in_out_ttypedef struct atca_io_decrypt_in_out atca_io_decrypt_in_out_t

@@ -772,7 +772,7 @@

- +
typedef struct atca_mac_in_out atca_mac_in_out_ttypedef struct atca_mac_in_out atca_mac_in_out_t

@@ -786,7 +786,7 @@

- +
typedef struct atca_nonce_in_out atca_nonce_in_out_ttypedef struct atca_nonce_in_out atca_nonce_in_out_t

@@ -800,7 +800,7 @@

- +
typedef struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_ttypedef struct atca_secureboot_enc_in_out atca_secureboot_enc_in_out_t

@@ -814,7 +814,7 @@

- +
typedef struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_ttypedef struct atca_secureboot_mac_in_out atca_secureboot_mac_in_out_t

@@ -828,12 +828,12 @@

- +
typedef struct atca_sign_internal_in_out atca_sign_internal_in_out_ttypedef struct atca_sign_internal_in_out atca_sign_internal_in_out_t

-

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function.

+

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function.

@@ -844,7 +844,7 @@

- +
typedef struct atca_temp_key atca_temp_key_ttypedef struct atca_temp_key atca_temp_key_t
@@ -905,9 +905,9 @@

- + - + @@ -932,15 +932,15 @@

ATCA_STATUS atcah_check_mac ATCA_STATUS atcah_check_mac (struct atca_check_mac_in_outstruct atca_check_mac_in_out param)
- + - + - + @@ -957,8 +957,8 @@

-

Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone.

-

The atca_sign_internal_in_out structure has a number of fields (slot_config, key_config, is_slot_locked) that can be determined automatically from the current state of TempKey and the full config zone.

+

Populate the slot_config, key_config, and is_slot_locked fields in the atca_sign_internal_in_out structure from the provided config zone.

+

The atca_sign_internal_in_out structure has a number of fields (slot_config, key_config, is_slot_locked) that can be determined automatically from the current state of TempKey and the full config zone.

Parameters

ATCA_STATUS atcah_config_to_sign_internal ATCA_STATUS atcah_config_to_sign_internal (ATCADeviceType ATCADeviceType  device_type,
struct atca_sign_internal_in_outstruct atca_sign_internal_in_out param,
@@ -978,9 +978,9 @@

[in,out]paramSign(Internal) parameters to be filled out. Only slot_config, key_config, and is_slot_locked will be set.
- + - + @@ -1006,9 +1006,9 @@

ATCA_STATUS atcah_decrypt ATCA_STATUS atcah_decrypt (struct atca_decrypt_in_outstruct atca_decrypt_in_out param)
- + - + @@ -1040,9 +1040,9 @@

ATCA_STATUS atcah_derive_key ATCA_STATUS atcah_derive_key (struct atca_derive_key_in_outstruct atca_derive_key_in_out param)
- + - + @@ -1068,7 +1068,7 @@

ATCA_STATUS atcah_derive_key_mac ATCA_STATUS atcah_derive_key_mac (struct atca_derive_key_mac_in_outstruct atca_derive_key_mac_in_out param)
- + @@ -1106,9 +1106,9 @@

ATCA_STATUS atcah_encode_counter_match ATCA_STATUS atcah_encode_counter_match ( uint32_t  counter_value,
- + - + @@ -1134,9 +1134,9 @@

ATCA_STATUS atcah_gen_dig ATCA_STATUS atcah_gen_dig (struct atca_gen_dig_in_outstruct atca_gen_dig_in_out param)
- + - + @@ -1161,9 +1161,9 @@

ATCA_STATUS atcah_gen_key_msg ATCA_STATUS atcah_gen_key_msg (struct atca_gen_key_in_outstruct atca_gen_key_in_out param)
- + - + @@ -1188,9 +1188,9 @@

ATCA_STATUS atcah_gen_mac ATCA_STATUS atcah_gen_mac (struct atca_gen_dig_in_outstruct atca_gen_dig_in_out param)
- + - + @@ -1218,7 +1218,7 @@

uint8_t* atcah_include_data

- + @@ -1243,9 +1243,9 @@

ATCA_STATUS atcah_hmac ATCA_STATUS atcah_hmac (struct atca_hmac_in_outstruct atca_hmac_in_out param)
(struct atca_include_data_in_outstruct atca_include_data_in_out param)
- + - + @@ -1270,9 +1270,9 @@

ATCA_STATUS atcah_io_decrypt ATCA_STATUS atcah_io_decrypt (struct atca_io_decrypt_in_outstruct atca_io_decrypt_in_out param)
- + - + @@ -1298,9 +1298,9 @@

ATCA_STATUS atcah_mac ATCA_STATUS atcah_mac (struct atca_mac_in_outstruct atca_mac_in_out param)
- + - + @@ -1325,9 +1325,9 @@

ATCA_STATUS atcah_nonce ATCA_STATUS atcah_nonce (struct atca_nonce_in_outstruct atca_nonce_in_out param)
- + - + @@ -1353,9 +1353,9 @@

ATCA_STATUS atcah_privwrite_auth_mac ATCA_STATUS atcah_privwrite_auth_mac (struct atca_write_mac_in_outstruct atca_write_mac_in_out param)
- + - + @@ -1380,9 +1380,9 @@

ATCA_STATUS atcah_secureboot_enc ATCA_STATUS atcah_secureboot_enc (atca_secureboot_enc_in_out_tatca_secureboot_enc_in_out_t param)
- + - + @@ -1408,7 +1408,7 @@

ATCA_STATUS atcah_secureboot_mac ATCA_STATUS atcah_secureboot_mac (atca_secureboot_mac_in_out_tatca_secureboot_mac_in_out_t param)
- + @@ -1453,15 +1453,15 @@

ATCA_STATUS atcah_sha256 ATCA_STATUS atcah_sha256 ( int32_t  len,
- + - + - + @@ -1492,9 +1492,9 @@

ATCA_STATUS atcah_sign_internal_msg ATCA_STATUS atcah_sign_internal_msg (ATCADeviceType ATCADeviceType  device_type,
struct atca_sign_internal_in_outstruct atca_sign_internal_in_out param 
- + - + @@ -1519,9 +1519,9 @@

ATCA_STATUS atcah_verify_mac ATCA_STATUS atcah_verify_mac (atca_verify_mac_in_out_tatca_verify_mac_in_out_t param)
- + - + diff --git a/docs/html/a00913.js b/docs/html/a00913.js new file mode 100644 index 000000000..d3ef05a65 --- /dev/null +++ b/docs/html/a00913.js @@ -0,0 +1,240 @@ +var a00913 = +[ + [ "atca_temp_key", "a01066.html", [ + [ "gen_dig_data", "a01066.html#a0ea476753a7de128cb33adb56e0692c6", null ], + [ "gen_key_data", "a01066.html#a1f0f70b7f0590654fde170e1e392b4f7", null ], + [ "is_64", "a01066.html#a3f6d684924e3635e6e57441b66b98978", null ], + [ "key_id", "a01066.html#ae687014ee9436f24d700229432e7edfd", null ], + [ "no_mac_flag", "a01066.html#a7e432dd218a88686e01e0c43cda30d2b", null ], + [ "source_flag", "a01066.html#a2ffc3c1a03eda290c709dc78b7e8b51e", null ], + [ "valid", "a01066.html#a6b455a7e89f8a891cd7e3b66d1b17b67", null ], + [ "value", "a01066.html#a9d39af90116e75f8805942afa953046f", null ] + ] ], + [ "atca_include_data_in_out", "a01070.html", [ + [ "mode", "a01070.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "p_temp", "a00913.html#gad87f95f0faf0c6fdfe94040efcb14860", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ] + ] ], + [ "atca_nonce_in_out", "a01074.html", [ + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "num_in", "a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a", null ], + [ "rand_out", "a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "zero", "a00913.html#ga876993158b491f4626155b468ffb6edc", null ] + ] ], + [ "atca_io_decrypt_in_out", "a01078.html", [ + [ "data", "a01078.html#abe222f6d3581e7920dcad5306cc906a8", null ], + [ "data_size", "a01078.html#ad6bc120bffc64dfc5230863a8ba96596", null ], + [ "io_key", "a01078.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "out_nonce", "a01078.html#a70a057043fcc9f4dc22455f6df43d710", null ] + ] ], + [ "atca_verify_mac", "a01082.html", [ + [ "io_key", "a01082.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "key_id", "a01082.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mac", "a01082.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01082.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "msg_dig_buf", "a01082.html#abb42a6a187e06500b79b8bdbf097ef1c", null ], + [ "other_data", "a01082.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "signature", "a01082.html#a35388d4dff80916a7409fd0554ac58b6", null ], + [ "sn", "a01082.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01082.html#a7a67318a2d1cde0794d2d1ae152c93cf", null ] + ] ], + [ "atca_secureboot_enc_in_out", "a01086.html", [ + [ "digest", "a01086.html#aff3a2b64b0d86058508f766de59438d1", null ], + [ "digest_enc", "a01086.html#aa9a9b371e24a757dba2cf1f87d03b31e", null ], + [ "hashed_key", "a01086.html#a4e3f2b3f58d04cbc9d85d936b039170e", null ], + [ "io_key", "a01086.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "temp_key", "a01086.html#a714b07e0515fd9d20714a4fc2a16c03e", null ] + ] ], + [ "atca_secureboot_mac_in_out", "a01090.html", [ + [ "digest", "a01090.html#aff3a2b64b0d86058508f766de59438d1", null ], + [ "hashed_key", "a01090.html#a1f1ddb903087eec963d0faf82a3283a4", null ], + [ "mac", "a01090.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01090.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "param2", "a01090.html#a16a7565b150a9c17a39c80fc932b9514", null ], + [ "secure_boot_config", "a01090.html#a6abd57960eb27eecadcf1163a1441fb1", null ], + [ "signature", "a01090.html#a35388d4dff80916a7409fd0554ac58b6", null ] + ] ], + [ "atca_mac_in_out", "a01094.html", [ + [ "challenge", "a00913.html#ga88d82c85f774fa04ccf768e566fec194", null ], + [ "key", "a00913.html#gab0d96f9d852c2058c2546a1338e87544", null ], + [ "key_id", "a00913.html#ga3eedc11953a89e931ede529eb72592ac", null ], + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "response", "a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ] + ] ], + [ "atca_hmac_in_out", "a01098.html", [ + [ "key", "a00913.html#gab0d96f9d852c2058c2546a1338e87544", null ], + [ "key_id", "a00913.html#ga3eedc11953a89e931ede529eb72592ac", null ], + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "response", "a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ] + ] ], + [ "atca_gen_dig_in_out", "a01102.html", [ + [ "is_key_nomac", "a01102.html#a6ab45b7847bf9d25cc2be99b11641e5f", null ], + [ "key_id", "a01102.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "other_data", "a01102.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "sn", "a01102.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "stored_value", "a01102.html#a7871fda0cd5698905bc3aa8fe8a99808", null ], + [ "temp_key", "a01102.html#a72fae3d62889ef224f09c57a7646e061", null ], + [ "zone", "a01102.html#ac746c3d65092170bfaf5b0d9950d8438", null ] + ] ], + [ "atca_write_mac_in_out", "a01106.html", [ + [ "auth_mac", "a01106.html#a9f11512564ff4aeaf5f9d0646d971ed2", null ], + [ "encrypted_data", "a01106.html#a8c2a094baeab96152cea462ba9677887", null ], + [ "input_data", "a01106.html#a699b6e4448b505a2664025ccca3522f5", null ], + [ "key_id", "a01106.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "sn", "a01106.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01106.html#a72fae3d62889ef224f09c57a7646e061", null ], + [ "zone", "a01106.html#ac746c3d65092170bfaf5b0d9950d8438", null ] + ] ], + [ "atca_derive_key_in_out", "a01110.html", [ + [ "mode", "a01110.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "parent_key", "a01110.html#a000599eef5677ed1279b025c42ae260e", null ], + [ "sn", "a01110.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key", "a01110.html#afca67d3e5d5a7c772262731cc08880b1", null ], + [ "target_key_id", "a01110.html#a41104a8c85cd12c0fde0d791c3276a48", null ], + [ "temp_key", "a01110.html#a72fae3d62889ef224f09c57a7646e061", null ] + ] ], + [ "atca_derive_key_mac_in_out", "a01114.html", [ + [ "mac", "a01114.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01114.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "parent_key", "a01114.html#a000599eef5677ed1279b025c42ae260e", null ], + [ "sn", "a01114.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key_id", "a01114.html#a41104a8c85cd12c0fde0d791c3276a48", null ] + ] ], + [ "atca_decrypt_in_out", "a01118.html", [ + [ "crypto_data", "a00913.html#ga4155a23e70d1bf07de5d316efebeaee7", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ] + ] ], + [ "atca_check_mac_in_out", "a01122.html", [ + [ "client_chal", "a01122.html#a218f1c30c4a21b348dbe1817a2c14896", null ], + [ "client_resp", "a01122.html#a430a448768d687a94e3daaa00dce63ce", null ], + [ "key_id", "a01122.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mode", "a01122.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "other_data", "a01122.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "otp", "a01122.html#a4510889ef4b42470bf1a1d4e940a19a9", null ], + [ "slot_key", "a01122.html#aa23b467edf1809a2a8b1b530a0159c45", null ], + [ "sn", "a01122.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key", "a01122.html#ab15c5e89189b9eea6fab7da58cc03967", null ], + [ "temp_key", "a01122.html#a72fae3d62889ef224f09c57a7646e061", null ] + ] ], + [ "atca_verify_in_out", "a01126.html", [ + [ "curve_type", "a00913.html#ga9be4eee4ac6c9248a824d093f165839e", null ], + [ "public_key", "a00913.html#gacea547aa606ca17f8da337a1b58972a1", null ], + [ "signature", "a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ] + ] ], + [ "atca_gen_key_in_out", "a01130.html", [ + [ "key_id", "a01130.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mode", "a01130.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "other_data", "a01130.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "public_key", "a01130.html#a122aff75e4ff5cd19542117ba3fdb855", null ], + [ "public_key_size", "a01130.html#aeaa21ee86ed67c665d190be7d12293c7", null ], + [ "sn", "a01130.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01130.html#a72fae3d62889ef224f09c57a7646e061", null ] + ] ], + [ "atca_sign_internal_in_out", "a01134.html", [ + [ "digest", "a01134.html#a0b448fbaa0c4f1770b7c3f53acf265c5", null ], + [ "for_invalidate", "a01134.html#ac3544274ceb4f8950b3a5fe6640be634", null ], + [ "is_slot_locked", "a01134.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8", null ], + [ "key_config", "a01134.html#af209160ffa65b538728640eb34e4be75", null ], + [ "key_id", "a01134.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "message", "a01134.html#a35f4a3225daf3021decdc4ecea74fa46", null ], + [ "mode", "a01134.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "slot_config", "a01134.html#a547704fabd162cdaa3d5ce84a111a3fc", null ], + [ "sn", "a01134.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01134.html#a714b07e0515fd9d20714a4fc2a16c03e", null ], + [ "update_count", "a01134.html#a4a25483bf435220f212cbe8f0327b0a6", null ], + [ "use_flag", "a01134.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05", null ], + [ "verify_other_data", "a01134.html#a04c0e9b276020bed4ed3d7d670ed3881", null ] + ] ], + [ "ATCA_COMMAND_HEADER_SIZE", "a00913.html#gab51341e9f564bc8f85c2e822835a8bcb", null ], + [ "ATCA_DERIVE_KEY_ZEROS_SIZE", "a00913.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c", null ], + [ "ATCA_GENDIG_ZEROS_SIZE", "a00913.html#ga5398e83ccfca8ada7cb609c1e34d2cc4", null ], + [ "ATCA_MSG_SIZE_DERIVE_KEY", "a00913.html#ga1f445a11e4da099fec31efd43eadc234", null ], + [ "ATCA_MSG_SIZE_DERIVE_KEY_MAC", "a00913.html#ga4ef7d31c60616cf5177f415e32607d10", null ], + [ "ATCA_MSG_SIZE_ENCRYPT_MAC", "a00913.html#gafd8064c07a5f22cdb087c88e1b87c1be", null ], + [ "ATCA_MSG_SIZE_GEN_DIG", "a00913.html#ga656372cab66beeb5a333e9a33e342017", null ], + [ "ATCA_MSG_SIZE_HMAC", "a00913.html#gae9245f524128f65f77f65002a5a7265f", null ], + [ "ATCA_MSG_SIZE_MAC", "a00913.html#ga2b5993f5b7254d8c6e50794824cf47b6", null ], + [ "ATCA_MSG_SIZE_NONCE", "a00913.html#gaebdc2d83274268bb48fc45e87aef38af", null ], + [ "ATCA_MSG_SIZE_PRIVWRITE_MAC", "a00913.html#ga1039bfbe7e13d614814341bdee6afa7b", null ], + [ "ATCA_PRIVWRITE_MAC_ZEROS_SIZE", "a00913.html#ga9c24dfde4798589fd98c2583d170aeb1", null ], + [ "ATCA_PRIVWRITE_PLAIN_TEXT_SIZE", "a00913.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb", null ], + [ "ATCA_SN_0_DEF", "a00913.html#ga1a026ad1d6e4ccd5c32f7f0462877b39", null ], + [ "ATCA_SN_1_DEF", "a00913.html#ga5e4f22a404b71cabba4fd7085dff5e7c", null ], + [ "ATCA_SN_8_DEF", "a00913.html#ga232f0d699ece83f51d63e5a66d254be5", null ], + [ "ATCA_WRITE_MAC_ZEROS_SIZE", "a00913.html#ga43496218f8a98faad996489af047272f", null ], + [ "ENCRYPTION_KEY_SIZE", "a00913.html#gaeb6c1ee0fb04b12d185eee8bb766068c", null ], + [ "HMAC_BLOCK_SIZE", "a00913.html#gaf7ec8e72430c612cc936a2ea2f91d6d0", null ], + [ "MAC_MODE_USE_TEMPKEY_MASK", "a00913.html#ga05323075c94849bf70e84f5a5931f058", null ], + [ "atca_check_mac_in_out_t", "a00913.html#ga897821490d4d10e168f1c94cd67966e7", null ], + [ "atca_gen_dig_in_out_t", "a00913.html#ga5ed81b300bd0d04f88708ad122d3a53a", null ], + [ "atca_gen_key_in_out_t", "a00913.html#ga804b097bbb0a7086f7d208390689146b", null ], + [ "atca_io_decrypt_in_out_t", "a00913.html#ga787a3ef3bd9a6feaf71b50fc127b619d", null ], + [ "atca_mac_in_out_t", "a00913.html#ga21e3f5ec2d0765d3e98432c4e8498350", null ], + [ "atca_nonce_in_out_t", "a00913.html#gae9d8a27e97696e2e02cea680ea44e3f2", null ], + [ "atca_secureboot_enc_in_out_t", "a00913.html#gaa60674423eaa2e7f37f2c1cf2855f2d7", null ], + [ "atca_secureboot_mac_in_out_t", "a00913.html#gace9a9d1e2e34d294e573098600b6f061", null ], + [ "atca_sign_internal_in_out_t", "a00913.html#gafdb82fc57fb953626c28c757a5220274", null ], + [ "atca_temp_key_t", "a00913.html#ga30bc02410edabefa2e210709b00105de", null ], + [ "atca_verify_in_out_t", "a00913.html#gab4d485e0545aa3defd75702fe51f9a13", null ], + [ "atca_verify_mac_in_out_t", "a00913.html#ga39d794a93edb13943760550086940fa4", null ], + [ "atca_write_mac_in_out_t", "a00913.html#gafeefb2141ebb14988f08eb86f7cd6608", null ], + [ "atcah_check_mac", "a00913.html#ga5b457cd0ccba73864eee4030b6079ba7", null ], + [ "atcah_config_to_sign_internal", "a00913.html#ga316e7eeaeedc7a30824294280488e24e", null ], + [ "atcah_decrypt", "a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae", null ], + [ "atcah_derive_key", "a00913.html#ga02b3479eaee1bd1741675c2a1249ffda", null ], + [ "atcah_derive_key_mac", "a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b", null ], + [ "atcah_encode_counter_match", "a00913.html#ga809ad14c1d8da45d5f74fa4c55373638", null ], + [ "atcah_gen_dig", "a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4", null ], + [ "atcah_gen_key_msg", "a00913.html#gabf2abd4bd62f47537756c9ab109050c0", null ], + [ "atcah_gen_mac", "a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c", null ], + [ "atcah_hmac", "a00913.html#gab17435577e546d2954bd697f21e6d3cc", null ], + [ "atcah_include_data", "a00913.html#gad456d2c1172343bb40d8cd0e391d44f4", null ], + [ "atcah_io_decrypt", "a00913.html#gaa0df5937081037684ce2894a8cc2c1e5", null ], + [ "atcah_mac", "a00913.html#ga44361cadf1819cea687208eeadd57059", null ], + [ "atcah_nonce", "a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b", null ], + [ "atcah_privwrite_auth_mac", "a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb", null ], + [ "atcah_secureboot_enc", "a00913.html#ga4c89f8023aec521281824c0e35713baa", null ], + [ "atcah_secureboot_mac", "a00913.html#gaa795bec90432fbfa194913d8b4098fab", null ], + [ "atcah_sha256", "a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e", null ], + [ "atcah_sign_internal_msg", "a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e", null ], + [ "atcah_verify_mac", "a00913.html#ga03632bc31f21bec0d13d4f0cab198958", null ], + [ "atcah_write_auth_mac", "a00913.html#ga47853951c57803eff1432780bf360057", null ], + [ "challenge", "a00913.html#ga88d82c85f774fa04ccf768e566fec194", null ], + [ "crypto_data", "a00913.html#ga4155a23e70d1bf07de5d316efebeaee7", null ], + [ "curve_type", "a00913.html#ga9be4eee4ac6c9248a824d093f165839e", null ], + [ "key", "a00913.html#gab0d96f9d852c2058c2546a1338e87544", null ], + [ "key", "a00913.html#gab0d96f9d852c2058c2546a1338e87544", null ], + [ "key_id", "a00913.html#ga3eedc11953a89e931ede529eb72592ac", null ], + [ "key_id", "a00913.html#ga3eedc11953a89e931ede529eb72592ac", null ], + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "mode", "a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167", null ], + [ "num_in", "a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "p_temp", "a00913.html#gad87f95f0faf0c6fdfe94040efcb14860", null ], + [ "public_key", "a00913.html#gacea547aa606ca17f8da337a1b58972a1", null ], + [ "rand_out", "a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c", null ], + [ "response", "a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3", null ], + [ "response", "a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3", null ], + [ "signature", "a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "temp_key", "a00913.html#gaa17e031da4b22938bed1c21161ba371a", null ], + [ "zero", "a00913.html#ga876993158b491f4626155b468ffb6edc", null ] +]; \ No newline at end of file diff --git a/docs/html/a03539.html b/docs/html/a00914.html similarity index 90% rename from docs/html/a03539.html rename to docs/html/a00914.html index b1bfce76b..cc3c97c3d 100644 --- a/docs/html/a03539.html +++ b/docs/html/a00914.html @@ -67,7 +67,7 @@
@@ -99,28 +99,28 @@
ATCA_STATUS atcah_write_auth_mac ATCA_STATUS atcah_write_auth_mac (struct atca_write_mac_in_outstruct atca_write_mac_in_out param)
- - + +

Data Structures

struct  atca_jwt_t
 Structure to hold metadata information about the jwt being built. More...
struct  atca_jwt_t
 Structure to hold metadata information about the jwt being built. More...
 
- + - + - + - + - + - +

Functions

ATCA_STATUS atca_jwt_init (atca_jwt_t *jwt, char *buf, uint16_t buflen)
ATCA_STATUS atca_jwt_init (atca_jwt_t *jwt, char *buf, uint16_t buflen)
 Initialize a JWT structure. More...
 
ATCA_STATUS atca_jwt_add_claim_string (atca_jwt_t *jwt, const char *claim, const char *value)
ATCA_STATUS atca_jwt_add_claim_string (atca_jwt_t *jwt, const char *claim, const char *value)
 Add a string claim to a token. More...
 
ATCA_STATUS atca_jwt_add_claim_numeric (atca_jwt_t *jwt, const char *claim, int32_t value)
ATCA_STATUS atca_jwt_add_claim_numeric (atca_jwt_t *jwt, const char *claim, int32_t value)
 Add a numeric claim to a token. More...
 
ATCA_STATUS atca_jwt_finalize (atca_jwt_t *jwt, uint16_t key_id)
ATCA_STATUS atca_jwt_finalize (atca_jwt_t *jwt, uint16_t key_id)
 Close the claims of a token, encode them, then sign the result. More...
 
void atca_jwt_check_payload_start (atca_jwt_t *jwt)
void atca_jwt_check_payload_start (atca_jwt_t *jwt)
 Check the provided context to see what character needs to be added in order to append a claim. More...
 
ATCA_STATUS atca_jwt_verify (const char *buf, uint16_t buflen, const uint8_t *pubkey)
ATCA_STATUS atca_jwt_verify (const char *buf, uint16_t buflen, const uint8_t *pubkey)
 Verifies the signature of a jwt using the provided public key. More...
 
@@ -134,9 +134,9 @@

- + - + @@ -179,9 +179,9 @@

ATCA_STATUS atca_jwt_add_claim_numeric ATCA_STATUS atca_jwt_add_claim_numeric (atca_jwt_tatca_jwt_t jwt,
- + - + @@ -226,7 +226,7 @@

void atca_jwt_check_payload_start

- + @@ -250,9 +250,9 @@

ATCA_STATUS atca_jwt_add_claim_string ATCA_STATUS atca_jwt_add_claim_string (atca_jwt_tatca_jwt_t jwt,
(atca_jwt_tatca_jwt_t jwt)
- + - + @@ -287,9 +287,9 @@

ATCA_STATUS atca_jwt_finalize ATCA_STATUS atca_jwt_finalize (atca_jwt_tatca_jwt_t jwt,
- + - + @@ -331,7 +331,7 @@

ATCA_STATUS atca_jwt_init ATCA_STATUS atca_jwt_init (atca_jwt_tatca_jwt_t jwt,
- + diff --git a/docs/html/a00914.js b/docs/html/a00914.js new file mode 100644 index 000000000..4b83bd80f --- /dev/null +++ b/docs/html/a00914.js @@ -0,0 +1,14 @@ +var a00914 = +[ + [ "atca_jwt_t", "a01138.html", [ + [ "buf", "a01138.html#a1fe855c208bc17a51a4d34fefdb2d5b1", null ], + [ "buflen", "a01138.html#a892366b22e8ea42d95e49308022eef4d", null ], + [ "cur", "a01138.html#aee7e8f6f5f1a4b5b402473cf99d3042a", null ] + ] ], + [ "atca_jwt_add_claim_numeric", "a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad", null ], + [ "atca_jwt_add_claim_string", "a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff", null ], + [ "atca_jwt_check_payload_start", "a00914.html#ga167fe35631a0dd191293c6ad3a6485aa", null ], + [ "atca_jwt_finalize", "a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b", null ], + [ "atca_jwt_init", "a00914.html#gad3ea09543f0569a5368130f4a3d7bce0", null ], + [ "atca_jwt_verify", "a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b", null ] +]; \ No newline at end of file diff --git a/docs/html/a03543.html b/docs/html/a00918.html similarity index 89% rename from docs/html/a03543.html rename to docs/html/a00918.html index 33015e3df..8e2882148 100644 --- a/docs/html/a03543.html +++ b/docs/html/a00918.html @@ -67,7 +67,7 @@
@@ -89,26 +89,26 @@
-
atca_command Struct Reference
+
atca_command Struct Reference
-

atca_command is the C object backing ATCACommand. - More...

+

atca_command is the C object backing ATCACommand. + More...

-

#include <atca_command.h>

+

#include <atca_command.h>

ATCA_STATUS atca_jwt_verify ATCA_STATUS atca_jwt_verify ( const char *  buf,
- + - + - +

Data Fields

ATCADeviceType dt
ATCADeviceType dt
 
uint8_t clock_divider
uint8_t clock_divider
 
uint16_t execution_time_msec
uint16_t execution_time_msec
 

Detailed Description

-

atca_command is the C object backing ATCACommand.

+

atca_command is the C object backing ATCACommand.

Field Documentation

◆ clock_divider

@@ -131,7 +131,7 @@

- +
ATCADeviceType dtATCADeviceType dt

@@ -157,7 +157,7 @@

    - + diff --git a/docs/html/a00918.js b/docs/html/a00918.js new file mode 100644 index 000000000..bdd64f704 --- /dev/null +++ b/docs/html/a00918.js @@ -0,0 +1,6 @@ +var a00918 = +[ + [ "clock_divider", "a00918.html#a380510ad0d2dbde608f38387436db3bc", null ], + [ "dt", "a00918.html#aebea355958c50f7d6a7d946f33ddc0aa", null ], + [ "execution_time_msec", "a00918.html#a77632045612dbd0a5ac4488567c14dd3", null ] +]; \ No newline at end of file diff --git a/docs/html/a03547.html b/docs/html/a00922.html similarity index 92% rename from docs/html/a03547.html rename to docs/html/a00922.html index 35e4f0c91..cb3be7e09 100644 --- a/docs/html/a03547.html +++ b/docs/html/a00922.html @@ -67,7 +67,7 @@

@@ -89,30 +89,30 @@
-
ATCAPacket Struct Reference
+
ATCAPacket Struct Reference

an ATCA packet structure. This is a superset of the packet transmitted on the wire. It's also used as a buffer for receiving the response - More...

+ More...

-

#include <atca_command.h>

+

#include <atca_command.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t _reserved
uint8_t _reserved
 
uint8_t txsize
uint8_t txsize
 
uint8_t opcode
uint8_t opcode
 
uint8_t param1
uint8_t param1
 
uint16_t param2
uint16_t param2
 
uint8_t data [192]
uint8_t data [192]
 
uint8_t execTime
uint8_t execTime
 

Detailed Description

@@ -221,7 +221,7 @@

    - + diff --git a/docs/html/a00922.js b/docs/html/a00922.js new file mode 100644 index 000000000..d1a4106c9 --- /dev/null +++ b/docs/html/a00922.js @@ -0,0 +1,10 @@ +var a00922 = +[ + [ "_reserved", "a00922.html#ad64c25d49d8bac111d62c92a0e552289", null ], + [ "data", "a00922.html#a0a6faa98b4d6b0b87ec0127daee17d11", null ], + [ "execTime", "a00922.html#a7f16544e2e38e2a389b69be0a7156986", null ], + [ "opcode", "a00922.html#a5c1b56e6bccc2a95dbddf1a08e56e87d", null ], + [ "param1", "a00922.html#aec4226da1b99c821237b6805c4e31333", null ], + [ "param2", "a00922.html#a16a7565b150a9c17a39c80fc932b9514", null ], + [ "txsize", "a00922.html#a3c02ddae56a01b6df3be14acf14915a4", null ] +]; \ No newline at end of file diff --git a/docs/html/a03551.html b/docs/html/a00926.html similarity index 86% rename from docs/html/a03551.html rename to docs/html/a00926.html index 3412d714c..cd6c5dd8a 100644 --- a/docs/html/a03551.html +++ b/docs/html/a00926.html @@ -67,7 +67,7 @@

@@ -89,26 +89,26 @@
-
atca_device Struct Reference
+
atca_device Struct Reference
-

atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. - More...

+

atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods. + More...

-

#include <atca_device.h>

+

#include <atca_device.h>

- + - +

Data Fields

ATCACommand mCommands
ATCACommand mCommands
 Command set for a given CryptoAuth device. More...
 
ATCAIface mIface
ATCAIface mIface
 Physical interface. More...
 

Detailed Description

-

atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods.

+

atca_device is the C object backing ATCADevice. See the atca_device.h file for details on the ATCADevice methods.

Field Documentation

◆ mCommands

@@ -117,7 +117,7 @@

- +
ATCACommand mCommandsATCACommand mCommands

@@ -147,7 +147,7 @@

    - + diff --git a/docs/html/a00926.js b/docs/html/a00926.js new file mode 100644 index 000000000..ea3f32391 --- /dev/null +++ b/docs/html/a00926.js @@ -0,0 +1,5 @@ +var a00926 = +[ + [ "mCommands", "a00926.html#aac7a3ed180ba0fcf0d86f7b54ebc1379", null ], + [ "mIface", "a00926.html#aca75c68806e47e95144dc86a3f50d236", null ] +]; \ No newline at end of file diff --git a/docs/html/a03555.html b/docs/html/a00930.html similarity index 87% rename from docs/html/a03555.html rename to docs/html/a00930.html index a671af915..75526c0a4 100644 --- a/docs/html/a03555.html +++ b/docs/html/a00930.html @@ -67,7 +67,7 @@

@@ -89,87 +89,87 @@
-
ATCAIfaceCfg Struct Reference
+
ATCAIfaceCfg Struct Reference
-

#include <atca_iface.h>

+

#include <atca_iface.h>

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + - + - + - + - + - + - + - +

Data Fields

ATCAIfaceType iface_type
ATCAIfaceType iface_type
 
ATCADeviceType devtype
ATCADeviceType devtype
 
union {
   struct ATCAI2C {
      uint8_t   slave_address
      uint8_t   slave_address
 
      uint8_t   bus
      uint8_t   bus
 
      uint32_t   baud
      uint32_t   baud
 
   }   atcai2c
   }   atcai2c
 
   struct ATCASWI {
      uint8_t   bus
      uint8_t   bus
 
   }   atcaswi
   }   atcaswi
 
   struct ATCAUART {
      int   port
      int   port
 
      uint32_t   baud
      uint32_t   baud
 
      uint8_t   wordsize
      uint8_t   wordsize
 
      uint8_t   parity
      uint8_t   parity
 
      uint8_t   stopbits
      uint8_t   stopbits
 
   }   atcauart
   }   atcauart
 
   struct ATCAHID {
      int   idx
      int   idx
 
      uint32_t   vid
      uint32_t   vid
 
      uint32_t   pid
      uint32_t   pid
 
      uint32_t   packetsize
      uint32_t   packetsize
 
      uint8_t   guid [16]
      uint8_t   guid [16]
 
   }   atcahid
   }   atcahid
 
   struct ATCACUSTOM {
      ATCA_STATUS(*   halinit )(void *hal, void *cfg)
      ATCA_STATUS(*   halinit )(void *hal, void *cfg)
 
      ATCA_STATUS(*   halpostinit )(void *iface)
      ATCA_STATUS(*   halpostinit )(void *iface)
 
      ATCA_STATUS(*   halsend )(void *iface, uint8_t *txdata,
+
      ATCA_STATUS(*   halsend )(void *iface, uint8_t *txdata,
         int txlength)
 
      ATCA_STATUS(*   halreceive )(void *iface, uint8_t *rxdata,
+
      ATCA_STATUS(*   halreceive )(void *iface, uint8_t *rxdata,
         uint16_t *rxlength)
 
      ATCA_STATUS(*   halwake )(void *iface)
      ATCA_STATUS(*   halwake )(void *iface)
 
      ATCA_STATUS(*   halidle )(void *iface)
      ATCA_STATUS(*   halidle )(void *iface)
 
      ATCA_STATUS(*   halsleep )(void *iface)
      ATCA_STATUS(*   halsleep )(void *iface)
 
      ATCA_STATUS(*   halrelease )(void *hal_data)
      ATCA_STATUS(*   halrelease )(void *hal_data)
 
   }   atcacustom
   }   atcacustom
 
}; 
 
uint16_t wake_delay
uint16_t wake_delay
 
int rx_retries
int rx_retries
 
void * cfg_data
void * cfg_data
 

Field Documentation

@@ -208,7 +208,7 @@

- +
struct { ... } ::ATCAHID atcahidstruct { ... } ::ATCAHID atcahid

@@ -612,7 +612,7 @@

    - + diff --git a/docs/html/a00930.js b/docs/html/a00930.js new file mode 100644 index 000000000..474042061 --- /dev/null +++ b/docs/html/a00930.js @@ -0,0 +1,33 @@ +var a00930 = +[ + [ "atcacustom", "a00930.html#abd8750afb7cb6d240c858a382a210fa7", null ], + [ "atcahid", "a00930.html#aa757f95b731b8dfdd4ce785e26944728", null ], + [ "atcai2c", "a00930.html#a88f8040c47fc046b2198a26f4ed3faf0", null ], + [ "atcaswi", "a00930.html#a9670d2ececfd8d536f8e6b629ab7b1ed", null ], + [ "atcauart", "a00930.html#a0b39f87d1a01274c9da57768841683c3", null ], + [ "baud", "a00930.html#ac6e5ec63505c02923d71f7409cdbf1d1", null ], + [ "bus", "a00930.html#a5262d4a80e6a0b6dce6fd57d4656786d", null ], + [ "cfg_data", "a00930.html#a97e106cc7267316cf40988744b231111", null ], + [ "devtype", "a00930.html#a05f2d72f4feff51d21be443c82d02192", null ], + [ "guid", "a00930.html#af6dd59cf5b43526a4c6ccd515042af73", null ], + [ "halidle", "a00930.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5", null ], + [ "halinit", "a00930.html#a3baf2be3a5e7c59688ede3ffa734f1e1", null ], + [ "halpostinit", "a00930.html#a82498c9417816ef35f75ea8249a3f10a", null ], + [ "halreceive", "a00930.html#a18decbd259932bfe1f787dd3d94ee29f", null ], + [ "halrelease", "a00930.html#a5eb439f0ede23956fde8cd72f41b85ba", null ], + [ "halsend", "a00930.html#a3aa29f6db8565f010adbe6b11e203d53", null ], + [ "halsleep", "a00930.html#a7add390e5c5e2d9c8f6dadc842a3726e", null ], + [ "halwake", "a00930.html#a357fd8307ec04fe3026830316fc3b043", null ], + [ "idx", "a00930.html#ae40354a1051342eb5a9db005715dcfa9", null ], + [ "iface_type", "a00930.html#a3d0753b214d2a12df80f22b56bfc6e71", null ], + [ "packetsize", "a00930.html#aba242bb3690d4d5a7de01474f94cb4ab", null ], + [ "parity", "a00930.html#aa0e72b59c63431c62f5b5eba36a65d17", null ], + [ "pid", "a00930.html#aec32162d9dc3fde2c76d766af522dae5", null ], + [ "port", "a00930.html#a63c89c04d1feae07ca35558055155ffb", null ], + [ "rx_retries", "a00930.html#aa9ce255f8b9bff64fe261235f9e70c03", null ], + [ "slave_address", "a00930.html#ac93868aeda435dfb685a0a0020e5c7a4", null ], + [ "stopbits", "a00930.html#a9de35842403baab5738ea16162012d4f", null ], + [ "vid", "a00930.html#a98780fe4ab562a61abfd7870ea0910c3", null ], + [ "wake_delay", "a00930.html#a058e797431a238154c5347fa26982044", null ], + [ "wordsize", "a00930.html#ae696a833509f858d17988acdb1deb161", null ] +]; \ No newline at end of file diff --git a/docs/html/a03583.html b/docs/html/a00958.html similarity index 78% rename from docs/html/a03583.html rename to docs/html/a00958.html index 82985f603..709b9fee1 100644 --- a/docs/html/a03583.html +++ b/docs/html/a00958.html @@ -67,7 +67,7 @@

@@ -89,40 +89,40 @@
-
atca_iface Struct Reference
+
atca_iface Struct Reference
-

atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods - More...

+

atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods + More...

-

#include <atca_iface.h>

+

#include <atca_iface.h>

- + - + - + - + - + - + - + - + - + - +

Data Fields

ATCAIfaceType mType
ATCAIfaceType mType
 
ATCAIfaceCfgmIfaceCFG
ATCAIfaceCfgmIfaceCFG
 
ATCA_STATUS(* atinit )(void *hal, ATCAIfaceCfg *)
ATCA_STATUS(* atinit )(void *hal, ATCAIfaceCfg *)
 
ATCA_STATUS(* atpostinit )(ATCAIface hal)
ATCA_STATUS(* atpostinit )(ATCAIface hal)
 
ATCA_STATUS(* atsend )(ATCAIface hal, uint8_t *txdata, int txlength)
ATCA_STATUS(* atsend )(ATCAIface hal, uint8_t *txdata, int txlength)
 
ATCA_STATUS(* atreceive )(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength)
ATCA_STATUS(* atreceive )(ATCAIface hal, uint8_t *rxdata, uint16_t *rxlength)
 
ATCA_STATUS(* atwake )(ATCAIface hal)
ATCA_STATUS(* atwake )(ATCAIface hal)
 
ATCA_STATUS(* atidle )(ATCAIface hal)
ATCA_STATUS(* atidle )(ATCAIface hal)
 
ATCA_STATUS(* atsleep )(ATCAIface hal)
ATCA_STATUS(* atsleep )(ATCAIface hal)
 
void * hal_data
void * hal_data
 

Detailed Description

-

atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods

+

atca_iface is the C object backing ATCAIface. See the atca_iface.h file for details on the ATCAIface methods

Field Documentation

◆ atidle

@@ -131,7 +131,7 @@

- +
ATCA_STATUS(* atidle) (ATCAIface hal)ATCA_STATUS(* atidle) (ATCAIface hal)

@@ -269,7 +269,7 @@

    - + diff --git a/docs/html/a00958.js b/docs/html/a00958.js new file mode 100644 index 000000000..c2a63b5d7 --- /dev/null +++ b/docs/html/a00958.js @@ -0,0 +1,13 @@ +var a00958 = +[ + [ "atidle", "a00958.html#af98425da891944b45d56cebd93b131f6", null ], + [ "atinit", "a00958.html#a43753a99c2b46caab2ae85d0504f1f84", null ], + [ "atpostinit", "a00958.html#a0dd463e6dbb6121768480ab7b42ba604", null ], + [ "atreceive", "a00958.html#a7ebe5db4da26f30972448931b7500546", null ], + [ "atsend", "a00958.html#a343ec53c611863bf30624e5775782ab5", null ], + [ "atsleep", "a00958.html#ae643f9f7998343cc33822de00192626b", null ], + [ "atwake", "a00958.html#a6cb270146e07d7c258bca835fda84be5", null ], + [ "hal_data", "a00958.html#ad33508455720b78cc0fc880cb3f9885e", null ], + [ "mIfaceCFG", "a00958.html#abdd7b8bd26139998d9da63a4fa562735", null ], + [ "mType", "a00958.html#ab4f4855cbadf7c7d2d3fb019eded7c8a", null ] +]; \ No newline at end of file diff --git a/docs/html/a03587.html b/docs/html/a00962.html similarity index 93% rename from docs/html/a03587.html rename to docs/html/a00962.html index 300cd48d6..4a306bc1f 100644 --- a/docs/html/a03587.html +++ b/docs/html/a00962.html @@ -67,7 +67,7 @@

@@ -89,25 +89,25 @@
-
atcacert_tm_utc_s Struct Reference
+
atcacert_tm_utc_s Struct Reference
-

#include <atcacert_date.h>

+

#include <atcacert_date.h>

- + - + - + - + - + - +

Data Fields

int tm_sec
int tm_sec
 
int tm_min
int tm_min
 
int tm_hour
int tm_hour
 
int tm_mday
int tm_mday
 
int tm_mon
int tm_mon
 
int tm_year
int tm_year
 

Detailed Description

@@ -202,7 +202,7 @@

    - + diff --git a/docs/html/a00962.js b/docs/html/a00962.js new file mode 100644 index 000000000..a3161b7f6 --- /dev/null +++ b/docs/html/a00962.js @@ -0,0 +1,9 @@ +var a00962 = +[ + [ "tm_hour", "a00962.html#a4d171061df9e012fcfbd1172b8440d5f", null ], + [ "tm_mday", "a00962.html#a02048604d30b880033311cf542d63f92", null ], + [ "tm_min", "a00962.html#a987fa9280fe4cd6c6b8f77409f1c1504", null ], + [ "tm_mon", "a00962.html#ada983deda100b604bee5716512453658", null ], + [ "tm_sec", "a00962.html#a18df301c1a10c8d493da86ce5c2aea78", null ], + [ "tm_year", "a00962.html#a994c4f4519ba57e186580d21cc86f9e5", null ] +]; \ No newline at end of file diff --git a/docs/html/a03591.html b/docs/html/a00966.html similarity index 92% rename from docs/html/a03591.html rename to docs/html/a00966.html index 8f4b1769d..3f747f6de 100644 --- a/docs/html/a03591.html +++ b/docs/html/a00966.html @@ -67,7 +67,7 @@

@@ -89,27 +89,27 @@
-
atcacert_device_loc_s Struct Reference
+
atcacert_device_loc_s Struct Reference
-

#include <atcacert_def.h>

+

#include <atcacert_def.h>

- + - + - + - + - +

Data Fields

atcacert_device_zone_t zone
atcacert_device_zone_t zone
 Zone in the device. More...
 
uint8_t slot
uint8_t slot
 Slot within the data zone. Only applies if zone is DEVZONE_DATA. More...
 
uint8_t is_genkey
uint8_t is_genkey
 If true, use GenKey command to get the contents instead of Read. More...
 
uint16_t offset
uint16_t offset
 Byte offset in the zone. More...
 
uint16_t count
uint16_t count
 Byte count. More...
 
@@ -187,7 +187,7 @@

- +
atcacert_device_zone_t zoneatcacert_device_zone_t zone

@@ -201,7 +201,7 @@

    - + diff --git a/docs/html/a00966.js b/docs/html/a00966.js new file mode 100644 index 000000000..2fae598cd --- /dev/null +++ b/docs/html/a00966.js @@ -0,0 +1,8 @@ +var a00966 = +[ + [ "count", "a00966.html#af6a39bfc7e1dc3b6f9c997c1c43fa996", null ], + [ "is_genkey", "a00966.html#ab0cedc80cd8670d02eee4b6e31500f5f", null ], + [ "offset", "a00966.html#ac681806181c80437cfab37335f62ff39", null ], + [ "slot", "a00966.html#ad23984515efd99983fa4baf3754082a1", null ], + [ "zone", "a00966.html#a107ad412023faa68c4ac0c7cfd921a02", null ] +]; \ No newline at end of file diff --git a/docs/html/a03595.html b/docs/html/a00970.html similarity index 94% rename from docs/html/a03595.html rename to docs/html/a00970.html index 889cea12d..30d1036e1 100644 --- a/docs/html/a03595.html +++ b/docs/html/a00970.html @@ -67,7 +67,7 @@

@@ -89,18 +89,18 @@
-
atcacert_cert_loc_s Struct Reference
+
atcacert_cert_loc_s Struct Reference
-

#include <atcacert_def.h>

+

#include <atcacert_def.h>

- + - +

Data Fields

uint16_t offset
uint16_t offset
 Byte offset in the certificate template. More...
 
uint16_t count
uint16_t count
 Byte count. Set to 0 if it doesn't exist. More...
 
@@ -144,7 +144,7 @@

    - + diff --git a/docs/html/a00970.js b/docs/html/a00970.js new file mode 100644 index 000000000..e70cfacf6 --- /dev/null +++ b/docs/html/a00970.js @@ -0,0 +1,5 @@ +var a00970 = +[ + [ "count", "a00970.html#af6a39bfc7e1dc3b6f9c997c1c43fa996", null ], + [ "offset", "a00970.html#ac681806181c80437cfab37335f62ff39", null ] +]; \ No newline at end of file diff --git a/docs/html/a03599.html b/docs/html/a00974.html similarity index 89% rename from docs/html/a03599.html rename to docs/html/a00974.html index f2593b728..ddcd80c33 100644 --- a/docs/html/a03599.html +++ b/docs/html/a00974.html @@ -67,7 +67,7 @@

@@ -89,21 +89,21 @@
-
atcacert_cert_element_s Struct Reference
+
atcacert_cert_element_s Struct Reference
-

#include <atcacert_def.h>

+

#include <atcacert_def.h>

- + - + - +

Data Fields

char id [16]
char id [16]
 ID identifying this element. More...
 
atcacert_device_loc_t device_loc
atcacert_device_loc_t device_loc
 Location in the device for the element. More...
 
atcacert_cert_loc_t cert_loc
atcacert_cert_loc_t cert_loc
 Location in the certificate template for the element. More...
 
@@ -117,7 +117,7 @@

- +
atcacert_cert_loc_t cert_locatcacert_cert_loc_t cert_loc

@@ -163,7 +163,7 @@

    - + diff --git a/docs/html/a00974.js b/docs/html/a00974.js new file mode 100644 index 000000000..b7caafce1 --- /dev/null +++ b/docs/html/a00974.js @@ -0,0 +1,6 @@ +var a00974 = +[ + [ "cert_loc", "a00974.html#af74e55b0689356f989d8330ae3072376", null ], + [ "device_loc", "a00974.html#aa36729eb861afe13bb70974147bc403b", null ], + [ "id", "a00974.html#a0b1ca4dcd178907e4151c7132e3b55f5", null ] +]; \ No newline at end of file diff --git a/docs/html/a03603.html b/docs/html/a00978.html similarity index 86% rename from docs/html/a03603.html rename to docs/html/a00978.html index 74386c418..6b19fbf97 100644 --- a/docs/html/a03603.html +++ b/docs/html/a00978.html @@ -67,7 +67,7 @@

@@ -89,66 +89,66 @@
-
atcacert_def_s Struct Reference
+
atcacert_def_s Struct Reference
-

#include <atcacert_def.h>

+

#include <atcacert_def.h>

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Data Fields

atcacert_cert_type_t type
atcacert_cert_type_t type
 Certificate type. More...
 
uint8_t template_id
uint8_t template_id
 ID for the this certificate definition (4-bit value). More...
 
uint8_t chain_id
uint8_t chain_id
 ID for the certificate chain this definition is a part of (4-bit value). More...
 
uint8_t private_key_slot
uint8_t private_key_slot
 If this is a device certificate template, this is the device slot for the device private key. More...
 
atcacert_cert_sn_src_t sn_source
atcacert_cert_sn_src_t sn_source
 Where the certificate serial number comes from (4-bit value). More...
 
atcacert_device_loc_t cert_sn_dev_loc
atcacert_device_loc_t cert_sn_dev_loc
 Only applies when sn_source is SNSRC_STORED or SNSRC_STORED_DYNAMIC. Describes where to get the certificate serial number on the device. More...
 
atcacert_date_format_t issue_date_format
atcacert_date_format_t issue_date_format
 Format of the issue date in the certificate. More...
 
atcacert_date_format_t expire_date_format
atcacert_date_format_t expire_date_format
 format of the expire date in the certificate. More...
 
atcacert_cert_loc_t tbs_cert_loc
atcacert_cert_loc_t tbs_cert_loc
 Location in the certificate for the TBS (to be signed) portion. More...
 
uint8_t expire_years
uint8_t expire_years
 Number of years the certificate is valid for (5-bit value). 0 means no expiration. More...
 
atcacert_device_loc_t public_key_dev_loc
atcacert_device_loc_t public_key_dev_loc
 Where on the device the public key can be found. More...
 
atcacert_device_loc_t comp_cert_dev_loc
atcacert_device_loc_t comp_cert_dev_loc
 Where on the device the compressed cert can be found. More...
 
atcacert_cert_loc_t std_cert_elements [STDCERT_NUM_ELEMENTS]
atcacert_cert_loc_t std_cert_elements [STDCERT_NUM_ELEMENTS]
 Where in the certificate template the standard cert elements are inserted. More...
 
const atcacert_cert_element_tcert_elements
const atcacert_cert_element_tcert_elements
 Additional certificate elements outside of the standard certificate contents. More...
 
uint8_t cert_elements_count
uint8_t cert_elements_count
 Number of additional certificate elements in cert_elements. More...
 
const uint8_t * cert_template
const uint8_t * cert_template
 Pointer to the actual certificate template data. More...
 
uint16_t cert_template_size
uint16_t cert_template_size
 Size of the certificate template in cert_template in bytes. More...
 
const struct atcacert_def_sca_cert_def
const struct atcacert_def_sca_cert_def
 Certificate definition of the CA certificate. More...
 
@@ -163,7 +163,7 @@

- +
const struct atcacert_def_s* ca_cert_defconst struct atcacert_def_s* ca_cert_def

@@ -449,7 +449,7 @@

    - + diff --git a/docs/html/a00978.js b/docs/html/a00978.js new file mode 100644 index 000000000..4d2a524e9 --- /dev/null +++ b/docs/html/a00978.js @@ -0,0 +1,21 @@ +var a00978 = +[ + [ "ca_cert_def", "a00978.html#aa5cb3f21e0d4d77567550388a7f08768", null ], + [ "cert_elements", "a00978.html#aa9a44f95411d86a78a93e650a9c19f53", null ], + [ "cert_elements_count", "a00978.html#afe2b347e101c9f7be9f73b8fda53de29", null ], + [ "cert_sn_dev_loc", "a00978.html#ab02a37cdd6671ab98d0124c5b91623b0", null ], + [ "cert_template", "a00978.html#acb91631744ba06809269dc2f137c835c", null ], + [ "cert_template_size", "a00978.html#a67c40218f646b70740c0d2027eb152a0", null ], + [ "chain_id", "a00978.html#af383252a42d77882d0f3aac7f6ee5048", null ], + [ "comp_cert_dev_loc", "a00978.html#a2d5a033a5aa1227c536ec1aa71a84fa5", null ], + [ "expire_date_format", "a00978.html#a6367c516be990bdce86047b5d9acda14", null ], + [ "expire_years", "a00978.html#a7dcbb1ab3db4003c7f2414e262853e6d", null ], + [ "issue_date_format", "a00978.html#a61f951f9c4366391012057d591888f32", null ], + [ "private_key_slot", "a00978.html#a641e13598992fc536e70b55cc8ee2ea5", null ], + [ "public_key_dev_loc", "a00978.html#accd31930a2e1ff0b8122cbaa202127d3", null ], + [ "sn_source", "a00978.html#af44c31e823af19e6efe6b418a13fafe3", null ], + [ "std_cert_elements", "a00978.html#a7e2ecd6c0b4cef9637e3b281d29200ce", null ], + [ "tbs_cert_loc", "a00978.html#a3a8aede64cc4e17e9495ada7a64ab24f", null ], + [ "template_id", "a00978.html#a44b6808e0d081cb5fd82f58f7de32e4a", null ], + [ "type", "a00978.html#ad158ea4479470d5470412d504428459b", null ] +]; \ No newline at end of file diff --git a/docs/html/a03607.html b/docs/html/a00982.html similarity index 93% rename from docs/html/a03607.html rename to docs/html/a00982.html index abac97d5a..d3c82c092 100644 --- a/docs/html/a03607.html +++ b/docs/html/a00982.html @@ -67,7 +67,7 @@

@@ -89,30 +89,30 @@
-
atcacert_build_state_s Struct Reference
+
atcacert_build_state_s Struct Reference
-

#include <atcacert_def.h>

+

#include <atcacert_def.h>

- + - + - + - + - + - +

Data Fields

const atcacert_def_tcert_def
const atcacert_def_tcert_def
 Certificate definition for the certificate being rebuilt. More...
 
uint8_t * cert
uint8_t * cert
 Buffer to contain the rebuilt certificate. More...
 
size_t * cert_size
size_t * cert_size
 Current size of the certificate in bytes. More...
 
size_t max_cert_size
size_t max_cert_size
 Max size of the cert buffer in bytes. More...
 
uint8_t is_device_sn
uint8_t is_device_sn
 Indicates the structure contains the device SN. More...
 
uint8_t device_sn [9]
uint8_t device_sn [9]
 Storage for the device SN, when it's found. More...
 
@@ -142,7 +142,7 @@

- +
const atcacert_def_t* cert_defconst atcacert_def_t* cert_def

@@ -220,7 +220,7 @@

    - + diff --git a/docs/html/a00982.js b/docs/html/a00982.js new file mode 100644 index 000000000..d688d0b56 --- /dev/null +++ b/docs/html/a00982.js @@ -0,0 +1,9 @@ +var a00982 = +[ + [ "cert", "a00982.html#aa09eb68c2656a44748cad406cf960f7c", null ], + [ "cert_def", "a00982.html#abaf4bb65d962f53a31b943c663eaf3b9", null ], + [ "cert_size", "a00982.html#a083f29531821a0ef698b452cb2b7f5b4", null ], + [ "device_sn", "a00982.html#a5aa8a40126b53aa3748ba0d00de61e60", null ], + [ "is_device_sn", "a00982.html#a3969ddf030fd0524b62c572070bb3edc", null ], + [ "max_cert_size", "a00982.html#abbc4bbcc72558a31f830df7df2df53b8", null ] +]; \ No newline at end of file diff --git a/docs/html/a03611.html b/docs/html/a00986.html similarity index 92% rename from docs/html/a03611.html rename to docs/html/a00986.html index 43781fe38..3d85f9e82 100644 --- a/docs/html/a03611.html +++ b/docs/html/a00986.html @@ -67,7 +67,7 @@

@@ -89,21 +89,21 @@
-
atca_aes_cbc_ctx Struct Reference
+
atca_aes_cbc_ctx Struct Reference
-

#include <atca_basic.h>

+

#include <atca_basic.h>

- + - + - +

Data Fields

uint16_t key_id
uint16_t key_id
 Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. More...
 
uint8_t key_block
uint8_t key_block
 Index of the 16-byte block to use within the key location for the actual key. More...
 
uint8_t ciphertext [AES_DATA_SIZE]
uint8_t ciphertext [AES_DATA_SIZE]
 Ciphertext from last operation. More...
 
@@ -115,7 +115,7 @@

- +
uint8_t ciphertext[AES_DATA_SIZE]uint8_t ciphertext[AES_DATA_SIZE]

@@ -161,7 +161,7 @@

    - + diff --git a/docs/html/a00986.js b/docs/html/a00986.js new file mode 100644 index 000000000..8b3d2237f --- /dev/null +++ b/docs/html/a00986.js @@ -0,0 +1,6 @@ +var a00986 = +[ + [ "ciphertext", "a00986.html#a984a9b23546b1bab664b3a3e721830b7", null ], + [ "key_block", "a00986.html#a2ec310210422989027a46428a61fb1c1", null ], + [ "key_id", "a00986.html#ac21eed4200889cc115d16a781871d01c", null ] +]; \ No newline at end of file diff --git a/docs/html/a03615.html b/docs/html/a00990.html similarity index 90% rename from docs/html/a03615.html rename to docs/html/a00990.html index 2101eec64..8c92ff9bd 100644 --- a/docs/html/a03615.html +++ b/docs/html/a00990.html @@ -67,7 +67,7 @@

@@ -89,21 +89,21 @@
-
atca_aes_cmac_ctx Struct Reference
+
atca_aes_cmac_ctx Struct Reference
-

#include <atca_basic.h>

+

#include <atca_basic.h>

- + - + - +

Data Fields

atca_aes_cbc_ctx_t cbc_ctx
atca_aes_cbc_ctx_t cbc_ctx
 CBC context. More...
 
uint32_t block_size
uint32_t block_size
 Number of bytes in current block. More...
 
uint8_t block [AES_DATA_SIZE]
uint8_t block [AES_DATA_SIZE]
 Unprocessed message storage. More...
 
@@ -115,7 +115,7 @@

- +
uint8_t block[AES_DATA_SIZE]uint8_t block[AES_DATA_SIZE]

@@ -161,7 +161,7 @@

    - + diff --git a/docs/html/a00990.js b/docs/html/a00990.js new file mode 100644 index 000000000..04ff77245 --- /dev/null +++ b/docs/html/a00990.js @@ -0,0 +1,6 @@ +var a00990 = +[ + [ "block", "a00990.html#adae27798b73271394b86837502dfd853", null ], + [ "block_size", "a00990.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "cbc_ctx", "a00990.html#a9246ae6d7229247b3e9b5e540a26ac05", null ] +]; \ No newline at end of file diff --git a/docs/html/a03619.html b/docs/html/a00994.html similarity index 84% rename from docs/html/a03619.html rename to docs/html/a00994.html index 5b4772ee3..90186527b 100644 --- a/docs/html/a03619.html +++ b/docs/html/a00994.html @@ -67,7 +67,7 @@

@@ -89,57 +89,57 @@
-
atca_aes_ctr_ctx Struct Reference
+
atca_aes_ctr_ctx Struct Reference
-

#include <atca_basic.h>

+

#include <atca_basic.h>

- + - + - - - - + + + +

Data Fields

uint16_t key_id
uint16_t key_id
 Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. More...
 
uint8_t key_block
uint8_t key_block
 Index of the 16-byte block to use within the key location for the actual key. More...
 
uint8_t iv [AES_DATA_SIZE]
 Initialization vector, comprises of nonce + count value. (16 bytes) More...
 
uint8_t counter_size
uint8_t cb [AES_DATA_SIZE]
 Counter block, comprises of nonce + count value (16 bytes). More...
 
uint8_t counter_size
 Size of counter in the initialization vector. More...
 

Field Documentation

- -

◆ counter_size

+ +

◆ cb

- +
uint8_t counter_sizeuint8_t cb[AES_DATA_SIZE]
-

Size of counter in the initialization vector.

+

Counter block, comprises of nonce + count value (16 bytes).

- -

◆ iv

+ +

◆ counter_size

- +
uint8_t iv[AES_DATA_SIZE]uint8_t counter_size
-

Initialization vector, comprises of nonce + count value. (16 bytes)

+

Size of counter in the initialization vector.

@@ -180,7 +180,7 @@

    - + diff --git a/docs/html/a00994.js b/docs/html/a00994.js new file mode 100644 index 000000000..7e463f859 --- /dev/null +++ b/docs/html/a00994.js @@ -0,0 +1,7 @@ +var a00994 = +[ + [ "cb", "a00994.html#a5af729786916ea6a413d85fb8bba87f1", null ], + [ "counter_size", "a00994.html#ab645bb8a04ce16b6ab3c843dd4d1c177", null ], + [ "key_block", "a00994.html#a2ec310210422989027a46428a61fb1c1", null ], + [ "key_id", "a00994.html#ac21eed4200889cc115d16a781871d01c", null ] +]; \ No newline at end of file diff --git a/docs/html/a03623.html b/docs/html/a00998.html similarity index 92% rename from docs/html/a03623.html rename to docs/html/a00998.html index 74ab57683..c6d57a0db 100644 --- a/docs/html/a03623.html +++ b/docs/html/a00998.html @@ -67,7 +67,7 @@

@@ -89,21 +89,21 @@
-
atca_sha256_ctx Struct Reference
+
atca_sha256_ctx Struct Reference
-

#include <atca_basic.h>

+

#include <atca_basic.h>

- + - + - +

Data Fields

uint32_t total_msg_size
uint32_t total_msg_size
 Total number of message bytes processed. More...
 
uint32_t block_size
uint32_t block_size
 Number of bytes in current block. More...
 
uint8_t block [ATCA_SHA256_BLOCK_SIZE *2]
uint8_t block [ATCA_SHA256_BLOCK_SIZE *2]
 Unprocessed message storage. More...
 
@@ -115,7 +115,7 @@

- +
uint8_t block[ATCA_SHA256_BLOCK_SIZE *2]uint8_t block[ATCA_SHA256_BLOCK_SIZE *2]

@@ -161,7 +161,7 @@

    - + diff --git a/docs/html/a00998.js b/docs/html/a00998.js new file mode 100644 index 000000000..29edcb40d --- /dev/null +++ b/docs/html/a00998.js @@ -0,0 +1,6 @@ +var a00998 = +[ + [ "block", "a00998.html#a407f9109b29f2f3a4c9f7d1de450ad41", null ], + [ "block_size", "a00998.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "total_msg_size", "a00998.html#a8ee7e642376903508dd6b4df9eacc2de", null ] +]; \ No newline at end of file diff --git a/docs/html/a01002.html b/docs/html/a01002.html new file mode 100644 index 000000000..c1c5ee640 --- /dev/null +++ b/docs/html/a01002.html @@ -0,0 +1,344 @@ + + + + + + + +CryptoAuthLib: atca_aes_gcm_ctx Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CryptoAuthLib +
    +
    Microchip CryptoAuthentication Library
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    atca_aes_gcm_ctx Struct Reference
    +
    +
    + +

    #include <atca_basic_aes_gcm.h>

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

    +Data Fields

    uint16_t key_id
     Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. More...
     
    uint8_t key_block
     Index of the 16-byte block to use within the key location for the actual key. More...
     
    uint8_t cb [AES_DATA_SIZE]
     Counter block, comprises of nonce + count value (16 bytes). More...
     
    uint32_t data_size
     Size of the data being encrypted/decrypted in bytes. More...
     
    uint32_t aad_size
     Size of the additional authenticated data in bytes. More...
     
    uint8_t h [AES_DATA_SIZE]
     Subkey for ghash functions in GCM. More...
     
    uint8_t j0 [AES_DATA_SIZE]
     Precounter block generated from IV. More...
     
    uint8_t y [AES_DATA_SIZE]
     Current GHASH output. More...
     
    uint8_t partial_aad [AES_DATA_SIZE]
     Partial blocks of data waiting to be processed. More...
     
    uint32_t partial_aad_size
     Amount of data in the partial block buffer. More...
     
    uint8_t enc_cb [AES_DATA_SIZE]
     Last encrypted counter block. More...
     
    uint8_t ciphertext_block [AES_DATA_SIZE]
     Last ciphertext block. More...
     
    +

    Detailed Description

    +

    Context structure for AES GCM operations.

    +

    Field Documentation

    + +

    ◆ aad_size

    + +
    +
    + + + + +
    uint32_t aad_size
    +
    + +

    Size of the additional authenticated data in bytes.

    + +
    +
    + +

    ◆ cb

    + +
    +
    + + + + +
    uint8_t cb[AES_DATA_SIZE]
    +
    + +

    Counter block, comprises of nonce + count value (16 bytes).

    + +
    +
    + +

    ◆ ciphertext_block

    + +
    +
    + + + + +
    uint8_t ciphertext_block[AES_DATA_SIZE]
    +
    + +

    Last ciphertext block.

    + +
    +
    + +

    ◆ data_size

    + +
    +
    + + + + +
    uint32_t data_size
    +
    + +

    Size of the data being encrypted/decrypted in bytes.

    + +
    +
    + +

    ◆ enc_cb

    + +
    +
    + + + + +
    uint8_t enc_cb[AES_DATA_SIZE]
    +
    + +

    Last encrypted counter block.

    + +
    +
    + +

    ◆ h

    + +
    +
    + + + + +
    uint8_t h[AES_DATA_SIZE]
    +
    + +

    Subkey for ghash functions in GCM.

    + +
    +
    + +

    ◆ j0

    + +
    +
    + + + + +
    uint8_t j0[AES_DATA_SIZE]
    +
    + +

    Precounter block generated from IV.

    + +
    +
    + +

    ◆ key_block

    + +
    +
    + + + + +
    uint8_t key_block
    +
    + +

    Index of the 16-byte block to use within the key location for the actual key.

    + +
    +
    + +

    ◆ key_id

    + +
    +
    + + + + +
    uint16_t key_id
    +
    + +

    Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.

    + +
    +
    + +

    ◆ partial_aad

    + +
    +
    + + + + +
    uint8_t partial_aad[AES_DATA_SIZE]
    +
    + +

    Partial blocks of data waiting to be processed.

    + +
    +
    + +

    ◆ partial_aad_size

    + +
    +
    + + + + +
    uint32_t partial_aad_size
    +
    + +

    Amount of data in the partial block buffer.

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    uint8_t y[AES_DATA_SIZE]
    +
    + +

    Current GHASH output.

    + +
    +
    +
    +
    + + + + diff --git a/docs/html/a01002.js b/docs/html/a01002.js new file mode 100644 index 000000000..cb6db2ba9 --- /dev/null +++ b/docs/html/a01002.js @@ -0,0 +1,15 @@ +var a01002 = +[ + [ "aad_size", "a01002.html#a54771a0ca82f1089cc420f3fc1ef7f79", null ], + [ "cb", "a01002.html#a5af729786916ea6a413d85fb8bba87f1", null ], + [ "ciphertext_block", "a01002.html#aa63a85c57bd002717a92339b122ada8d", null ], + [ "data_size", "a01002.html#ab670c6c21aced4765ecd6b29283f22b0", null ], + [ "enc_cb", "a01002.html#a021e62aff4a11dd8a3d2dcc9f39b961a", null ], + [ "h", "a01002.html#aabae58f8680f6b319b78afa08d7a29d1", null ], + [ "j0", "a01002.html#adf8d225c61055fd7e514ede2b7d9af91", null ], + [ "key_block", "a01002.html#a2ec310210422989027a46428a61fb1c1", null ], + [ "key_id", "a01002.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "partial_aad", "a01002.html#ac2b7024847bacd5b8ccc5e2c910e8ee2", null ], + [ "partial_aad_size", "a01002.html#ad5160410fcca9e4ab8e9b2479bbd8110", null ], + [ "y", "a01002.html#a9c1e7c3354912a5ef370b17e583c48f7", null ] +]; \ No newline at end of file diff --git a/docs/html/a03627.html b/docs/html/a01006.html similarity index 94% rename from docs/html/a03627.html rename to docs/html/a01006.html index fba9b8cda..ecd29c77d 100644 --- a/docs/html/a03627.html +++ b/docs/html/a01006.html @@ -67,7 +67,7 @@

@@ -95,13 +95,13 @@ - + - + - +

Data Fields

uint32_t total_msg_size
uint32_t total_msg_size
 Total number of message bytes processed. More...
 
uint32_t block_size
uint32_t block_size
 Number of bytes in current block. More...
 
uint8_t block [ATCA_SHA256_BLOCK_SIZE *2]
uint8_t block [ATCA_SHA256_BLOCK_SIZE *2]
 Unprocessed message storage. More...
 
@@ -113,7 +113,7 @@

- +
uint8_t block[ATCA_SHA256_BLOCK_SIZE *2]uint8_t block[ATCA_SHA256_BLOCK_SIZE *2]

@@ -159,7 +159,7 @@

    - + diff --git a/docs/html/a01006.js b/docs/html/a01006.js new file mode 100644 index 000000000..d6bb2994c --- /dev/null +++ b/docs/html/a01006.js @@ -0,0 +1,6 @@ +var a01006 = +[ + [ "block", "a01006.html#a407f9109b29f2f3a4c9f7d1de450ad41", null ], + [ "block_size", "a01006.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "total_msg_size", "a01006.html#a8ee7e642376903508dd6b4df9eacc2de", null ] +]; \ No newline at end of file diff --git a/docs/html/a03631.html b/docs/html/a01010.html similarity index 94% rename from docs/html/a03631.html rename to docs/html/a01010.html index d3d704e2d..fee370097 100644 --- a/docs/html/a03631.html +++ b/docs/html/a01010.html @@ -67,7 +67,7 @@

@@ -89,15 +89,15 @@
-
atcac_sha1_ctx Struct Reference
+
atcac_sha1_ctx Struct Reference
-

#include <atca_crypto_sw_sha1.h>

+

#include <atca_crypto_sw_sha1.h>

- +

Data Fields

uint32_t pad [32]
uint32_t pad [32]
 Filler value to make sure the actual implementation has enough room to store its context. uint32_t is used to remove some alignment warnings. More...
 
@@ -123,7 +123,7 @@

    - + diff --git a/docs/html/a01010.js b/docs/html/a01010.js new file mode 100644 index 000000000..ddf9fede2 --- /dev/null +++ b/docs/html/a01010.js @@ -0,0 +1,4 @@ +var a01010 = +[ + [ "pad", "a01010.html#a06a3e722d630d33450465af7c41fa708", null ] +]; \ No newline at end of file diff --git a/docs/html/a03635.html b/docs/html/a01014.html similarity index 94% rename from docs/html/a03635.html rename to docs/html/a01014.html index 65b04b525..e7571c0bb 100644 --- a/docs/html/a03635.html +++ b/docs/html/a01014.html @@ -67,7 +67,7 @@

@@ -89,15 +89,15 @@
-
atcac_sha2_256_ctx Struct Reference
+
atcac_sha2_256_ctx Struct Reference
-

#include <atca_crypto_sw_sha2.h>

+

#include <atca_crypto_sw_sha2.h>

- +

Data Fields

uint32_t pad [48]
uint32_t pad [48]
 Filler value to make sure the actual implementation has enough room to store its context. uint32_t is used to remove some alignment warnings. More...
 
@@ -123,7 +123,7 @@

    - + diff --git a/docs/html/a01014.js b/docs/html/a01014.js new file mode 100644 index 000000000..db28ab6ab --- /dev/null +++ b/docs/html/a01014.js @@ -0,0 +1,4 @@ +var a01014 = +[ + [ "pad", "a01014.html#a517ae98c637466c44dc7e26a3abccf02", null ] +]; \ No newline at end of file diff --git a/docs/html/a03639.html b/docs/html/a01018.html similarity index 84% rename from docs/html/a03639.html rename to docs/html/a01018.html index 06275cf53..f06f82860 100644 --- a/docs/html/a03639.html +++ b/docs/html/a01018.html @@ -67,7 +67,7 @@

@@ -93,17 +93,17 @@
-

#include <sha1_routines.h>

+

#include <sha1_routines.h>

- + - + - + - +

Data Fields

U32 h [20/4]
U32 h [20/4]
 
U32 buf [64/4]
U32 buf [64/4]
 
U32 byteCount
U32 byteCount
 
U32 byteCountHi
U32 byteCountHi
 

Field Documentation

@@ -114,7 +114,7 @@

- +
U32 buf[64/4]U32 buf[64/4]

@@ -168,7 +168,7 @@

    - + diff --git a/docs/html/a01018.js b/docs/html/a01018.js new file mode 100644 index 000000000..570d5b349 --- /dev/null +++ b/docs/html/a01018.js @@ -0,0 +1,7 @@ +var a01018 = +[ + [ "buf", "a01018.html#afa9986c74d11cc23893e2de2a505cafe", null ], + [ "byteCount", "a01018.html#a7dd834dde7d653957f91657aca4eb124", null ], + [ "byteCountHi", "a01018.html#a4f18b15c445fd0f55a0bf182e173d563", null ], + [ "h", "a01018.html#a015ca0a234558a1a0dbfc1e92f547ac0", null ] +]; \ No newline at end of file diff --git a/docs/html/a03643.html b/docs/html/a01022.html similarity index 93% rename from docs/html/a03643.html rename to docs/html/a01022.html index 8fafde463..9eff84287 100644 --- a/docs/html/a03643.html +++ b/docs/html/a01022.html @@ -67,7 +67,7 @@

@@ -93,20 +93,20 @@
-

#include <sha2_routines.h>

+

#include <sha2_routines.h>

- + - + - + - +

Data Fields

uint32_t total_msg_size
uint32_t total_msg_size
 Total number of message bytes processed. More...
 
uint32_t block_size
uint32_t block_size
 Number of bytes in current block. More...
 
uint8_t block [SHA256_BLOCK_SIZE *2]
uint8_t block [SHA256_BLOCK_SIZE *2]
 Unprocessed message storage. More...
 
uint32_t hash [8]
uint32_t hash [8]
 Hash state. More...
 
@@ -118,7 +118,7 @@

- +
uint8_t block[SHA256_BLOCK_SIZE *2]uint8_t block[SHA256_BLOCK_SIZE *2]

@@ -180,7 +180,7 @@

    - + diff --git a/docs/html/a01022.js b/docs/html/a01022.js new file mode 100644 index 000000000..7793bf876 --- /dev/null +++ b/docs/html/a01022.js @@ -0,0 +1,7 @@ +var a01022 = +[ + [ "block", "a01022.html#a0559c245b725b5b78057620e9677211e", null ], + [ "block_size", "a01022.html#a9e3fb1e50a1c71b2337df296222d9553", null ], + [ "hash", "a01022.html#a135f34ef1efee1401582f12744220dbb", null ], + [ "total_msg_size", "a01022.html#a8ee7e642376903508dd6b4df9eacc2de", null ] +]; \ No newline at end of file diff --git a/docs/html/a03647.html b/docs/html/a01026.html similarity index 80% rename from docs/html/a03647.html rename to docs/html/a01026.html index d8758545f..e7f536c47 100644 --- a/docs/html/a03647.html +++ b/docs/html/a01026.html @@ -67,7 +67,7 @@

@@ -89,34 +89,34 @@
-
ATCAHAL_t Struct Reference
+
ATCAHAL_t Struct Reference

an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. - More...

+ More...

-

#include <atca_hal.h>

+

#include <atca_hal.h>

- + - + - + - + - + - + - + - + - +

Data Fields

ATCA_STATUS(* halinit )(void *hal, ATCAIfaceCfg *cfg)
ATCA_STATUS(* halinit )(void *hal, ATCAIfaceCfg *cfg)
 
ATCA_STATUS(* halpostinit )(ATCAIface iface)
ATCA_STATUS(* halpostinit )(ATCAIface iface)
 
ATCA_STATUS(* halsend )(ATCAIface iface, uint8_t *txdata, int txlength)
ATCA_STATUS(* halsend )(ATCAIface iface, uint8_t *txdata, int txlength)
 
ATCA_STATUS(* halreceive )(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
ATCA_STATUS(* halreceive )(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 
ATCA_STATUS(* halwake )(ATCAIface iface)
ATCA_STATUS(* halwake )(ATCAIface iface)
 
ATCA_STATUS(* halidle )(ATCAIface iface)
ATCA_STATUS(* halidle )(ATCAIface iface)
 
ATCA_STATUS(* halsleep )(ATCAIface iface)
ATCA_STATUS(* halsleep )(ATCAIface iface)
 
ATCA_STATUS(* halrelease )(void *hal_data)
ATCA_STATUS(* halrelease )(void *hal_data)
 
void * hal_data
void * hal_data
 

Detailed Description

@@ -143,7 +143,7 @@

- +
ATCA_STATUS(* halidle) (ATCAIface iface)ATCA_STATUS(* halidle) (ATCAIface iface)

@@ -253,7 +253,7 @@

    - + diff --git a/docs/html/a01026.js b/docs/html/a01026.js new file mode 100644 index 000000000..80a288afd --- /dev/null +++ b/docs/html/a01026.js @@ -0,0 +1,12 @@ +var a01026 = +[ + [ "hal_data", "a01026.html#ad33508455720b78cc0fc880cb3f9885e", null ], + [ "halidle", "a01026.html#a3939b643c7f807fc8fe8abcf18e99196", null ], + [ "halinit", "a01026.html#aa020e68c9d18f83f205981fa57107b3c", null ], + [ "halpostinit", "a01026.html#af174424ba7b2d19a74c72f8b4198c26b", null ], + [ "halreceive", "a01026.html#af95136769fcc864880463d4dcab0c11c", null ], + [ "halrelease", "a01026.html#a5eb439f0ede23956fde8cd72f41b85ba", null ], + [ "halsend", "a01026.html#a6fb3aee6375216c53ef1e5a9df01e074", null ], + [ "halsleep", "a01026.html#ad2f432748c4d8efe98ec42d5cd1552b5", null ], + [ "halwake", "a01026.html#a033c21278fef7771916378cbcf726ae6", null ] +]; \ No newline at end of file diff --git a/docs/html/a03651.html b/docs/html/a01030.html similarity index 86% rename from docs/html/a03651.html rename to docs/html/a01030.html index f838eb470..ceea4972e 100644 --- a/docs/html/a03651.html +++ b/docs/html/a01030.html @@ -67,7 +67,7 @@

@@ -89,19 +89,19 @@
-
atcahid Struct Reference
+
atcahid Struct Reference
@@ -152,7 +152,7 @@

    - + diff --git a/docs/html/a01030.js b/docs/html/a01030.js new file mode 100644 index 000000000..9aa12e2d5 --- /dev/null +++ b/docs/html/a01030.js @@ -0,0 +1,6 @@ +var a01030 = +[ + [ "kits", "a01030.html#a20e678da3f77a9aabd9cb97d5340e502", null ], + [ "kits", "a01030.html#aa09aaf9e2fbb91f0cef6b473135d4628", null ], + [ "num_kits_found", "a01030.html#a9bb0ee74044865538adfcc5d5ae8f621", null ] +]; \ No newline at end of file diff --git a/docs/html/a03655.html b/docs/html/a01034.html similarity index 91% rename from docs/html/a03655.html rename to docs/html/a01034.html index 3581c490c..1a17e88cc 100644 --- a/docs/html/a03655.html +++ b/docs/html/a01034.html @@ -67,7 +67,7 @@

@@ -89,57 +89,57 @@
-
atcaI2Cmaster Struct Reference
+
atcaI2Cmaster Struct Reference

this is the hal_data for ATCA HAL created using ASF - More...

+ More...

-

#include <hal_at90usb1287_i2c_asf.h>

+

#include <hal_at90usb1287_i2c_asf.h>

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

Data Fields

volatile void * i2c_master_instance
volatile void * i2c_master_instance
 
int ref_ct
int ref_ct
 
int bus_index
int bus_index
 for conveniences during interface release phase More...
 
int id
int id
 
uint32_t pin_sda
uint32_t pin_sda
 
uint32_t pin_scl
uint32_t pin_scl
 
struct i2c_m_sync_desc i2c_master_instance
struct i2c_m_sync_desc i2c_master_instance
 
uint32_t sercom_core_freq
uint32_t sercom_core_freq
 
char i2c_file [16]
char i2c_file [16]
 
I2C_MODULE id
I2C_MODULE id
 
uint32_t twi_id
uint32_t twi_id
 
Twi * twi_master_instance
Twi * twi_master_instance
 
I2C * i2c_sercom
I2C * i2c_sercom
 
struct i2c_master_module i2c_master_instance
struct i2c_master_module i2c_master_instance
 
Sercom * i2c_sercom
Sercom * i2c_sercom
 
Flexcom * twi_flexcom
Flexcom * twi_flexcom
 
uint32_t twi_flexcom_id
uint32_t twi_flexcom_id
 
uint8_t twi_id
uint8_t twi_id
 
Twihs * twi_module
Twihs * twi_module
 
twi_master_t i2c_master_instance
twi_master_t i2c_master_instance
 

Detailed Description

@@ -437,7 +437,7 @@

    - + diff --git a/docs/html/a01034.js b/docs/html/a01034.js new file mode 100644 index 000000000..8857c8f15 --- /dev/null +++ b/docs/html/a01034.js @@ -0,0 +1,23 @@ +var a01034 = +[ + [ "bus_index", "a01034.html#af5c011e6c2e8d49675f7029e8ec2c0a6", null ], + [ "i2c_file", "a01034.html#a386ecc3f01d8b317bc512cab194d844f", null ], + [ "i2c_master_instance", "a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593", null ], + [ "i2c_master_instance", "a01034.html#ad60966bca127551f6271719dd9921045", null ], + [ "i2c_master_instance", "a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593", null ], + [ "i2c_master_instance", "a01034.html#a335b4a621ab538c5a42160a5a14c161f", null ], + [ "i2c_sercom", "a01034.html#af47d648cf53d85c997e715a25fea0372", null ], + [ "i2c_sercom", "a01034.html#a0d97fa67bd4aa20fd2835fa5c8076061", null ], + [ "id", "a01034.html#a7441ef0865bcb3db9b8064dd7375c1ea", null ], + [ "id", "a01034.html#a10c34d148db33a5f64c3730a163fb7a7", null ], + [ "pin_scl", "a01034.html#a01c1392fd38975adfd6c1c7849b3fa50", null ], + [ "pin_sda", "a01034.html#ada591700ce06dd3a6bb9722a6eba38c4", null ], + [ "ref_ct", "a01034.html#ad72ba8c994f4d0e5ce354e17f7c427c0", null ], + [ "sercom_core_freq", "a01034.html#ab04a0cec69f9a7ed47f3f9cb46084e59", null ], + [ "twi_flexcom", "a01034.html#ac6e800fa8a525e2ac445410a75fe33c5", null ], + [ "twi_flexcom_id", "a01034.html#a8085a25dc89b0a426c762333eb109e38", null ], + [ "twi_id", "a01034.html#a3592aa831cd642b3e53af87537944d5a", null ], + [ "twi_id", "a01034.html#a0fafe5e32d17ee114246e3ccac81ee9f", null ], + [ "twi_master_instance", "a01034.html#ad9f68faa090564cdbe2d7217be324f16", null ], + [ "twi_module", "a01034.html#ac6dd6d226983fb851700119ca6ba3023", null ] +]; \ No newline at end of file diff --git a/docs/html/a03659.html b/docs/html/a01038.html similarity index 88% rename from docs/html/a03659.html rename to docs/html/a01038.html index 04ad66dc3..67c73d6e4 100644 --- a/docs/html/a03659.html +++ b/docs/html/a01038.html @@ -67,7 +67,7 @@

@@ -89,17 +89,17 @@
-
cdc_device Struct Reference
+
cdc_device Struct Reference
@@ -139,7 +139,7 @@

    - + diff --git a/docs/html/a01038.js b/docs/html/a01038.js new file mode 100644 index 000000000..bda1ad84a --- /dev/null +++ b/docs/html/a01038.js @@ -0,0 +1,5 @@ +var a01038 = +[ + [ "read_handle", "a01038.html#a79525e0d472c02e26e7c4aa4a780c1d9", null ], + [ "write_handle", "a01038.html#af11a0103eb96a026ea6782bfcad7548e", null ] +]; \ No newline at end of file diff --git a/docs/html/a03663.html b/docs/html/a01042.html similarity index 89% rename from docs/html/a03663.html rename to docs/html/a01042.html index c578e69ee..51bd079b0 100644 --- a/docs/html/a03663.html +++ b/docs/html/a01042.html @@ -67,7 +67,7 @@

@@ -89,17 +89,17 @@
-
atcacdc Struct Reference
+
atcacdc Struct Reference
@@ -136,7 +136,7 @@

    - + diff --git a/docs/html/a01042.js b/docs/html/a01042.js new file mode 100644 index 000000000..ea4fae7d4 --- /dev/null +++ b/docs/html/a01042.js @@ -0,0 +1,5 @@ +var a01042 = +[ + [ "kits", "a01042.html#a90743aa58e9f430c381d56eb373edef4", null ], + [ "num_kits_found", "a01042.html#a9bb0ee74044865538adfcc5d5ae8f621", null ] +]; \ No newline at end of file diff --git a/docs/html/a03667.html b/docs/html/a01046.html similarity index 89% rename from docs/html/a03667.html rename to docs/html/a01046.html index 5bd10a08f..ff886da36 100644 --- a/docs/html/a03667.html +++ b/docs/html/a01046.html @@ -67,7 +67,7 @@

@@ -89,22 +89,22 @@
-
hid_device Struct Reference
+
hid_device Struct Reference
-

#include <hal_linux_kit_hid.h>

+

#include <hal_linux_kit_hid.h>

- + - + - + - +

Data Fields

FILE * read_handle
FILE * read_handle
 
FILE * write_handle
FILE * write_handle
 The kit USB read file handle. More...
 
HANDLE read_handle
HANDLE read_handle
 
HANDLE write_handle
HANDLE write_handle
 The kit USB read file handle. More...
 
@@ -130,7 +130,7 @@

- +
HANDLE read_handleHANDLE read_handle

@@ -174,7 +174,7 @@

    - + diff --git a/docs/html/a01046.js b/docs/html/a01046.js new file mode 100644 index 000000000..d67b2bfc0 --- /dev/null +++ b/docs/html/a01046.js @@ -0,0 +1,7 @@ +var a01046 = +[ + [ "read_handle", "a01046.html#a72bac4e370ad82aef68188c521d2020d", null ], + [ "read_handle", "a01046.html#a79525e0d472c02e26e7c4aa4a780c1d9", null ], + [ "write_handle", "a01046.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0", null ], + [ "write_handle", "a01046.html#af11a0103eb96a026ea6782bfcad7548e", null ] +]; \ No newline at end of file diff --git a/docs/html/a03671.html b/docs/html/a01050.html similarity index 93% rename from docs/html/a03671.html rename to docs/html/a01050.html index a620797c0..feeffbd81 100644 --- a/docs/html/a03671.html +++ b/docs/html/a01050.html @@ -67,7 +67,7 @@

@@ -89,19 +89,19 @@
-
DRV_I2C_Object Struct Reference
+
DRV_I2C_Object Struct Reference
-

#include <hal_pic32mz2048efm_i2c.h>

+

#include <hal_pic32mz2048efm_i2c.h>

- + - + - +

Data Fields

volatile uintptr_t i2cDriverInstance
volatile uintptr_t i2cDriverInstance
 
uint32_t i2cDriverInstanceIndex
uint32_t i2cDriverInstanceIndex
 
void * i2cDriverInit
void * i2cDriverInit
 

Field Documentation

@@ -152,7 +152,7 @@

    - + diff --git a/docs/html/a01050.js b/docs/html/a01050.js new file mode 100644 index 000000000..e3b916e19 --- /dev/null +++ b/docs/html/a01050.js @@ -0,0 +1,6 @@ +var a01050 = +[ + [ "i2cDriverInit", "a01050.html#ae40d3e07534bf6cb2e78c329983048c7", null ], + [ "i2cDriverInstance", "a01050.html#af8b2d2e531312c0b6adda321a50fabc7", null ], + [ "i2cDriverInstanceIndex", "a01050.html#a61f012e6351d468a23da071e8ee588b6", null ] +]; \ No newline at end of file diff --git a/docs/html/a03675.html b/docs/html/a01054.html similarity index 92% rename from docs/html/a03675.html rename to docs/html/a01054.html index 40c2c8e49..1f401ecc5 100644 --- a/docs/html/a03675.html +++ b/docs/html/a01054.html @@ -67,7 +67,7 @@

@@ -89,31 +89,31 @@
-
atcaSWImaster Struct Reference
+
atcaSWImaster Struct Reference

This is the hal_data for ATCA HAL. - More...

+ More...

-

#include <hal_swi_bitbang.h>

+

#include <hal_swi_bitbang.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t pin_sda
uint8_t pin_sda
 
int ref_ct
int ref_ct
 
int bus_index
int bus_index
 for conveniences during interface release phase More...
 
usart_if usart_instance
usart_if usart_instance
 
struct usart_module usart_instance
struct usart_module usart_instance
 
struct usart_sync_descriptor USART_SWI
struct usart_sync_descriptor USART_SWI
 
uint32_t sercom_core_freq
uint32_t sercom_core_freq
 

Detailed Description

@@ -226,7 +226,7 @@

    - + diff --git a/docs/html/a01054.js b/docs/html/a01054.js new file mode 100644 index 000000000..1cfb41e9c --- /dev/null +++ b/docs/html/a01054.js @@ -0,0 +1,10 @@ +var a01054 = +[ + [ "bus_index", "a01054.html#af5c011e6c2e8d49675f7029e8ec2c0a6", null ], + [ "pin_sda", "a01054.html#afd6d53ef6b697533839248b40bc97861", null ], + [ "ref_ct", "a01054.html#ad72ba8c994f4d0e5ce354e17f7c427c0", null ], + [ "sercom_core_freq", "a01054.html#ab04a0cec69f9a7ed47f3f9cb46084e59", null ], + [ "usart_instance", "a01054.html#ad1dd3236df177255a91b568170b70a74", null ], + [ "usart_instance", "a01054.html#a2d29ab9b8f0842ee9a2906302b20011d", null ], + [ "USART_SWI", "a01054.html#a7758bb1b871f6094e6d2f0c2ce10b18c", null ] +]; \ No newline at end of file diff --git a/docs/html/a03679.html b/docs/html/a01058.html similarity index 90% rename from docs/html/a03679.html rename to docs/html/a01058.html index 90b529665..733c22959 100644 --- a/docs/html/a03679.html +++ b/docs/html/a01058.html @@ -67,7 +67,7 @@

@@ -93,13 +93,13 @@
@@ -136,7 +136,7 @@

    - + diff --git a/docs/html/a01058.js b/docs/html/a01058.js new file mode 100644 index 000000000..76c41e344 --- /dev/null +++ b/docs/html/a01058.js @@ -0,0 +1,5 @@ +var a01058 = +[ + [ "pin_scl", "a01058.html#acddd0c9305a0f679828010052db4f184", null ], + [ "pin_sda", "a01058.html#a396018ddf66ce0e1263ed2b4729dc9b9", null ] +]; \ No newline at end of file diff --git a/docs/html/a03683.html b/docs/html/a01062.html similarity index 92% rename from docs/html/a03683.html rename to docs/html/a01062.html index adab882c1..bcbe5f8b2 100644 --- a/docs/html/a03683.html +++ b/docs/html/a01062.html @@ -67,7 +67,7 @@

@@ -93,11 +93,11 @@
@@ -120,7 +120,7 @@

    - + diff --git a/docs/html/a01062.js b/docs/html/a01062.js new file mode 100644 index 000000000..6efd184aa --- /dev/null +++ b/docs/html/a01062.js @@ -0,0 +1,4 @@ +var a01062 = +[ + [ "pin_sda", "a01062.html#a7d0970077e95bd9d8ed8aac6b3e115ee", null ] +]; \ No newline at end of file diff --git a/docs/html/a03687.html b/docs/html/a01066.html similarity index 93% rename from docs/html/a03687.html rename to docs/html/a01066.html index 5d6b7ae7d..193de52c7 100644 --- a/docs/html/a03687.html +++ b/docs/html/a01066.html @@ -67,7 +67,7 @@

@@ -89,39 +89,39 @@
-
atca_temp_key Struct Reference
+
atca_temp_key Struct Reference

Structure to hold TempKey fields. - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - + - +

Data Fields

uint8_t value [ATCA_KEY_SIZE *2]
uint8_t value [ATCA_KEY_SIZE *2]
 Value of TempKey (64 bytes for ATECC608A only) More...
 
unsigned key_id: 4
unsigned key_id: 4
 If TempKey was derived from a slot or transport key (GenDig or GenKey), that key ID is saved here. More...
 
unsigned source_flag: 1
unsigned source_flag: 1
 Indicates id TempKey started from a random nonce (0) or not (1). More...
 
unsigned gen_dig_data: 1
unsigned gen_dig_data: 1
 TempKey was derived from the GenDig command. More...
 
unsigned gen_key_data: 1
unsigned gen_key_data: 1
 TempKey was derived from the GenKey command (ATECC devices only). More...
 
unsigned no_mac_flag: 1
unsigned no_mac_flag: 1
 TempKey was derived from a key that has the NoMac bit set preventing the use of the MAC command. Known as CheckFlag in ATSHA devices). More...
 
unsigned valid: 1
unsigned valid: 1
 TempKey is valid. More...
 
uint8_t is_64
uint8_t is_64
 TempKey has 64 bytes of valid data. More...
 
@@ -247,7 +247,7 @@

- +
uint8_t value[ATCA_KEY_SIZE *2]uint8_t value[ATCA_KEY_SIZE *2]

@@ -261,7 +261,7 @@

    - + diff --git a/docs/html/a01066.js b/docs/html/a01066.js new file mode 100644 index 000000000..d73fccf6c --- /dev/null +++ b/docs/html/a01066.js @@ -0,0 +1,11 @@ +var a01066 = +[ + [ "gen_dig_data", "a01066.html#a0ea476753a7de128cb33adb56e0692c6", null ], + [ "gen_key_data", "a01066.html#a1f0f70b7f0590654fde170e1e392b4f7", null ], + [ "is_64", "a01066.html#a3f6d684924e3635e6e57441b66b98978", null ], + [ "key_id", "a01066.html#ae687014ee9436f24d700229432e7edfd", null ], + [ "no_mac_flag", "a01066.html#a7e432dd218a88686e01e0c43cda30d2b", null ], + [ "source_flag", "a01066.html#a2ffc3c1a03eda290c709dc78b7e8b51e", null ], + [ "valid", "a01066.html#a6b455a7e89f8a891cd7e3b66d1b17b67", null ], + [ "value", "a01066.html#a9d39af90116e75f8805942afa953046f", null ] +]; \ No newline at end of file diff --git a/docs/html/a03691.html b/docs/html/a01070.html similarity index 89% rename from docs/html/a03691.html rename to docs/html/a01070.html index 3b95394a2..a67035154 100644 --- a/docs/html/a03691.html +++ b/docs/html/a01070.html @@ -67,7 +67,7 @@

@@ -89,27 +89,27 @@
-
atca_include_data_in_out Struct Reference
+
atca_include_data_in_out Struct Reference

Input / output parameters for function atca_include_data(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + + - - + + - +

Data Fields

uint8_t * p_temp
 [out] pointer to output buffer More...
uint8_t * p_temp
 [out] pointer to output buffer More...
 
const uint8_t * otp
 [in] pointer to one-time-programming data More...
const uint8_t * otp
 [in] pointer to one-time-programming data More...
 
const uint8_t * sn
 [in] pointer to serial number data More...
const uint8_t * sn
 [in] pointer to serial number data More...
 
uint8_t mode
uint8_t mode
 

Detailed Description

@@ -134,7 +134,7 @@

    - + diff --git a/docs/html/a01070.js b/docs/html/a01070.js new file mode 100644 index 000000000..154a85b22 --- /dev/null +++ b/docs/html/a01070.js @@ -0,0 +1,7 @@ +var a01070 = +[ + [ "mode", "a01070.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "otp", "a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e", null ], + [ "p_temp", "a00913.html#gad87f95f0faf0c6fdfe94040efcb14860", null ], + [ "sn", "a00913.html#ga7276bd20c5842e712da638d25ceb6d92", null ] +]; \ No newline at end of file diff --git a/docs/html/a03695.html b/docs/html/a01074.html similarity index 87% rename from docs/html/a03695.html rename to docs/html/a01074.html index a62775911..834ea63c2 100644 --- a/docs/html/a03695.html +++ b/docs/html/a01074.html @@ -67,7 +67,7 @@

@@ -89,31 +89,31 @@
-
atca_nonce_in_out Struct Reference
+
atca_nonce_in_out Struct Reference

Input/output parameters for function atca_nonce(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + + - - + + - - + + - - + +

Data Fields

uint8_t mode
 [in] Mode parameter used in Nonce command (Param1). More...
uint8_t mode
 [in] Mode parameter used in Nonce command (Param1). More...
 
uint16_t zero
 [in] Zero parameter used in Nonce command (Param2). More...
uint16_t zero
 [in] Zero parameter used in Nonce command (Param2). More...
 
const uint8_t * num_in
 [in] Pointer to 20-byte NumIn data used in Nonce command. More...
const uint8_t * num_in
 [in] Pointer to 20-byte NumIn data used in Nonce command. More...
 
const uint8_t * rand_out
 [in] Pointer to 32-byte RandOut data from Nonce command. More...
const uint8_t * rand_out
 [in] Pointer to 32-byte RandOut data from Nonce command. More...
 
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 

Detailed Description

@@ -123,7 +123,7 @@
@@ -89,24 +89,24 @@
-
atca_io_decrypt_in_out Struct Reference
+
atca_io_decrypt_in_out Struct Reference
-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - +

Data Fields

const uint8_t * io_key
const uint8_t * io_key
 IO protection key (32 bytes). More...
 
const uint8_t * out_nonce
const uint8_t * out_nonce
 OutNonce returned from command (32 bytes). More...
 
uint8_t * data
uint8_t * data
 As input, encrypted data. As output, decrypted data. More...
 
size_t data_size
size_t data_size
 Size of data in bytes (32 or 64). More...
 
@@ -180,7 +180,7 @@

    - + diff --git a/docs/html/a01078.js b/docs/html/a01078.js new file mode 100644 index 000000000..bfa7ccfa7 --- /dev/null +++ b/docs/html/a01078.js @@ -0,0 +1,7 @@ +var a01078 = +[ + [ "data", "a01078.html#abe222f6d3581e7920dcad5306cc906a8", null ], + [ "data_size", "a01078.html#ad6bc120bffc64dfc5230863a8ba96596", null ], + [ "io_key", "a01078.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "out_nonce", "a01078.html#a70a057043fcc9f4dc22455f6df43d710", null ] +]; \ No newline at end of file diff --git a/docs/html/a03703.html b/docs/html/a01082.html similarity index 93% rename from docs/html/a03703.html rename to docs/html/a01082.html index 75a78bf12..e1742435d 100644 --- a/docs/html/a03703.html +++ b/docs/html/a01082.html @@ -67,7 +67,7 @@

@@ -89,39 +89,39 @@
-
atca_verify_mac Struct Reference
+
atca_verify_mac Struct Reference
-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 Mode (Param1) parameter used in Verify command. More...
 
uint16_t key_id
uint16_t key_id
 KeyID (Param2) used in Verify command. More...
 
const uint8_t * signature
const uint8_t * signature
 Signature used in Verify command (64 bytes). More...
 
const uint8_t * other_data
const uint8_t * other_data
 OtherData used in Verify command (19 bytes). More...
 
const uint8_t * msg_dig_buf
const uint8_t * msg_dig_buf
 Message digest buffer (64 bytes). More...
 
const uint8_t * io_key
const uint8_t * io_key
 IO protection key value (32 bytes). More...
 
const uint8_t * sn
const uint8_t * sn
 Serial number (9 bytes). More...
 
const atca_temp_key_ttemp_key
const atca_temp_key_ttemp_key
 TempKey. More...
 
uint8_t * mac
uint8_t * mac
 Calculated verification MAC is returned here (32 bytes). More...
 
@@ -261,7 +261,7 @@

- +
const atca_temp_key_t* temp_keyconst atca_temp_key_t* temp_key

@@ -275,7 +275,7 @@

    - + diff --git a/docs/html/a01082.js b/docs/html/a01082.js new file mode 100644 index 000000000..6b677810d --- /dev/null +++ b/docs/html/a01082.js @@ -0,0 +1,12 @@ +var a01082 = +[ + [ "io_key", "a01082.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "key_id", "a01082.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mac", "a01082.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01082.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "msg_dig_buf", "a01082.html#abb42a6a187e06500b79b8bdbf097ef1c", null ], + [ "other_data", "a01082.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "signature", "a01082.html#a35388d4dff80916a7409fd0554ac58b6", null ], + [ "sn", "a01082.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01082.html#a7a67318a2d1cde0794d2d1ae152c93cf", null ] +]; \ No newline at end of file diff --git a/docs/html/a03707.html b/docs/html/a01086.html similarity index 93% rename from docs/html/a03707.html rename to docs/html/a01086.html index 14e75c599..3063e916e 100644 --- a/docs/html/a03707.html +++ b/docs/html/a01086.html @@ -67,7 +67,7 @@

@@ -89,27 +89,27 @@
-
atca_secureboot_enc_in_out Struct Reference
+
atca_secureboot_enc_in_out Struct Reference
-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - +

Data Fields

const uint8_t * io_key
const uint8_t * io_key
 IO protection key value (32 bytes) More...
 
const struct atca_temp_keytemp_key
const struct atca_temp_keytemp_key
 Current value of TempKey. More...
 
const uint8_t * digest
const uint8_t * digest
 Plaintext digest as input. More...
 
uint8_t * hashed_key
uint8_t * hashed_key
 Calculated key is returned here (32 bytes) More...
 
uint8_t * digest_enc
uint8_t * digest_enc
 Encrypted (ciphertext) digest is return here (32 bytes) More...
 
@@ -185,7 +185,7 @@

- +
const struct atca_temp_key* temp_keyconst struct atca_temp_key* temp_key

@@ -199,7 +199,7 @@

    - + diff --git a/docs/html/a01086.js b/docs/html/a01086.js new file mode 100644 index 000000000..4c34f5270 --- /dev/null +++ b/docs/html/a01086.js @@ -0,0 +1,8 @@ +var a01086 = +[ + [ "digest", "a01086.html#aff3a2b64b0d86058508f766de59438d1", null ], + [ "digest_enc", "a01086.html#aa9a9b371e24a757dba2cf1f87d03b31e", null ], + [ "hashed_key", "a01086.html#a4e3f2b3f58d04cbc9d85d936b039170e", null ], + [ "io_key", "a01086.html#a130c5ab3a3f978b77641faa7813aa5d2", null ], + [ "temp_key", "a01086.html#a714b07e0515fd9d20714a4fc2a16c03e", null ] +]; \ No newline at end of file diff --git a/docs/html/a03711.html b/docs/html/a01090.html similarity index 93% rename from docs/html/a03711.html rename to docs/html/a01090.html index 9489c3fc1..cbb629b65 100644 --- a/docs/html/a03711.html +++ b/docs/html/a01090.html @@ -67,7 +67,7 @@

@@ -89,33 +89,33 @@
-
atca_secureboot_mac_in_out Struct Reference
+
atca_secureboot_mac_in_out Struct Reference
-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 SecureBoot mode (param1) More...
 
uint16_t param2
uint16_t param2
 SecureBoot param2. More...
 
uint16_t secure_boot_config
uint16_t secure_boot_config
 SecureBootConfig value from configuration zone. More...
 
const uint8_t * hashed_key
const uint8_t * hashed_key
 Hashed key. SHA256(IO Protection Key | TempKey) More...
 
const uint8_t * digest
const uint8_t * digest
 Digest (unencrypted) More...
 
const uint8_t * signature
const uint8_t * signature
 Signature (can be NULL if not required) More...
 
uint8_t * mac
uint8_t * mac
 MAC is returned here. More...
 
@@ -237,7 +237,7 @@

    - + diff --git a/docs/html/a01090.js b/docs/html/a01090.js new file mode 100644 index 000000000..6a45cec82 --- /dev/null +++ b/docs/html/a01090.js @@ -0,0 +1,10 @@ +var a01090 = +[ + [ "digest", "a01090.html#aff3a2b64b0d86058508f766de59438d1", null ], + [ "hashed_key", "a01090.html#a1f1ddb903087eec963d0faf82a3283a4", null ], + [ "mac", "a01090.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01090.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "param2", "a01090.html#a16a7565b150a9c17a39c80fc932b9514", null ], + [ "secure_boot_config", "a01090.html#a6abd57960eb27eecadcf1163a1441fb1", null ], + [ "signature", "a01090.html#a35388d4dff80916a7409fd0554ac58b6", null ] +]; \ No newline at end of file diff --git a/docs/html/a03715.html b/docs/html/a01094.html similarity index 85% rename from docs/html/a03715.html rename to docs/html/a01094.html index 20a001554..50a3a2ac7 100644 --- a/docs/html/a03715.html +++ b/docs/html/a01094.html @@ -67,7 +67,7 @@

@@ -89,40 +89,40 @@
-
atca_mac_in_out Struct Reference
+
atca_mac_in_out Struct Reference

Input/output parameters for function atca_mac(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

Data Fields

uint8_t mode
 [in] Mode parameter used in MAC command (Param1). More...
uint8_t mode
 [in] Mode parameter used in MAC command (Param1). More...
 
uint16_t key_id
 [in] KeyID parameter used in MAC command (Param2). More...
uint16_t key_id
 [in] KeyID parameter used in MAC command (Param2). More...
 
const uint8_t * challenge
 [in] Pointer to 32-byte Challenge data used in MAC command, depending on mode. More...
const uint8_t * challenge
 [in] Pointer to 32-byte Challenge data used in MAC command, depending on mode. More...
 
const uint8_t * key
 [in] Pointer to 32-byte key used to generate MAC digest. More...
const uint8_t * key
 [in] Pointer to 32-byte key used to generate MAC digest. More...
 
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in MAC digest, depending on mode. More...
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in MAC digest, depending on mode. More...
 
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in MAC digest, depending on mode. More...
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in MAC digest, depending on mode. More...
 
uint8_t * response
 [out] Pointer to 32-byte SHA-256 digest (MAC). More...
uint8_t * response
 [out] Pointer to 32-byte SHA-256 digest (MAC). More...
 
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 

Detailed Description

@@ -132,7 +132,7 @@
@@ -89,37 +89,37 @@
-
atca_hmac_in_out Struct Reference
+
atca_hmac_in_out Struct Reference

Input/output parameters for function atca_hmac(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + + - - + + - - + + - - + + - - + + - - + +

Data Fields

uint8_t mode
 [in] Mode parameter used in HMAC command (Param1). More...
uint8_t mode
 [in] Mode parameter used in HMAC command (Param1). More...
 
uint16_t key_id
 [in] KeyID parameter used in HMAC command (Param2). More...
uint16_t key_id
 [in] KeyID parameter used in HMAC command (Param2). More...
 
const uint8_t * key
 [in] Pointer to 32-byte key used to generate HMAC digest. More...
const uint8_t * key
 [in] Pointer to 32-byte key used to generate HMAC digest. More...
 
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in HMAC digest, depending on mode. More...
const uint8_t * otp
 [in] Pointer to 11-byte OTP, optionally included in HMAC digest, depending on mode. More...
 
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in HMAC digest, depending on mode. More...
const uint8_t * sn
 [in] Pointer to 9-byte SN, optionally included in HMAC digest, depending on mode. More...
 
uint8_t * response
 [out] Pointer to 32-byte SHA-256 HMAC digest. More...
uint8_t * response
 [out] Pointer to 32-byte SHA-256 HMAC digest. More...
 
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 

Detailed Description

@@ -129,7 +129,7 @@
@@ -89,41 +89,41 @@
-
atca_gen_dig_in_out Struct Reference
+
atca_gen_dig_in_out Struct Reference
-

Input/output parameters for function atcah_gen_dig(). - More...

+

Input/output parameters for function atcah_gen_dig(). + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t zone
uint8_t zone
 [in] Zone/Param1 for the GenDig command More...
 
uint16_t key_id
uint16_t key_id
 [in] KeyId/Param2 for the GenDig command More...
 
bool is_key_nomac
bool is_key_nomac
 [in] Set to true if the slot pointed to be key_id has the SotConfig.NoMac bit set More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though. More...
 
const uint8_t * stored_value
const uint8_t * stored_value
 [in] 32-byte slot value, config block, OTP block as specified by the Zone/KeyId parameters More...
 
const uint8_t * other_data
const uint8_t * other_data
 [in] 32-byte value for shared nonce zone, 4-byte value if is_key_nomac is true, ignored and/or NULL otherwise More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [inout] Current state of TempKey More...
 

Detailed Description

-

Input/output parameters for function atcah_gen_dig().

+

Input/output parameters for function atcah_gen_dig().

Field Documentation

◆ is_key_nomac

@@ -212,7 +212,7 @@

- +
struct atca_temp_key* temp_keystruct atca_temp_key* temp_key

@@ -242,7 +242,7 @@

    - + diff --git a/docs/html/a01102.js b/docs/html/a01102.js new file mode 100644 index 000000000..589ae3e73 --- /dev/null +++ b/docs/html/a01102.js @@ -0,0 +1,10 @@ +var a01102 = +[ + [ "is_key_nomac", "a01102.html#a6ab45b7847bf9d25cc2be99b11641e5f", null ], + [ "key_id", "a01102.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "other_data", "a01102.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "sn", "a01102.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "stored_value", "a01102.html#a7871fda0cd5698905bc3aa8fe8a99808", null ], + [ "temp_key", "a01102.html#a72fae3d62889ef224f09c57a7646e061", null ], + [ "zone", "a01102.html#ac746c3d65092170bfaf5b0d9950d8438", null ] +]; \ No newline at end of file diff --git a/docs/html/a03727.html b/docs/html/a01106.html similarity index 90% rename from docs/html/a03727.html rename to docs/html/a01106.html index de146dce7..40e60b31c 100644 --- a/docs/html/a03727.html +++ b/docs/html/a01106.html @@ -67,7 +67,7 @@

@@ -89,41 +89,41 @@
-
atca_write_mac_in_out Struct Reference
+
atca_write_mac_in_out Struct Reference
-

Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). - More...

+

Input/output parameters for function atcah_write_auth_mac() and atcah_privwrite_auth_mac(). + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t zone
uint8_t zone
 Zone/Param1 for the Write or PrivWrite command. More...
 
uint16_t key_id
uint16_t key_id
 KeyID/Param2 for the Write or PrivWrite command. More...
 
const uint8_t * sn
const uint8_t * sn
 Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though. More...
 
const uint8_t * input_data
const uint8_t * input_data
 Data to be encrypted. 32 bytes for Write command, 36 bytes for PrivWrite command. More...
 
uint8_t * encrypted_data
uint8_t * encrypted_data
 Encrypted version of input_data will be returned here. 32 bytes for Write command, 36 bytes for PrivWrite command. More...
 
uint8_t * auth_mac
uint8_t * auth_mac
 Write MAC will be returned here. 32 bytes. More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 Current state of TempKey. More...
 

Detailed Description

-
@@ -242,7 +242,7 @@

    - + diff --git a/docs/html/a01106.js b/docs/html/a01106.js new file mode 100644 index 000000000..576799893 --- /dev/null +++ b/docs/html/a01106.js @@ -0,0 +1,10 @@ +var a01106 = +[ + [ "auth_mac", "a01106.html#a9f11512564ff4aeaf5f9d0646d971ed2", null ], + [ "encrypted_data", "a01106.html#a8c2a094baeab96152cea462ba9677887", null ], + [ "input_data", "a01106.html#a699b6e4448b505a2664025ccca3522f5", null ], + [ "key_id", "a01106.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "sn", "a01106.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01106.html#a72fae3d62889ef224f09c57a7646e061", null ], + [ "zone", "a01106.html#ac746c3d65092170bfaf5b0d9950d8438", null ] +]; \ No newline at end of file diff --git a/docs/html/a03731.html b/docs/html/a01110.html similarity index 91% rename from docs/html/a03731.html rename to docs/html/a01110.html index cd9830d8d..d16d9c435 100644 --- a/docs/html/a03731.html +++ b/docs/html/a01110.html @@ -67,7 +67,7 @@

@@ -89,38 +89,38 @@
-
atca_derive_key_in_out Struct Reference
+
atca_derive_key_in_out Struct Reference
-

Input/output parameters for function atcah_derive_key(). - More...

+

Input/output parameters for function atcah_derive_key(). + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 Mode (param 1) of the derive key command. More...
 
uint16_t target_key_id
uint16_t target_key_id
 Key ID (param 2) of the target slot to run the command on. More...
 
const uint8_t * sn
const uint8_t * sn
 Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though. More...
 
const uint8_t * parent_key
const uint8_t * parent_key
 Parent key to be used in the derive key calculation (32 bytes). More...
 
uint8_t * target_key
uint8_t * target_key
 Derived key will be returned here (32 bytes). More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 Current state of TempKey. More...
 

Detailed Description

-

Input/output parameters for function atcah_derive_key().

+

Input/output parameters for function atcah_derive_key().

Field Documentation

◆ mode

@@ -209,7 +209,7 @@

- +
struct atca_temp_key* temp_keystruct atca_temp_key* temp_key

@@ -223,7 +223,7 @@

    - + diff --git a/docs/html/a01110.js b/docs/html/a01110.js new file mode 100644 index 000000000..269b1db82 --- /dev/null +++ b/docs/html/a01110.js @@ -0,0 +1,9 @@ +var a01110 = +[ + [ "mode", "a01110.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "parent_key", "a01110.html#a000599eef5677ed1279b025c42ae260e", null ], + [ "sn", "a01110.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key", "a01110.html#afca67d3e5d5a7c772262731cc08880b1", null ], + [ "target_key_id", "a01110.html#a41104a8c85cd12c0fde0d791c3276a48", null ], + [ "temp_key", "a01110.html#a72fae3d62889ef224f09c57a7646e061", null ] +]; \ No newline at end of file diff --git a/docs/html/a03735.html b/docs/html/a01114.html similarity index 92% rename from docs/html/a03735.html rename to docs/html/a01114.html index 6f0a2896d..11f5e51c1 100644 --- a/docs/html/a03735.html +++ b/docs/html/a01114.html @@ -67,7 +67,7 @@

@@ -89,35 +89,35 @@
-
atca_derive_key_mac_in_out Struct Reference
+
atca_derive_key_mac_in_out Struct Reference
-

Input/output parameters for function atcah_derive_key_mac(). - More...

+

Input/output parameters for function atcah_derive_key_mac(). + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 Mode (param 1) of the derive key command. More...
 
uint16_t target_key_id
uint16_t target_key_id
 Key ID (param 2) of the target slot to run the command on. More...
 
const uint8_t * sn
const uint8_t * sn
 Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though. More...
 
const uint8_t * parent_key
const uint8_t * parent_key
 Parent key to be used in the derive key calculation (32 bytes). More...
 
uint8_t * mac
uint8_t * mac
 DeriveKey MAC will be returned here. More...
 

Detailed Description

-

Input/output parameters for function atcah_derive_key_mac().

+

Input/output parameters for function atcah_derive_key_mac().

Field Documentation

◆ mac

@@ -204,7 +204,7 @@

    - + diff --git a/docs/html/a01114.js b/docs/html/a01114.js new file mode 100644 index 000000000..3d2f17eb7 --- /dev/null +++ b/docs/html/a01114.js @@ -0,0 +1,8 @@ +var a01114 = +[ + [ "mac", "a01114.html#aa5a9ad86915dfcef6db90b858690212a", null ], + [ "mode", "a01114.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "parent_key", "a01114.html#a000599eef5677ed1279b025c42ae260e", null ], + [ "sn", "a01114.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key_id", "a01114.html#a41104a8c85cd12c0fde0d791c3276a48", null ] +]; \ No newline at end of file diff --git a/docs/html/a03739.html b/docs/html/a01118.html similarity index 88% rename from docs/html/a03739.html rename to docs/html/a01118.html index efb655160..4bd7c0d86 100644 --- a/docs/html/a03739.html +++ b/docs/html/a01118.html @@ -67,7 +67,7 @@

@@ -89,22 +89,22 @@
-
atca_decrypt_in_out Struct Reference
+
atca_decrypt_in_out Struct Reference

Input/output parameters for function atca_decrypt(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + +

Data Fields

uint8_t * crypto_data
 [in,out] Pointer to 32-byte data. Input encrypted data from Read command (Contents field), output decrypted. More...
uint8_t * crypto_data
 [in,out] Pointer to 32-byte data. Input encrypted data from Read command (Contents field), output decrypted. More...
 
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 

Detailed Description

@@ -114,7 +114,7 @@
@@ -89,48 +89,48 @@
-
atca_check_mac_in_out Struct Reference
+
atca_check_mac_in_out Struct Reference
-

Input/output parameters for function atcah_check_mac(). - More...

+

Input/output parameters for function atcah_check_mac(). + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 [in] CheckMac command Mode More...
 
uint16_t key_id
uint16_t key_id
 [in] CheckMac command KeyID More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Device serial number SN[0:8]. Only SN[0:1] and SN[8] are required though. More...
 
const uint8_t * client_chal
const uint8_t * client_chal
 [in] ClientChal data, 32 bytes. Can be NULL if mode[0] is 1. More...
 
uint8_t * client_resp
uint8_t * client_resp
 [out] Calculated ClientResp will be returned here. More...
 
const uint8_t * other_data
const uint8_t * other_data
 [in] OtherData, 13 bytes More...
 
const uint8_t * otp
const uint8_t * otp
 [in] First 8 bytes of the OTP zone data. Can be NULL is mode[5] is 0. More...
 
const uint8_t * slot_key
const uint8_t * slot_key
 
const uint8_t * target_key
const uint8_t * target_key
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] Current state of TempKey. Required if mode[0] or mode[1] are 1. More...
 

Detailed Description

-

Input/output parameters for function atcah_check_mac().

+

Input/output parameters for function atcah_check_mac().

Field Documentation

◆ client_chal

@@ -281,7 +281,7 @@

- +
struct atca_temp_key* temp_keystruct atca_temp_key* temp_key

@@ -295,7 +295,7 @@

    - + diff --git a/docs/html/a01122.js b/docs/html/a01122.js new file mode 100644 index 000000000..237ec4107 --- /dev/null +++ b/docs/html/a01122.js @@ -0,0 +1,13 @@ +var a01122 = +[ + [ "client_chal", "a01122.html#a218f1c30c4a21b348dbe1817a2c14896", null ], + [ "client_resp", "a01122.html#a430a448768d687a94e3daaa00dce63ce", null ], + [ "key_id", "a01122.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mode", "a01122.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "other_data", "a01122.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "otp", "a01122.html#a4510889ef4b42470bf1a1d4e940a19a9", null ], + [ "slot_key", "a01122.html#aa23b467edf1809a2a8b1b530a0159c45", null ], + [ "sn", "a01122.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "target_key", "a01122.html#ab15c5e89189b9eea6fab7da58cc03967", null ], + [ "temp_key", "a01122.html#a72fae3d62889ef224f09c57a7646e061", null ] +]; \ No newline at end of file diff --git a/docs/html/a03747.html b/docs/html/a01126.html similarity index 87% rename from docs/html/a03747.html rename to docs/html/a01126.html index 779128420..30f2d574b 100644 --- a/docs/html/a03747.html +++ b/docs/html/a01126.html @@ -67,7 +67,7 @@

@@ -89,28 +89,28 @@
-
atca_verify_in_out Struct Reference
+
atca_verify_in_out Struct Reference

Input/output parameters for function atcah_verify(). - More...

+ More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- - + + - - + + - - + + - - + +

Data Fields

uint16_t curve_type
 [in] Curve type used in Verify command (Param2). More...
uint16_t curve_type
 [in] Curve type used in Verify command (Param2). More...
 
const uint8_t * signature
 [in] Pointer to ECDSA signature to be verified More...
const uint8_t * signature
 [in] Pointer to ECDSA signature to be verified More...
 
const uint8_t * public_key
 [in] Pointer to the public key to be used for verification More...
const uint8_t * public_key
 [in] Pointer to the public key to be used for verification More...
 
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
struct atca_temp_keytemp_key
 [in,out] Pointer to TempKey structure. More...
 

Detailed Description

@@ -120,7 +120,7 @@
@@ -89,41 +89,41 @@
-
atca_gen_key_in_out Struct Reference
+
atca_gen_key_in_out Struct Reference
-

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. - More...

+

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function. + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 [in] GenKey Mode More...
 
uint16_t key_id
uint16_t key_id
 [in] GenKey KeyID More...
 
const uint8_t * public_key
const uint8_t * public_key
 [in] Public key to be used in the PubKey digest. X and Y integers in big-endian format. 64 bytes for P256 curve. More...
 
size_t public_key_size
size_t public_key_size
 [in] Total number of bytes in the public key. 64 bytes for P256 curve. More...
 
const uint8_t * other_data
const uint8_t * other_data
 [in] 3 bytes required when bit 4 of the mode is set. Can be NULL otherwise. More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Device serial number SN[0:8] (9 bytes). Only SN[0:1] and SN[8] are required though. More...
 
struct atca_temp_keytemp_key
struct atca_temp_keytemp_key
 [in,out] As input the current state of TempKey. As output, the resulting PubKEy digest. More...
 

Detailed Description

-

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function.

+

Input/output parameters for calculating the PubKey digest put into TempKey by the GenKey command with the atcah_gen_key_msg() function.

Field Documentation

◆ key_id

@@ -228,7 +228,7 @@

- +
struct atca_temp_key* temp_keystruct atca_temp_key* temp_key

@@ -242,7 +242,7 @@

    - + diff --git a/docs/html/a01130.js b/docs/html/a01130.js new file mode 100644 index 000000000..0c9a2a50d --- /dev/null +++ b/docs/html/a01130.js @@ -0,0 +1,10 @@ +var a01130 = +[ + [ "key_id", "a01130.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "mode", "a01130.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "other_data", "a01130.html#ac76ac607fd679316fc17b16039a86b9c", null ], + [ "public_key", "a01130.html#a122aff75e4ff5cd19542117ba3fdb855", null ], + [ "public_key_size", "a01130.html#aeaa21ee86ed67c665d190be7d12293c7", null ], + [ "sn", "a01130.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01130.html#a72fae3d62889ef224f09c57a7646e061", null ] +]; \ No newline at end of file diff --git a/docs/html/a03755.html b/docs/html/a01134.html similarity index 92% rename from docs/html/a03755.html rename to docs/html/a01134.html index c75b8c2d6..1f6d528e1 100644 --- a/docs/html/a03755.html +++ b/docs/html/a01134.html @@ -67,7 +67,7 @@

@@ -89,59 +89,59 @@
-
atca_sign_internal_in_out Struct Reference
+
atca_sign_internal_in_out Struct Reference
-

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. - More...

+

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function. + More...

-

#include <atca_host.h>

+

#include <atca_host.h>

- + - + - + - + - + - + - + - + - + - + - + - + - +

Data Fields

uint8_t mode
uint8_t mode
 [in] Sign Mode More...
 
uint16_t key_id
uint16_t key_id
 [in] Sign KeyID More...
 
uint16_t slot_config
uint16_t slot_config
 [in] SlotConfig[TempKeyFlags.keyId] More...
 
uint16_t key_config
uint16_t key_config
 [in] KeyConfig[TempKeyFlags.keyId] More...
 
uint8_t use_flag
uint8_t use_flag
 [in] UseFlag[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A More...
 
uint8_t update_count
uint8_t update_count
 [in] UpdateCount[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A More...
 
bool is_slot_locked
bool is_slot_locked
 [in] Is TempKeyFlags.keyId slot locked. More...
 
bool for_invalidate
bool for_invalidate
 [in] Set to true if this will be used for the Verify(Invalidate) command. More...
 
const uint8_t * sn
const uint8_t * sn
 [in] Device serial number SN[0:8] (9 bytes) More...
 
const struct atca_temp_keytemp_key
const struct atca_temp_keytemp_key
 [in] The current state of TempKey. More...
 
uint8_t * message
uint8_t * message
 [out] Full 55 byte message the Sign(internal) command will build. Can be NULL if not required. More...
 
uint8_t * verify_other_data
uint8_t * verify_other_data
 [out] The 19 byte OtherData bytes to be used with the Verify(In/Validate) command. Can be NULL if not required. More...
 
uint8_t * digest
uint8_t * digest
 [out] SHA256 digest of the full 55 byte message. Can be NULL if not required. More...
 

Detailed Description

-

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function.

+

Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the atcah_sign_internal_msg() function.

Field Documentation

◆ digest

@@ -294,7 +294,7 @@

- +
const struct atca_temp_key* temp_keyconst struct atca_temp_key* temp_key

@@ -356,7 +356,7 @@

    - + diff --git a/docs/html/a01134.js b/docs/html/a01134.js new file mode 100644 index 000000000..12a412c38 --- /dev/null +++ b/docs/html/a01134.js @@ -0,0 +1,16 @@ +var a01134 = +[ + [ "digest", "a01134.html#a0b448fbaa0c4f1770b7c3f53acf265c5", null ], + [ "for_invalidate", "a01134.html#ac3544274ceb4f8950b3a5fe6640be634", null ], + [ "is_slot_locked", "a01134.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8", null ], + [ "key_config", "a01134.html#af209160ffa65b538728640eb34e4be75", null ], + [ "key_id", "a01134.html#ac21eed4200889cc115d16a781871d01c", null ], + [ "message", "a01134.html#a35f4a3225daf3021decdc4ecea74fa46", null ], + [ "mode", "a01134.html#a37e90f5e3bd99fac2021fb3a326607d4", null ], + [ "slot_config", "a01134.html#a547704fabd162cdaa3d5ce84a111a3fc", null ], + [ "sn", "a01134.html#aef45bac2efcd5394c4ed79f73ee16d23", null ], + [ "temp_key", "a01134.html#a714b07e0515fd9d20714a4fc2a16c03e", null ], + [ "update_count", "a01134.html#a4a25483bf435220f212cbe8f0327b0a6", null ], + [ "use_flag", "a01134.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05", null ], + [ "verify_other_data", "a01134.html#a04c0e9b276020bed4ed3d7d670ed3881", null ] +]; \ No newline at end of file diff --git a/docs/html/a03759.html b/docs/html/a01138.html similarity index 93% rename from docs/html/a03759.html rename to docs/html/a01138.html index 65d42f732..608f29cf5 100644 --- a/docs/html/a03759.html +++ b/docs/html/a01138.html @@ -67,7 +67,7 @@

@@ -89,22 +89,22 @@
-
atca_jwt_t Struct Reference
+
atca_jwt_t Struct Reference

Structure to hold metadata information about the jwt being built. - More...

+ More...

-

#include <atca_jwt.h>

+

#include <atca_jwt.h>

- + - + - +

Data Fields

char * buf
char * buf
 
uint16_t buflen
uint16_t buflen
 
uint16_t cur
uint16_t cur
 

Detailed Description

@@ -157,7 +157,7 @@

    - + diff --git a/docs/html/a01138.js b/docs/html/a01138.js new file mode 100644 index 000000000..f82c9333d --- /dev/null +++ b/docs/html/a01138.js @@ -0,0 +1,6 @@ +var a01138 = +[ + [ "buf", "a01138.html#a1fe855c208bc17a51a4d34fefdb2d5b1", null ], + [ "buflen", "a01138.html#a892366b22e8ea42d95e49308022eef4d", null ], + [ "cur", "a01138.html#aee7e8f6f5f1a4b5b402473cf99d3042a", null ] +]; \ No newline at end of file diff --git a/docs/html/a03763.html b/docs/html/a01142.html similarity index 93% rename from docs/html/a03763.html rename to docs/html/a01142.html index ac61c6f87..24108a873 100644 --- a/docs/html/a03763.html +++ b/docs/html/a01142.html @@ -67,7 +67,7 @@

@@ -93,23 +93,23 @@
-

#include <secure_boot.h>

+

#include <secure_boot.h>

- + - + - + - + - + - + - +

Data Fields

uint16_t secure_boot_mode: 2
uint16_t secure_boot_mode: 2
 
uint16_t secure_boot_reserved1: 1
uint16_t secure_boot_reserved1: 1
 
uint16_t secure_boot_persistent_enable: 1
uint16_t secure_boot_persistent_enable: 1
 
uint16_t secure_boot_rand_nonce: 1
uint16_t secure_boot_rand_nonce: 1
 
uint16_t secure_boot_reserved2: 3
uint16_t secure_boot_reserved2: 3
 
uint16_t secure_boot_sig_dig: 4
uint16_t secure_boot_sig_dig: 4
 
uint16_t secure_boot_pub_key: 4
uint16_t secure_boot_pub_key: 4
 

Field Documentation

@@ -216,7 +216,7 @@

    - + diff --git a/docs/html/a01142.js b/docs/html/a01142.js new file mode 100644 index 000000000..82024d82b --- /dev/null +++ b/docs/html/a01142.js @@ -0,0 +1,10 @@ +var a01142 = +[ + [ "secure_boot_mode", "a01142.html#a159545ee58a6feff4210207e945ed8a6", null ], + [ "secure_boot_persistent_enable", "a01142.html#a29997e53feca6ea2ceb53bd12ccb7397", null ], + [ "secure_boot_pub_key", "a01142.html#a0d4d608806c7df6022d7e08df3ead4f3", null ], + [ "secure_boot_rand_nonce", "a01142.html#af0322cbed208460dead1ab2aaf42f35e", null ], + [ "secure_boot_reserved1", "a01142.html#aef6eee6b683ef0108fca05b531719f86", null ], + [ "secure_boot_reserved2", "a01142.html#ad94b92f8d5650653e8b6d7d3c9e50ba4", null ], + [ "secure_boot_sig_dig", "a01142.html#a454c1e8a0b9b0c4b56aa415ad1856889", null ] +]; \ No newline at end of file diff --git a/docs/html/a03767.html b/docs/html/a01146.html similarity index 87% rename from docs/html/a03767.html rename to docs/html/a01146.html index d1cf57c52..e975a9224 100644 --- a/docs/html/a03767.html +++ b/docs/html/a01146.html @@ -67,7 +67,7 @@

@@ -93,15 +93,15 @@
@@ -152,7 +152,7 @@

    - + diff --git a/docs/html/a01146.js b/docs/html/a01146.js new file mode 100644 index 000000000..b7b39206d --- /dev/null +++ b/docs/html/a01146.js @@ -0,0 +1,6 @@ +var a01146 = +[ + [ "app_digest", "a01146.html#a15de5c1cdbe015c9927c51026a44c15d", null ], + [ "memory_params", "a01146.html#a42beed23912c5ea5307c11701c6883ab", null ], + [ "s_sha_context", "a01146.html#af9fb5ef2eb0843381351919dc0f7cafd", null ] +]; \ No newline at end of file diff --git a/docs/html/a03771.html b/docs/html/a01150.html similarity index 92% rename from docs/html/a03771.html rename to docs/html/a01150.html index d8c910b22..ab91ab3cf 100644 --- a/docs/html/a03771.html +++ b/docs/html/a01150.html @@ -67,7 +67,7 @@

@@ -93,19 +93,19 @@
-

#include <secure_boot_memory.h>

+

#include <secure_boot_memory.h>

- + - + - + - + - +

Data Fields

uint32_t start_address
uint32_t start_address
 
uint32_t memory_size
uint32_t memory_size
 
uint32_t version_info
uint32_t version_info
 
uint8_t reserved [52]
uint8_t reserved [52]
 
uint8_t signature [ATCA_SIG_SIZE]
uint8_t signature [ATCA_SIG_SIZE]
 

Field Documentation

@@ -144,7 +144,7 @@

- +
uint8_t signature[ATCA_SIG_SIZE]uint8_t signature[ATCA_SIG_SIZE]

@@ -184,7 +184,7 @@

    - + diff --git a/docs/html/a01150.js b/docs/html/a01150.js new file mode 100644 index 000000000..22610a86c --- /dev/null +++ b/docs/html/a01150.js @@ -0,0 +1,8 @@ +var a01150 = +[ + [ "memory_size", "a01150.html#afa720d7b457a80ef9f27d644a51ad157", null ], + [ "reserved", "a01150.html#a01b0fa1db9552c97809fd700aaf9464c", null ], + [ "signature", "a01150.html#a4f871aacf3b86f107114a6ca1f19a13a", null ], + [ "start_address", "a01150.html#abe5b74a6bf41557a5ae72460fa563219", null ], + [ "version_info", "a01150.html#aea79a9ccd71a91f69bb5773f43350f14", null ] +]; \ No newline at end of file diff --git a/docs/html/a03772.html b/docs/html/a01151.html similarity index 98% rename from docs/html/a03772.html rename to docs/html/a01151.html index 5bcdd0607..cbf42bb78 100644 --- a/docs/html/a03772.html +++ b/docs/html/a01151.html @@ -67,7 +67,7 @@

diff --git a/docs/html/a03773.html b/docs/html/a01152.html similarity index 98% rename from docs/html/a03773.html rename to docs/html/a01152.html index 85271f00d..8992c9a82 100644 --- a/docs/html/a03773.html +++ b/docs/html/a01152.html @@ -67,7 +67,7 @@
diff --git a/docs/html/a03774.html b/docs/html/a01153.html similarity index 98% rename from docs/html/a03774.html rename to docs/html/a01153.html index 0f399bbde..ab8ce9042 100644 --- a/docs/html/a03774.html +++ b/docs/html/a01153.html @@ -67,7 +67,7 @@
diff --git a/docs/html/a03775.html b/docs/html/a01154.html similarity index 89% rename from docs/html/a03775.html rename to docs/html/a01154.html index ee2f4c404..d9d2cc050 100644 --- a/docs/html/a03775.html +++ b/docs/html/a01154.html @@ -67,7 +67,7 @@
@@ -99,40 +99,40 @@

CryptoAuthLib Supported HAL Layers

Protocol Files Interface Files API Notes -atca atca_hal.c/h For all projects +atca atca_hal.c/h For all projects -kit protocol kit_protocol.c/h For all Kit Protocol projects +kit protocol kit_protocol.c/h For all Kit Protocol projects -kit_phy.h +kit_phy.h -hal_i2c_bitbang.c/h ASF For all I2C Bitbang projects +hal_i2c_bitbang.c/h ASF For all I2C Bitbang projects -hal_swi_bitbang.c/h ASF For all SWI Bitbang projects +hal_swi_bitbang.c/h ASF For all SWI Bitbang projects

Most microcontrollers supported by Atmel START have generic drivers depending on the interface.

- + - + - +
START Micros Interface Files API Notes
hal_timer_start.c START Timer implementation
hal_timer_start.c START Timer implementation
I2C hal_i2c_start.c/h START
I2C hal_i2c_start.c/h START
SWI swi_uart_start.c/h START SWI using UART
SWI swi_uart_start.c/h START SWI using UART
- + - + - + - + - +
AVR Micros Interface Files API Notes
at90usb1287 I2C hal_at90usb1287_i2c_asf.c/h ASF
at90usb1287 I2C hal_at90usb1287_i2c_asf.c/h ASF
hal_at90usb1287_timer_asf.c ASF
hal_at90usb1287_timer_asf.c ASF
SWI swi_uart_at90usb1287_asf.c/h ASF
SWI swi_uart_at90usb1287_asf.c/h ASF
xmega_a3bu I2C hal_xmega_a3bu_i2c_asf.c/h ASF
xmega_a3bu I2C hal_xmega_a3bu_i2c_asf.c/h ASF
hal_xmega_a3bu_timer_asf.c ASF
hal_xmega_a3bu_timer_asf.c ASF
SWI swi_uart_xmaga_a3bu_asf.c/h ASF
@@ -140,31 +140,31 @@

CryptoAuthLib Supported HAL Layers

SAM Micros Interface Files API Notes -sam4s I2C hal_sam4s_i2c_asf.c/h ASF +sam4s I2C hal_sam4s_i2c_asf.c/h ASF -hal_sam4s_timer_asf.c ASF +hal_sam4s_timer_asf.c ASF -samb11 I2C hal_samb11_i2c_asf.c/h ASF +samb11 I2C hal_samb11_i2c_asf.c/h ASF -hal_samb11_timer_asf.c ASF +hal_samb11_timer_asf.c ASF -samd21 I2C hal_samd21_i2c_asf.c/h ASF +samd21 I2C hal_samd21_i2c_asf.c/h ASF -hal_samd21_timer_asf.c ASF For all samd21 ASF projects +hal_samd21_timer_asf.c ASF For all samd21 ASF projects -samd21 I2C i2c_bitbang_samd21.c/h ASF For samd21 I2C bitbang projects +samd21 I2C i2c_bitbang_samd21.c/h ASF For samd21 I2C bitbang projects -samd21 SWI swi_bitbang_samd21.c/h ASF For samd21 SWI bitbang projects +samd21 SWI swi_bitbang_samd21.c/h ASF For samd21 SWI bitbang projects samd21 SWI swi_uart_samd21.c/h ASF For samd21 SWI uart projects -samg55 I2C hal_samg55_i2c_asf.c/h ASF +samg55 I2C hal_samg55_i2c_asf.c/h ASF -hal_samg55_timer_asf.c ASF +hal_samg55_timer_asf.c ASF -samv71 I2C hal_samv71_i2c_asf.c/h ASF +samv71 I2C hal_samv71_i2c_asf.c/h ASF -hal_samv71_timer_asf.c ASF +hal_samv71_timer_asf.c ASF @@ -172,35 +172,35 @@

CryptoAuthLib Supported HAL Layers

- + - + - +
pic32mx695f512h I2C hal_pic32mx695f512h.c/h plib.h For pic32mx695f512h Standalone Mplab projects
hal_pic32mx695f512h_timer.c plib.h For pic32mx695f512h Standalone Mplab projects
hal_pic32mx695f512h_timer.c plib.h For pic32mx695f512h Standalone Mplab projects
PIC32MZ2048 I2C hal_pic32mz2048efm_i2c.c/h
PIC32MZ2048 I2C hal_pic32mz2048efm_i2c.c/h
hal_pic32mz2048efm_timer.c
hal_pic32mz2048efm_timer.c
- + - + - + - + - + - + - + - + - +
OS Interface Files API Notes
MS Windows kit-cdc hal_win_kit_cdc.c/h windows.h For all windows USB CDC projects
MS Windows kit-cdc hal_win_kit_cdc.c/h windows.h For all windows USB CDC projects
MS Windows kit-hid hal_win_kit_hid.c/h windows.h For all windows USB HID projects
MS Windows kit-hid hal_win_kit_hid.c/h windows.h For all windows USB HID projects
setupapi.h
MS Windows hal_win_timer.c windows.h For all windows projects
MS Windows hal_win_timer.c windows.h For all windows projects
Linux I2C hal_linux_i2c_userspace.c/h i2c-dev
Linux I2C hal_linux_i2c_userspace.c/h i2c-dev
Linux kit-cdc hal_linux_kit_cdc.c/h fopen For USB Linux CDC projects
Linux kit-cdc hal_linux_kit_cdc.c/h fopen For USB Linux CDC projects
Linux kit-hid hal_linux_kit_hid.c/h udev For USB Linux HID Projects
Linux kit-hid hal_linux_kit_hid.c/h udev For USB Linux HID Projects
Linux/Mac hal_linux_timer.c For all Linux/Mac projects
Linux/Mac hal_linux_timer.c For all Linux/Mac projects
All kit-hid hal_all_platforms_kit_hidapi.c/h hidapi Works for Windows, Linux, and Mac
All kit-hid hal_all_platforms_kit_hidapi.c/h hidapi Works for Windows, Linux, and Mac
freeRTOS hal_freertos.c freeRTOS common routines
freeRTOS hal_freertos.c freeRTOS common routines
diff --git a/docs/html/a01155.html b/docs/html/a01155.html new file mode 100644 index 000000000..a262129dd --- /dev/null +++ b/docs/html/a01155.html @@ -0,0 +1,115 @@ + + + + + + + +CryptoAuthLib: IP Protection with Symmetric Authentication + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IP Protection with Symmetric Authentication
+
+
+

The IP protection can be easily integrated to the existing projects.The user project should include symmetric_authentication.c & symmetric_authentication.h files which contains the api

+

User Considerations

+
    +
  • The user should take care on how the master key should be stored on the MCU side.
  • +
  • The api's in the file doesn't do the provisioning of the chip and user should take care of the provisioning.
  • +
+

With the provisioned cryptoauthentication device and after doing the cryptoauthlib initialisation,user should only be calling the function symmetric_authenticate() with its necessary parameters for the authentication. The returned authentication status should be used in the application.

+

Examples

+

For more information about IP protection and its example project refer Microchip github

+
+
+ + + + diff --git a/docs/html/a03776.html b/docs/html/a01156.html similarity index 98% rename from docs/html/a03776.html rename to docs/html/a01156.html index 9546dc7f1..99d295c75 100644 --- a/docs/html/a03776.html +++ b/docs/html/a01156.html @@ -67,7 +67,7 @@
diff --git a/docs/html/a03787.html b/docs/html/a01158.html similarity index 96% rename from docs/html/a03787.html rename to docs/html/a01158.html index 18f8867ae..029b56459 100644 --- a/docs/html/a03787.html +++ b/docs/html/a01158.html @@ -67,7 +67,7 @@
@@ -95,7 +95,7 @@
@@ -95,7 +95,7 @@
@@ -95,7 +95,7 @@
@@ -95,7 +95,7 @@ diff --git a/docs/html/dir_0f8c318486f9c8f97febe2dc0542d496.html b/docs/html/dir_0f8c318486f9c8f97febe2dc0542d496.html index 83e42b331..bd7dc1310 100644 --- a/docs/html/dir_0f8c318486f9c8f97febe2dc0542d496.html +++ b/docs/html/dir_0f8c318486f9c8f97febe2dc0542d496.html @@ -93,11 +93,11 @@ - - + + - - + +

Files

file  atca_jwt.c
 Utilities to create and verify a JSON Web Token (JWT)
file  atca_jwt.c
 Utilities to create and verify a JSON Web Token (JWT)
 
file  atca_jwt.h [code]
 Utilities to create and verify a JSON Web Token (JWT)
file  atca_jwt.h [code]
 Utilities to create and verify a JSON Web Token (JWT)
 
diff --git a/docs/html/dir_26647cdac0a1f8c717d44b4eb3b4ec89.html b/docs/html/dir_26647cdac0a1f8c717d44b4eb3b4ec89.html index 0f2136db7..7c355953e 100644 --- a/docs/html/dir_26647cdac0a1f8c717d44b4eb3b4ec89.html +++ b/docs/html/dir_26647cdac0a1f8c717d44b4eb3b4ec89.html @@ -93,49 +93,49 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + +

Files

file  atcacert.h [code]
 Declarations common to all atcacert code.
file  atcacert.h [code]
 Declarations common to all atcacert code.
 
file  atcacert_client.c
 Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.
file  atcacert_client.c
 Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.
 
file  atcacert_client.h [code]
 Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.
file  atcacert_client.h [code]
 Client side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device.
 
file  atcacert_date.c
 Date handling with regard to certificates.
file  atcacert_date.c
 Date handling with regard to certificates.
 
file  atcacert_date.h [code]
 Declarations for date handling with regard to certificates.
file  atcacert_date.h [code]
 Declarations for date handling with regard to certificates.
 
file  atcacert_def.c
 Main certificate definition implementation.
file  atcacert_def.c
 Main certificate definition implementation.
 
file  atcacert_def.h [code]
 Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices.
file  atcacert_def.h [code]
 Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices.
 
file  atcacert_der.c
 functions required to work with DER encoded data related to X.509 certificates.
file  atcacert_der.c
 functions required to work with DER encoded data related to X.509 certificates.
 
file  atcacert_der.h [code]
 function declarations required to work with DER encoded data related to X.509 certificates.
file  atcacert_der.h [code]
 function declarations required to work with DER encoded data related to X.509 certificates.
 
file  atcacert_host_hw.c
 host side methods using CryptoAuth hardware
file  atcacert_host_hw.c
 host side methods using CryptoAuth hardware
 
file  atcacert_host_hw.h [code]
 host side methods using CryptoAuth hardware
file  atcacert_host_hw.h [code]
 host side methods using CryptoAuth hardware
 
file  atcacert_host_sw.c
 host side methods using software implementations
file  atcacert_host_sw.c
 host side methods using software implementations
 
file  atcacert_host_sw.h [code]
 Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library.
file  atcacert_host_sw.h [code]
 Host side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library.
 
file  atcacert_pem.c
file  atcacert_pem.c
 
file  atcacert_pem.h [code]
 Functions for converting between DER and PEM formats.
file  atcacert_pem.h [code]
 Functions for converting between DER and PEM formats.
 
diff --git a/docs/html/dir_39966be8f8e069f6fa92c98611834f6b.html b/docs/html/dir_39966be8f8e069f6fa92c98611834f6b.html index 475406bf4..d73e9bf1c 100644 --- a/docs/html/dir_39966be8f8e069f6fa92c98611834f6b.html +++ b/docs/html/dir_39966be8f8e069f6fa92c98611834f6b.html @@ -93,17 +93,17 @@ - - + + - - + + - - + + - - + +

Files

file  sha1_routines.c
 Software implementation of the SHA1 algorithm.
file  sha1_routines.c
 Software implementation of the SHA1 algorithm.
 
file  sha1_routines.h [code]
 Software implementation of the SHA1 algorithm.
file  sha1_routines.h [code]
 Software implementation of the SHA1 algorithm.
 
file  sha2_routines.c
 Software implementation of the SHA256 algorithm.
file  sha2_routines.c
 Software implementation of the SHA256 algorithm.
 
file  sha2_routines.h [code]
 Software implementation of the SHA256 algorithm.
file  sha2_routines.h [code]
 Software implementation of the SHA256 algorithm.
 
diff --git a/docs/html/dir_695be77052103537ae3c41f50bd7e0cc.html b/docs/html/dir_695be77052103537ae3c41f50bd7e0cc.html index 2e2a6bde2..9ae2280e5 100644 --- a/docs/html/dir_695be77052103537ae3c41f50bd7e0cc.html +++ b/docs/html/dir_695be77052103537ae3c41f50bd7e0cc.html @@ -98,30 +98,30 @@ - - + + - - + + - + - - + + - + - - + + - - + + - - + + - - + +

Files

file  atca_crypto_sw.h [code]
 Common defines for CryptoAuthLib software crypto wrappers.
file  atca_crypto_sw.h [code]
 Common defines for CryptoAuthLib software crypto wrappers.
 
file  atca_crypto_sw_ecdsa.c
 API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC.
file  atca_crypto_sw_ecdsa.c
 API wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC.
 
file  atca_crypto_sw_ecdsa.h [code]
file  atca_crypto_sw_ecdsa.h [code]
 
file  atca_crypto_sw_rand.c
 API wrapper for software random.
file  atca_crypto_sw_rand.c
 API wrapper for software random.
 
file  atca_crypto_sw_rand.h [code]
file  atca_crypto_sw_rand.h [code]
 
file  atca_crypto_sw_sha1.c
 Wrapper API for SHA 1 routines.
file  atca_crypto_sw_sha1.c
 Wrapper API for SHA 1 routines.
 
file  atca_crypto_sw_sha1.h [code]
 Wrapper API for SHA 1 routines.
file  atca_crypto_sw_sha1.h [code]
 Wrapper API for SHA 1 routines.
 
file  atca_crypto_sw_sha2.c
 Wrapper API for software SHA 256 routines.
file  atca_crypto_sw_sha2.c
 Wrapper API for software SHA 256 routines.
 
file  atca_crypto_sw_sha2.h [code]
 Wrapper API for software SHA 256 routines.
file  atca_crypto_sw_sha2.h [code]
 Wrapper API for software SHA 256 routines.
 
diff --git a/docs/html/dir_87abda79916a436a3f9fdf465608c5f5.html b/docs/html/dir_87abda79916a436a3f9fdf465608c5f5.html new file mode 100644 index 000000000..8f7647401 --- /dev/null +++ b/docs/html/dir_87abda79916a436a3f9fdf465608c5f5.html @@ -0,0 +1,115 @@ + + + + + + + +CryptoAuthLib: ip_protection Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ip_protection Directory Reference
+
+
+ + + + + + + + +

+Files

file  symmetric_authentication.c
 Contains API for performing the symmetric Authentication between the Host and the device.
 
file  symmetric_authentication.h [code]
 Contains API for performing the symmetric Authentication between the Host and the device.
 
+
+
+ + + + diff --git a/docs/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html b/docs/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html index 7bb37da79..9dd85432e 100644 --- a/docs/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html +++ b/docs/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html @@ -108,50 +108,50 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

Files

file  atca_bool.h [code]
 bool define for systems that don't have it
file  atca_bool.h [code]
 bool define for systems that don't have it
 
file  atca_cfgs.c
 a set of default configurations for various ATCA devices and interfaces
file  atca_cfgs.c
 a set of default configurations for various ATCA devices and interfaces
 
file  atca_cfgs.h [code]
 a set of default configurations for various ATCA devices and interfaces
file  atca_cfgs.h [code]
 a set of default configurations for various ATCA devices and interfaces
 
file  atca_command.c
 Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface.
file  atca_command.c
 Microchip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface.
 
file  atca_command.h [code]
 Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch.
file  atca_command.h [code]
 Microchip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch.
 
file  atca_compiler.h [code]
 CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros.
file  atca_compiler.h [code]
 CryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros.
 
file  atca_device.c
 Microchip CryptoAuth device object.
file  atca_device.c
 Microchip CryptoAuth device object.
 
file  atca_device.h [code]
 Microchip Crypto Auth device object.
file  atca_device.h [code]
 Microchip Crypto Auth device object.
 
file  atca_devtypes.h [code]
 Microchip Crypto Auth.
file  atca_devtypes.h [code]
 Microchip Crypto Auth.
 
file  atca_execution.c
 Implements an execution handler that executes a given command on a device and returns the results.
file  atca_execution.c
 Implements an execution handler that executes a given command on a device and returns the results.
 
file  atca_execution.h [code]
 Defines an execution handler that executes a given command on a device and returns the results.
file  atca_execution.h [code]
 Defines an execution handler that executes a given command on a device and returns the results.
 
file  atca_iface.c
 Microchip CryptoAuthLib hardware interface object.
file  atca_iface.c
 Microchip CryptoAuthLib hardware interface object.
 
file  atca_iface.h [code]
 Microchip Crypto Auth hardware interface object.
file  atca_iface.h [code]
 Microchip Crypto Auth hardware interface object.
 
file  atca_status.h [code]
 Microchip Crypto Auth status codes.
file  atca_status.h [code]
 Microchip Crypto Auth status codes.
 
file  cryptoauthlib.h [code]
 Single aggregation point for all CryptoAuthLib header files.
file  cryptoauthlib.h [code]
 Single aggregation point for all CryptoAuthLib header files.
 
diff --git a/docs/html/dir_b2187fb9aff39e17c00391b7def58804.html b/docs/html/dir_b2187fb9aff39e17c00391b7def58804.html index 1f9e337f6..0189e9c28 100644 --- a/docs/html/dir_b2187fb9aff39e17c00391b7def58804.html +++ b/docs/html/dir_b2187fb9aff39e17c00391b7def58804.html @@ -93,11 +93,11 @@ - - + + - - + +

Files

file  atca_host.c
 Host side methods to support CryptoAuth computations.
file  atca_host.c
 Host side methods to support CryptoAuth computations.
 
file  atca_host.h [code]
 Definitions and Prototypes for ATCA Utility Functions.
file  atca_host.h [code]
 Definitions and Prototypes for ATCA Utility Functions.
 
diff --git a/docs/html/dir_d422163b96683743ed3963d4aac17747.html b/docs/html/dir_d422163b96683743ed3963d4aac17747.html index 175017234..46d7d1943 100644 --- a/docs/html/dir_d422163b96683743ed3963d4aac17747.html +++ b/docs/html/dir_d422163b96683743ed3963d4aac17747.html @@ -93,6 +93,8 @@ + +

Directories

directory  ip_protection
 
directory  secure_boot
 
diff --git a/docs/html/dir_e870e4dac26de7990352b1cb7547818f.html b/docs/html/dir_e870e4dac26de7990352b1cb7547818f.html index 08be5f25d..53accc9f5 100644 --- a/docs/html/dir_e870e4dac26de7990352b1cb7547818f.html +++ b/docs/html/dir_e870e4dac26de7990352b1cb7547818f.html @@ -93,214 +93,214 @@ - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - - + +

Files

file  atca_hal.c
 low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation.
file  atca_hal.c
 low-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation.
 
file  atca_hal.h [code]
 low-level HAL - methods used to setup indirection to physical layer interface
file  atca_hal.h [code]
 low-level HAL - methods used to setup indirection to physical layer interface
 
file  atca_start_config.h [code]
file  atca_start_config.h [code]
 
file  atca_start_iface.h [code]
file  atca_start_iface.h [code]
 
file  hal_all_platforms_kit_hidapi.c
 HAL for kit protocol over HID for any platform.
file  hal_all_platforms_kit_hidapi.c
 HAL for kit protocol over HID for any platform.
 
file  hal_all_platforms_kit_hidapi.h [code]
 HAL for kit protocol over HID for any platform.
file  hal_all_platforms_kit_hidapi.h [code]
 HAL for kit protocol over HID for any platform.
 
file  hal_at90usb1287_i2c_asf.c
 ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.
file  hal_at90usb1287_i2c_asf.c
 ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.
 
file  hal_at90usb1287_i2c_asf.h [code]
 ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.
file  hal_at90usb1287_i2c_asf.h [code]
 ATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers.
 
file  hal_at90usb1287_timer_asf.c
 ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers.
file  hal_at90usb1287_timer_asf.c
 ATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers.
 
file  hal_esp32_i2c.c
file  hal_esp32_i2c.c
 
file  hal_esp32_timer.c
file  hal_esp32_timer.c
 
file  hal_freertos.c
 FreeRTOS Hardware/OS Abstration Layer.
file  hal_freertos.c
 FreeRTOS Hardware/OS Abstration Layer.
 
file  hal_i2c_bitbang.c
 ATCA Hardware abstraction layer for I2C bit banging.
file  hal_i2c_bitbang.c
 ATCA Hardware abstraction layer for I2C bit banging.
 
file  hal_i2c_bitbang.h [code]
 ATCA Hardware abstraction layer for I2C bit banging.
file  hal_i2c_bitbang.h [code]
 ATCA Hardware abstraction layer for I2C bit banging.
 
file  hal_i2c_start.c
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
file  hal_i2c_start.c
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
 
file  hal_i2c_start.h [code]
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
file  hal_i2c_start.h [code]
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
 
file  hal_linux_i2c_userspace.c
 ATCA Hardware abstraction layer for Linux using I2C.
file  hal_linux_i2c_userspace.c
 ATCA Hardware abstraction layer for Linux using I2C.
 
file  hal_linux_i2c_userspace.h [code]
 ATCA Hardware abstraction layer for Linux using I2C.
file  hal_linux_i2c_userspace.h [code]
 ATCA Hardware abstraction layer for Linux using I2C.
 
file  hal_linux_kit_cdc.c
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.
file  hal_linux_kit_cdc.c
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.
 
file  hal_linux_kit_cdc.h [code]
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.
file  hal_linux_kit_cdc.h [code]
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device.
 
file  hal_linux_kit_hid.c
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.
file  hal_linux_kit_hid.c
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.
 
file  hal_linux_kit_hid.h [code]
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.
file  hal_linux_kit_hid.h [code]
 ATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device.
 
file  hal_linux_timer.c
 Timer Utility Functions for Linux.
file  hal_linux_timer.c
 Timer Utility Functions for Linux.
 
file  hal_pic32mx695f512h_i2c.c
 ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers.
file  hal_pic32mx695f512h_i2c.c
 ATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers.
 
file  hal_pic32mx695f512h_i2c.h [code]
 ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers.
file  hal_pic32mx695f512h_i2c.h [code]
 ATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers.
 
file  hal_pic32mx695f512h_timer.c
 ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine.
file  hal_pic32mx695f512h_timer.c
 ATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine.
 
file  hal_pic32mz2048efm_i2c.c
 ATCA Hardware abstraction layer for PIC32MZ2048.
file  hal_pic32mz2048efm_i2c.c
 ATCA Hardware abstraction layer for PIC32MZ2048.
 
file  hal_pic32mz2048efm_i2c.h [code]
 ATCA Hardware abstraction layer for PIC32MZ2048.
file  hal_pic32mz2048efm_i2c.h [code]
 ATCA Hardware abstraction layer for PIC32MZ2048.
 
file  hal_pic32mz2048efm_timer.c
 ATCA Hardware abstraction layer for PIC32MZ2048.
file  hal_pic32mz2048efm_timer.c
 ATCA Hardware abstraction layer for PIC32MZ2048.
 
file  hal_sam4s_i2c_asf.c
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
file  hal_sam4s_i2c_asf.c
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
 
file  hal_sam4s_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
file  hal_sam4s_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
 
file  hal_sam4s_timer_asf.c
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
file  hal_sam4s_timer_asf.c
 ATCA Hardware abstraction layer for SAM4S I2C over ASF drivers.
 
file  hal_samb11_i2c_asf.c
 ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.
file  hal_samb11_i2c_asf.c
 ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.
 
file  hal_samb11_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.
file  hal_samb11_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers.
 
file  hal_samb11_timer_asf.c
 ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers.
file  hal_samb11_timer_asf.c
 ATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers.
 
file  hal_samd21_i2c_asf.c
 ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.
file  hal_samd21_i2c_asf.c
 ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.
 
file  hal_samd21_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.
file  hal_samd21_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers.
 
file  hal_samd21_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
file  hal_samd21_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
 
file  hal_samg55_i2c_asf.c
 ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.
file  hal_samg55_i2c_asf.c
 ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.
 
file  hal_samg55_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.
file  hal_samg55_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers.
 
file  hal_samg55_timer_asf.c
 Prerequisite: add "Delay routines (service)" module to application in Atmel Studio.
file  hal_samg55_timer_asf.c
 Prerequisite: add "Delay routines (service)" module to application in Atmel Studio.
 
file  hal_samv71_i2c_asf.c
 ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.
file  hal_samv71_i2c_asf.c
 ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.
 
file  hal_samv71_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.
file  hal_samv71_i2c_asf.h [code]
 ATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers.
 
file  hal_samv71_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
file  hal_samv71_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
 
file  hal_swi_bitbang.c
 ATCA Hardware abstraction layer for SWI bit banging.
file  hal_swi_bitbang.c
 ATCA Hardware abstraction layer for SWI bit banging.
 
file  hal_swi_bitbang.h [code]
 ATCA Hardware abstraction layer for SWI bit banging.
file  hal_swi_bitbang.h [code]
 ATCA Hardware abstraction layer for SWI bit banging.
 
file  hal_swi_uart.c
 ATCA Hardware abstraction layer for SWI over UART drivers.
file  hal_swi_uart.c
 ATCA Hardware abstraction layer for SWI over UART drivers.
 
file  hal_swi_uart.h [code]
 ATCA Hardware abstraction layer for SWI over UART drivers.
file  hal_swi_uart.h [code]
 ATCA Hardware abstraction layer for SWI over UART drivers.
 
file  hal_timer_start.c
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
file  hal_timer_start.c
 ATCA Hardware abstraction layer for SAMD21 I2C over START drivers.
 
file  hal_win_kit_cdc.c
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.
file  hal_win_kit_cdc.c
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.
 
file  hal_win_kit_cdc.h [code]
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.
file  hal_win_kit_cdc.h [code]
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device.
 
file  hal_win_kit_hid.c
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.
file  hal_win_kit_hid.c
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.
 
file  hal_win_kit_hid.h [code]
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.
file  hal_win_kit_hid.h [code]
 ATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device.
 
file  hal_win_timer.c
 ATCA Hardware abstraction layer for windows timer functions.
file  hal_win_timer.c
 ATCA Hardware abstraction layer for windows timer functions.
 
file  hal_xmega_a3bu_i2c_asf.c
 ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.
file  hal_xmega_a3bu_i2c_asf.c
 ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.
 
file  hal_xmega_a3bu_i2c_asf.h [code]
 ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.
file  hal_xmega_a3bu_i2c_asf.h [code]
 ATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers.
 
file  hal_xmega_a3bu_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
file  hal_xmega_a3bu_timer_asf.c
 ATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers.
 
file  i2c_bitbang_samd21.c
 Hardware Interface Functions - I2C bit-bang for SAMD21.
file  i2c_bitbang_samd21.c
 Hardware Interface Functions - I2C bit-bang for SAMD21.
 
file  i2c_bitbang_samd21.h [code]
 definitions for bit-banged I2C
file  i2c_bitbang_samd21.h [code]
 definitions for bit-banged I2C
 
file  kit_phy.h [code]
 ATCA Hardware abstraction layer physical send & receive function definitions.
file  kit_phy.h [code]
 ATCA Hardware abstraction layer physical send & receive function definitions.
 
file  kit_protocol.c
 Microchip Crypto Auth hardware interface object.
file  kit_protocol.c
 Microchip Crypto Auth hardware interface object.
 
file  kit_protocol.h [code]
file  kit_protocol.h [code]
 
file  swi_bitbang_samd21.c
 Hardware Interface Functions - SWI bit-banged.
file  swi_bitbang_samd21.c
 Hardware Interface Functions - SWI bit-banged.
 
file  swi_bitbang_samd21.h [code]
 Hardware Interface Functions - SWI bit-banged.
file  swi_bitbang_samd21.h [code]
 Hardware Interface Functions - SWI bit-banged.
 
file  swi_uart_at90usb1287_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
file  swi_uart_at90usb1287_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
 
file  swi_uart_at90usb1287_asf.h [code]
 ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
file  swi_uart_at90usb1287_asf.h [code]
 ATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers.
 
file  swi_uart_samd21_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.
file  swi_uart_samd21_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.
 
file  swi_uart_samd21_asf.h [code]
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.
file  swi_uart_samd21_asf.h [code]
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers.
 
file  swi_uart_start.c
file  swi_uart_start.c
 
file  swi_uart_start.h [code]
file  swi_uart_start.h [code]
 
file  swi_uart_xmega_a3bu_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
file  swi_uart_xmega_a3bu_asf.c
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
 
file  swi_uart_xmega_a3bu_asf.h [code]
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
file  swi_uart_xmega_a3bu_asf.h [code]
 ATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers.
 
diff --git a/docs/html/dir_f987fb6e7cf85d8e48d70ffe78b3ebc1.html b/docs/html/dir_f987fb6e7cf85d8e48d70ffe78b3ebc1.html index c344fd409..b0a951114 100644 --- a/docs/html/dir_f987fb6e7cf85d8e48d70ffe78b3ebc1.html +++ b/docs/html/dir_f987fb6e7cf85d8e48d70ffe78b3ebc1.html @@ -93,86 +93,101 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + +

Files

file  atca_basic.c
 CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods.
file  atca_basic.c
 CryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods.
 
file  atca_basic.h [code]
 CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to.
file  atca_basic.h [code]
 CryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to.
 
file  atca_basic_aes.c
 CryptoAuthLib Basic API methods for AES command.
file  atca_basic_aes.c
 CryptoAuthLib Basic API methods for AES command.
 
file  atca_basic_checkmac.c
 CryptoAuthLib Basic API methods for CheckMAC command.
file  atca_basic_aes_cbc.c
 CryptoAuthLib Basic API methods for AES CBC mode.
 
file  atca_basic_counter.c
 CryptoAuthLib Basic API methods for Counter command.
file  atca_basic_aes_cmac.c
 CryptoAuthLib Basic API methods for AES CBC_MAC mode.
 
file  atca_basic_derivekey.c
 CryptoAuthLib Basic API methods for DeriveKey command.
file  atca_basic_aes_ctr.c
 CryptoAuthLib Basic API methods for AES CTR mode.
 
file  atca_basic_ecdh.c
 CryptoAuthLib Basic API methods for ECDH command.
file  atca_basic_aes_gcm.c
 CryptoAuthLib Basic API methods for AES GCM mode.
 
file  atca_basic_gendig.c
 CryptoAuthLib Basic API methods for GenDig command.
file  atca_basic_aes_gcm.h [code]
 Unity tests for the cryptoauthlib AES GCM functions.
 
file  atca_basic_genkey.c
 CryptoAuthLib Basic API methods for GenKey command.
file  atca_basic_checkmac.c
 CryptoAuthLib Basic API methods for CheckMAC command.
 
file  atca_basic_hmac.c
 CryptoAuthLib Basic API methods for HMAC command.
file  atca_basic_counter.c
 CryptoAuthLib Basic API methods for Counter command.
 
file  atca_basic_info.c
 CryptoAuthLib Basic API methods for Info command.
file  atca_basic_derivekey.c
 CryptoAuthLib Basic API methods for DeriveKey command.
 
file  atca_basic_kdf.c
 CryptoAuthLib Basic API methods for KDF command.
file  atca_basic_ecdh.c
 CryptoAuthLib Basic API methods for ECDH command.
 
file  atca_basic_lock.c
 CryptoAuthLib Basic API methods for Lock command.
file  atca_basic_gendig.c
 CryptoAuthLib Basic API methods for GenDig command.
 
file  atca_basic_mac.c
 CryptoAuthLib Basic API methods for MAC command.
file  atca_basic_genkey.c
 CryptoAuthLib Basic API methods for GenKey command.
 
file  atca_basic_nonce.c
 CryptoAuthLib Basic API methods for Nonce command.
file  atca_basic_hmac.c
 CryptoAuthLib Basic API methods for HMAC command.
 
file  atca_basic_privwrite.c
 CryptoAuthLib Basic API methods for PrivWrite command.
file  atca_basic_info.c
 CryptoAuthLib Basic API methods for Info command.
 
file  atca_basic_random.c
 CryptoAuthLib Basic API methods for Random command.
file  atca_basic_kdf.c
 CryptoAuthLib Basic API methods for KDF command.
 
file  atca_basic_read.c
 CryptoAuthLib Basic API methods for Read command.
file  atca_basic_lock.c
 CryptoAuthLib Basic API methods for Lock command.
 
file  atca_basic_secureboot.c
 CryptoAuthLib Basic API methods for SecureBoot command.
file  atca_basic_mac.c
 CryptoAuthLib Basic API methods for MAC command.
 
file  atca_basic_selftest.c
 CryptoAuthLib Basic API methods for SelfTest command.
file  atca_basic_nonce.c
 CryptoAuthLib Basic API methods for Nonce command.
 
file  atca_basic_sha.c
 CryptoAuthLib Basic API methods for SHA command.
file  atca_basic_privwrite.c
 CryptoAuthLib Basic API methods for PrivWrite command.
 
file  atca_basic_sign.c
 CryptoAuthLib Basic API methods for Sign command.
file  atca_basic_random.c
 CryptoAuthLib Basic API methods for Random command.
 
file  atca_basic_updateextra.c
 CryptoAuthLib Basic API methods for UpdateExtra command.
file  atca_basic_read.c
 CryptoAuthLib Basic API methods for Read command.
 
file  atca_basic_verify.c
 CryptoAuthLib Basic API methods for Verify command.
file  atca_basic_secureboot.c
 CryptoAuthLib Basic API methods for SecureBoot command.
 
file  atca_basic_write.c
 CryptoAuthLib Basic API methods for Write command.
file  atca_basic_selftest.c
 CryptoAuthLib Basic API methods for SelfTest command.
 
file  atca_helpers.c
 Helpers to support the CryptoAuthLib Basic API methods.
file  atca_basic_sha.c
 CryptoAuthLib Basic API methods for SHA command.
 
file  atca_helpers.h [code]
 Helpers to support the CryptoAuthLib Basic API methods.
file  atca_basic_sign.c
 CryptoAuthLib Basic API methods for Sign command.
 
file  atca_basic_updateextra.c
 CryptoAuthLib Basic API methods for UpdateExtra command.
 
file  atca_basic_verify.c
 CryptoAuthLib Basic API methods for Verify command.
 
file  atca_basic_write.c
 CryptoAuthLib Basic API methods for Write command.
 
file  atca_helpers.c
 Helpers to support the CryptoAuthLib Basic API methods.
 
file  atca_helpers.h [code]
 Helpers to support the CryptoAuthLib Basic API methods.
 
diff --git a/docs/html/files.html b/docs/html/files.html index e2f75db41..fd56354f1 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -92,158 +92,165 @@
Here is a list of all files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 atca_basic.cCryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods
 atca_basic.hCryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to
 atca_basic_aes.cCryptoAuthLib Basic API methods for AES command
 atca_basic_checkmac.cCryptoAuthLib Basic API methods for CheckMAC command
 atca_basic_counter.cCryptoAuthLib Basic API methods for Counter command
 atca_basic_derivekey.cCryptoAuthLib Basic API methods for DeriveKey command
 atca_basic_ecdh.cCryptoAuthLib Basic API methods for ECDH command
 atca_basic_gendig.cCryptoAuthLib Basic API methods for GenDig command
 atca_basic_genkey.cCryptoAuthLib Basic API methods for GenKey command
 atca_basic_hmac.cCryptoAuthLib Basic API methods for HMAC command
 atca_basic_info.cCryptoAuthLib Basic API methods for Info command
 atca_basic_kdf.cCryptoAuthLib Basic API methods for KDF command
 atca_basic_lock.cCryptoAuthLib Basic API methods for Lock command
 atca_basic_mac.cCryptoAuthLib Basic API methods for MAC command
 atca_basic_nonce.cCryptoAuthLib Basic API methods for Nonce command
 atca_basic_privwrite.cCryptoAuthLib Basic API methods for PrivWrite command
 atca_basic_random.cCryptoAuthLib Basic API methods for Random command
 atca_basic_read.cCryptoAuthLib Basic API methods for Read command
 atca_basic_secureboot.cCryptoAuthLib Basic API methods for SecureBoot command
 atca_basic_selftest.cCryptoAuthLib Basic API methods for SelfTest command
 atca_basic_sha.cCryptoAuthLib Basic API methods for SHA command
 atca_basic_sign.cCryptoAuthLib Basic API methods for Sign command
 atca_basic_updateextra.cCryptoAuthLib Basic API methods for UpdateExtra command
 atca_basic_verify.cCryptoAuthLib Basic API methods for Verify command
 atca_basic_write.cCryptoAuthLib Basic API methods for Write command
 atca_bool.hBool define for systems that don't have it
 atca_cfgs.cSet of default configurations for various ATCA devices and interfaces
 atca_cfgs.hSet of default configurations for various ATCA devices and interfaces
 atca_command.cMicrochip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface
 atca_command.hMicrochip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch
 atca_compiler.hCryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros
 atca_crypto_sw.hCommon defines for CryptoAuthLib software crypto wrappers
 atca_crypto_sw_ecdsa.cAPI wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC
 atca_crypto_sw_ecdsa.h
 atca_crypto_sw_rand.cAPI wrapper for software random
 atca_crypto_sw_rand.h
 atca_crypto_sw_sha1.cWrapper API for SHA 1 routines
 atca_crypto_sw_sha1.hWrapper API for SHA 1 routines
 atca_crypto_sw_sha2.cWrapper API for software SHA 256 routines
 atca_crypto_sw_sha2.hWrapper API for software SHA 256 routines
 atca_device.cMicrochip CryptoAuth device object
 atca_device.hMicrochip Crypto Auth device object
 atca_devtypes.hMicrochip Crypto Auth
 atca_execution.cImplements an execution handler that executes a given command on a device and returns the results
 atca_execution.hDefines an execution handler that executes a given command on a device and returns the results
 atca_hal.cLow-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation
 atca_hal.hLow-level HAL - methods used to setup indirection to physical layer interface
 atca_helpers.cHelpers to support the CryptoAuthLib Basic API methods
 atca_helpers.hHelpers to support the CryptoAuthLib Basic API methods
 atca_host.cHost side methods to support CryptoAuth computations
 atca_host.hDefinitions and Prototypes for ATCA Utility Functions
 atca_iface.cMicrochip CryptoAuthLib hardware interface object
 atca_iface.hMicrochip Crypto Auth hardware interface object
 atca_jwt.cUtilities to create and verify a JSON Web Token (JWT)
 atca_jwt.hUtilities to create and verify a JSON Web Token (JWT)
 atca_start_config.h
 atca_start_iface.h
 atca_status.hMicrochip Crypto Auth status codes
 atcacert.hDeclarations common to all atcacert code
 atcacert_client.cClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_client.hClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_date.cDate handling with regard to certificates
 atcacert_date.hDeclarations for date handling with regard to certificates
 atcacert_def.cMain certificate definition implementation
 atcacert_def.hDeclarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices
 atcacert_der.cFunctions required to work with DER encoded data related to X.509 certificates
 atcacert_der.hFunction declarations required to work with DER encoded data related to X.509 certificates
 atcacert_host_hw.cHost side methods using CryptoAuth hardware
 atcacert_host_hw.hHost side methods using CryptoAuth hardware
 atcacert_host_sw.cHost side methods using software implementations
 atcacert_host_sw.hHost side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library
 atcacert_pem.c
 atcacert_pem.hFunctions for converting between DER and PEM formats
 crypto_device_app.cProvides required interface between boot loader and secure boot
 crypto_device_app.hProvides required interface between boot loader and secure boot
 cryptoauthlib.hSingle aggregation point for all CryptoAuthLib header files
 hal_all_platforms_kit_hidapi.cHAL for kit protocol over HID for any platform
 hal_all_platforms_kit_hidapi.hHAL for kit protocol over HID for any platform
 hal_at90usb1287_i2c_asf.cATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers
 hal_at90usb1287_i2c_asf.hATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers
 hal_at90usb1287_timer_asf.cATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers
 hal_esp32_i2c.c
 hal_esp32_timer.c
 hal_freertos.cFreeRTOS Hardware/OS Abstration Layer
 hal_i2c_bitbang.cATCA Hardware abstraction layer for I2C bit banging
 hal_i2c_bitbang.hATCA Hardware abstraction layer for I2C bit banging
 hal_i2c_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_i2c_start.hATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_linux_i2c_userspace.cATCA Hardware abstraction layer for Linux using I2C
 hal_linux_i2c_userspace.hATCA Hardware abstraction layer for Linux using I2C
 hal_linux_kit_cdc.cATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_kit_cdc.hATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_kit_hid.cATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device
 hal_linux_kit_hid.hATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device
 hal_linux_timer.cTimer Utility Functions for Linux
 hal_pic32mx695f512h_i2c.cATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers
 hal_pic32mx695f512h_i2c.hATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers
 hal_pic32mx695f512h_timer.cATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine
 hal_pic32mz2048efm_i2c.cATCA Hardware abstraction layer for PIC32MZ2048
 hal_pic32mz2048efm_i2c.hATCA Hardware abstraction layer for PIC32MZ2048
 hal_pic32mz2048efm_timer.cATCA Hardware abstraction layer for PIC32MZ2048
 hal_sam4s_i2c_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_i2c_asf.hATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_timer_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_samb11_i2c_asf.cATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers
 hal_samb11_i2c_asf.hATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers
 hal_samb11_timer_asf.cATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers
 hal_samd21_i2c_asf.cATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_i2c_asf.hATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_samg55_i2c_asf.cATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers
 hal_samg55_i2c_asf.hATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers
 hal_samg55_timer_asf.cPrerequisite: add "Delay routines (service)" module to application in Atmel Studio
 hal_samv71_i2c_asf.cATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_i2c_asf.hATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_swi_bitbang.cATCA Hardware abstraction layer for SWI bit banging
 hal_swi_bitbang.hATCA Hardware abstraction layer for SWI bit banging
 hal_swi_uart.cATCA Hardware abstraction layer for SWI over UART drivers
 hal_swi_uart.hATCA Hardware abstraction layer for SWI over UART drivers
 hal_timer_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_win_kit_cdc.cATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_cdc.hATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_hid.cATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_kit_hid.hATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_timer.cATCA Hardware abstraction layer for windows timer functions
 hal_xmega_a3bu_i2c_asf.cATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_i2c_asf.hATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 i2c_bitbang_samd21.cHardware Interface Functions - I2C bit-bang for SAMD21
 i2c_bitbang_samd21.hDefinitions for bit-banged I2C
 io_protection_key.hProvides required interface to access IO protection key
 kit_phy.hATCA Hardware abstraction layer physical send & receive function definitions
 kit_protocol.cMicrochip Crypto Auth hardware interface object
 kit_protocol.h
 secure_boot.cProvides required APIs to manage secure boot under various scenarios
 secure_boot.hProvides required APIs to manage secure boot under various scenarios
 secure_boot_memory.hProvides interface to memory component for the secure boot
 sha1_routines.cSoftware implementation of the SHA1 algorithm
 sha1_routines.hSoftware implementation of the SHA1 algorithm
 sha2_routines.cSoftware implementation of the SHA256 algorithm
 sha2_routines.hSoftware implementation of the SHA256 algorithm
 swi_bitbang_samd21.cHardware Interface Functions - SWI bit-banged
 swi_bitbang_samd21.hHardware Interface Functions - SWI bit-banged
 swi_uart_at90usb1287_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers
 swi_uart_at90usb1287_asf.hATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers
 swi_uart_samd21_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_samd21_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_start.c
 swi_uart_start.h
 swi_uart_xmega_a3bu_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 swi_uart_xmega_a3bu_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 atca_basic.cCryptoAuthLib Basic API methods. These methods provide a simpler way to access the core crypto methods
 atca_basic.hCryptoAuthLib Basic API methods - a simple crypto authentication API. These methods manage a global ATCADevice object behind the scenes. They also manage the wake/idle state transitions so callers don't need to
 atca_basic_aes.cCryptoAuthLib Basic API methods for AES command
 atca_basic_aes_cbc.cCryptoAuthLib Basic API methods for AES CBC mode
 atca_basic_aes_cmac.cCryptoAuthLib Basic API methods for AES CBC_MAC mode
 atca_basic_aes_ctr.cCryptoAuthLib Basic API methods for AES CTR mode
 atca_basic_aes_gcm.cCryptoAuthLib Basic API methods for AES GCM mode
 atca_basic_aes_gcm.hUnity tests for the cryptoauthlib AES GCM functions
 atca_basic_checkmac.cCryptoAuthLib Basic API methods for CheckMAC command
 atca_basic_counter.cCryptoAuthLib Basic API methods for Counter command
 atca_basic_derivekey.cCryptoAuthLib Basic API methods for DeriveKey command
 atca_basic_ecdh.cCryptoAuthLib Basic API methods for ECDH command
 atca_basic_gendig.cCryptoAuthLib Basic API methods for GenDig command
 atca_basic_genkey.cCryptoAuthLib Basic API methods for GenKey command
 atca_basic_hmac.cCryptoAuthLib Basic API methods for HMAC command
 atca_basic_info.cCryptoAuthLib Basic API methods for Info command
 atca_basic_kdf.cCryptoAuthLib Basic API methods for KDF command
 atca_basic_lock.cCryptoAuthLib Basic API methods for Lock command
 atca_basic_mac.cCryptoAuthLib Basic API methods for MAC command
 atca_basic_nonce.cCryptoAuthLib Basic API methods for Nonce command
 atca_basic_privwrite.cCryptoAuthLib Basic API methods for PrivWrite command
 atca_basic_random.cCryptoAuthLib Basic API methods for Random command
 atca_basic_read.cCryptoAuthLib Basic API methods for Read command
 atca_basic_secureboot.cCryptoAuthLib Basic API methods for SecureBoot command
 atca_basic_selftest.cCryptoAuthLib Basic API methods for SelfTest command
 atca_basic_sha.cCryptoAuthLib Basic API methods for SHA command
 atca_basic_sign.cCryptoAuthLib Basic API methods for Sign command
 atca_basic_updateextra.cCryptoAuthLib Basic API methods for UpdateExtra command
 atca_basic_verify.cCryptoAuthLib Basic API methods for Verify command
 atca_basic_write.cCryptoAuthLib Basic API methods for Write command
 atca_bool.hBool define for systems that don't have it
 atca_cfgs.cSet of default configurations for various ATCA devices and interfaces
 atca_cfgs.hSet of default configurations for various ATCA devices and interfaces
 atca_command.cMicrochip CryptoAuthentication device command builder - this is the main object that builds the command byte strings for the given device. It does not execute the command. The basic flow is to call a command method to build the command you want given the parameters and then send that byte string through the device interface
 atca_command.hMicrochip Crypto Auth device command object - this is a command builder only, it does not send the command. The result of a command method is a fully formed packet, ready to send to the ATCAIFace object to dispatch
 atca_compiler.hCryptoAuthLiub is meant to be portable across architectures, even non-Microchip architectures and compiler environments. This file is for isolating compiler specific macros
 atca_crypto_sw.hCommon defines for CryptoAuthLib software crypto wrappers
 atca_crypto_sw_ecdsa.cAPI wrapper for software ECDSA verify. Currently unimplemented but could be implemented via a 3rd party library such as MicroECC
 atca_crypto_sw_ecdsa.h
 atca_crypto_sw_rand.cAPI wrapper for software random
 atca_crypto_sw_rand.h
 atca_crypto_sw_sha1.cWrapper API for SHA 1 routines
 atca_crypto_sw_sha1.hWrapper API for SHA 1 routines
 atca_crypto_sw_sha2.cWrapper API for software SHA 256 routines
 atca_crypto_sw_sha2.hWrapper API for software SHA 256 routines
 atca_device.cMicrochip CryptoAuth device object
 atca_device.hMicrochip Crypto Auth device object
 atca_devtypes.hMicrochip Crypto Auth
 atca_execution.cImplements an execution handler that executes a given command on a device and returns the results
 atca_execution.hDefines an execution handler that executes a given command on a device and returns the results
 atca_hal.cLow-level HAL - methods used to setup indirection to physical layer interface. this level does the dirty work of abstracting the higher level ATCAIFace methods from the low-level physical interfaces. Its main goal is to keep low-level details from bleeding into the logical interface implemetation
 atca_hal.hLow-level HAL - methods used to setup indirection to physical layer interface
 atca_helpers.cHelpers to support the CryptoAuthLib Basic API methods
 atca_helpers.hHelpers to support the CryptoAuthLib Basic API methods
 atca_host.cHost side methods to support CryptoAuth computations
 atca_host.hDefinitions and Prototypes for ATCA Utility Functions
 atca_iface.cMicrochip CryptoAuthLib hardware interface object
 atca_iface.hMicrochip Crypto Auth hardware interface object
 atca_jwt.cUtilities to create and verify a JSON Web Token (JWT)
 atca_jwt.hUtilities to create and verify a JSON Web Token (JWT)
 atca_start_config.h
 atca_start_iface.h
 atca_status.hMicrochip Crypto Auth status codes
 atcacert.hDeclarations common to all atcacert code
 atcacert_client.cClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_client.hClient side cert i/o methods. These declarations deal with the client-side, the node being authenticated, of the authentication process. It is assumed the client has an ECC CryptoAuthentication device (e.g. ATECC508A) and the certificates are stored on that device
 atcacert_date.cDate handling with regard to certificates
 atcacert_date.hDeclarations for date handling with regard to certificates
 atcacert_def.cMain certificate definition implementation
 atcacert_def.hDeclarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices
 atcacert_der.cFunctions required to work with DER encoded data related to X.509 certificates
 atcacert_der.hFunction declarations required to work with DER encoded data related to X.509 certificates
 atcacert_host_hw.cHost side methods using CryptoAuth hardware
 atcacert_host_hw.hHost side methods using CryptoAuth hardware
 atcacert_host_sw.cHost side methods using software implementations
 atcacert_host_sw.hHost side methods using software implementations. host-side, the one authenticating a client, of the authentication process. Crypto functions are performed using a software library
 atcacert_pem.c
 atcacert_pem.hFunctions for converting between DER and PEM formats
 crypto_device_app.cProvides required interface between boot loader and secure boot
 crypto_device_app.hProvides required interface between boot loader and secure boot
 cryptoauthlib.hSingle aggregation point for all CryptoAuthLib header files
 hal_all_platforms_kit_hidapi.cHAL for kit protocol over HID for any platform
 hal_all_platforms_kit_hidapi.hHAL for kit protocol over HID for any platform
 hal_at90usb1287_i2c_asf.cATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers
 hal_at90usb1287_i2c_asf.hATCA Hardware abstraction layer for AT90USB1287 I2C over ASF drivers
 hal_at90usb1287_timer_asf.cATCA Hardware abstraction layer for AT90USB1287 timer/delay over ASF drivers
 hal_esp32_i2c.c
 hal_esp32_timer.c
 hal_freertos.cFreeRTOS Hardware/OS Abstration Layer
 hal_i2c_bitbang.cATCA Hardware abstraction layer for I2C bit banging
 hal_i2c_bitbang.hATCA Hardware abstraction layer for I2C bit banging
 hal_i2c_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_i2c_start.hATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_linux_i2c_userspace.cATCA Hardware abstraction layer for Linux using I2C
 hal_linux_i2c_userspace.hATCA Hardware abstraction layer for Linux using I2C
 hal_linux_kit_cdc.cATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_kit_cdc.hATCA Hardware abstraction layer for Linux using kit protocol over a USB CDC device
 hal_linux_kit_hid.cATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device
 hal_linux_kit_hid.hATCA Hardware abstraction layer for Linux using kit protocol over a USB HID device
 hal_linux_timer.cTimer Utility Functions for Linux
 hal_pic32mx695f512h_i2c.cATCA Hardware abstraction layer for PIC32MX695F512H I2C over plib drivers
 hal_pic32mx695f512h_i2c.hATCA Hardware abstraction layer for PIC32MX695F512H I2C over xxx drivers
 hal_pic32mx695f512h_timer.cATCA Hardware abstraction layer for PIC32MX695F512H timer/delay routine
 hal_pic32mz2048efm_i2c.cATCA Hardware abstraction layer for PIC32MZ2048
 hal_pic32mz2048efm_i2c.hATCA Hardware abstraction layer for PIC32MZ2048
 hal_pic32mz2048efm_timer.cATCA Hardware abstraction layer for PIC32MZ2048
 hal_sam4s_i2c_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_i2c_asf.hATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_sam4s_timer_asf.cATCA Hardware abstraction layer for SAM4S I2C over ASF drivers
 hal_samb11_i2c_asf.cATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers
 hal_samb11_i2c_asf.hATCA Hardware abstraction layer for SAMB11 I2C over ASF drivers
 hal_samb11_timer_asf.cATCA Hardware abstraction layer for SAMB11 timer/delay over ASF drivers
 hal_samd21_i2c_asf.cATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_i2c_asf.hATCA Hardware abstraction layer for SAMD21 I2C over ASF drivers
 hal_samd21_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_samg55_i2c_asf.cATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers
 hal_samg55_i2c_asf.hATCA Hardware abstraction layer for SAMG55 I2C over ASF drivers
 hal_samg55_timer_asf.cPrerequisite: add "Delay routines (service)" module to application in Atmel Studio
 hal_samv71_i2c_asf.cATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_i2c_asf.hATCA Hardware abstraction layer for SAMV71 I2C over ASF drivers
 hal_samv71_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 hal_swi_bitbang.cATCA Hardware abstraction layer for SWI bit banging
 hal_swi_bitbang.hATCA Hardware abstraction layer for SWI bit banging
 hal_swi_uart.cATCA Hardware abstraction layer for SWI over UART drivers
 hal_swi_uart.hATCA Hardware abstraction layer for SWI over UART drivers
 hal_timer_start.cATCA Hardware abstraction layer for SAMD21 I2C over START drivers
 hal_win_kit_cdc.cATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_cdc.hATCA Hardware abstraction layer for Windows using kit protocol over a USB CDC device
 hal_win_kit_hid.cATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_kit_hid.hATCA Hardware abstraction layer for Windows using kit protocol over a USB HID device
 hal_win_timer.cATCA Hardware abstraction layer for windows timer functions
 hal_xmega_a3bu_i2c_asf.cATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_i2c_asf.hATCA Hardware abstraction layer for XMEGA-A3BU I2C over ASF drivers
 hal_xmega_a3bu_timer_asf.cATCA Hardware abstraction layer for SAMD21 timer/delay over ASF drivers
 i2c_bitbang_samd21.cHardware Interface Functions - I2C bit-bang for SAMD21
 i2c_bitbang_samd21.hDefinitions for bit-banged I2C
 io_protection_key.hProvides required interface to access IO protection key
 kit_phy.hATCA Hardware abstraction layer physical send & receive function definitions
 kit_protocol.cMicrochip Crypto Auth hardware interface object
 kit_protocol.h
 secure_boot.cProvides required APIs to manage secure boot under various scenarios
 secure_boot.hProvides required APIs to manage secure boot under various scenarios
 secure_boot_memory.hProvides interface to memory component for the secure boot
 sha1_routines.cSoftware implementation of the SHA1 algorithm
 sha1_routines.hSoftware implementation of the SHA1 algorithm
 sha2_routines.cSoftware implementation of the SHA256 algorithm
 sha2_routines.hSoftware implementation of the SHA256 algorithm
 swi_bitbang_samd21.cHardware Interface Functions - SWI bit-banged
 swi_bitbang_samd21.hHardware Interface Functions - SWI bit-banged
 swi_uart_at90usb1287_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers
 swi_uart_at90usb1287_asf.hATMEGA's ATCA Hardware abstraction layer for SWI interface over AT90USB1287 UART drivers
 swi_uart_samd21_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_samd21_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over UART drivers
 swi_uart_start.c
 swi_uart_start.h
 swi_uart_xmega_a3bu_asf.cATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 swi_uart_xmega_a3bu_asf.hATXMEGA's ATCA Hardware abstraction layer for SWI interface over XMEGA UART drivers
 symmetric_authentication.cContains API for performing the symmetric Authentication between the Host and the device
 symmetric_authentication.hContains API for performing the symmetric Authentication between the Host and the device
diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js index 4a2f42d0a..74c1d1f84 100644 --- a/docs/html/files_dup.js +++ b/docs/html/files_dup.js @@ -1,155 +1,162 @@ var files_dup = [ - [ "atca_basic.c", "a00176.html", "a00176" ], - [ "atca_basic.h", "a00179.html", "a00179" ], - [ "atca_basic_aes.c", "a00182.html", "a00182" ], - [ "atca_basic_checkmac.c", "a00185.html", "a00185" ], - [ "atca_basic_counter.c", "a00188.html", "a00188" ], - [ "atca_basic_derivekey.c", "a00191.html", "a00191" ], - [ "atca_basic_ecdh.c", "a00194.html", "a00194" ], - [ "atca_basic_gendig.c", "a00197.html", "a00197" ], - [ "atca_basic_genkey.c", "a00200.html", "a00200" ], - [ "atca_basic_hmac.c", "a00203.html", "a00203" ], - [ "atca_basic_info.c", "a00206.html", "a00206" ], - [ "atca_basic_kdf.c", "a00209.html", "a00209" ], - [ "atca_basic_lock.c", "a00212.html", "a00212" ], - [ "atca_basic_mac.c", "a00215.html", "a00215" ], - [ "atca_basic_nonce.c", "a00218.html", "a00218" ], - [ "atca_basic_privwrite.c", "a00221.html", "a00221" ], - [ "atca_basic_random.c", "a00224.html", "a00224" ], - [ "atca_basic_read.c", "a00227.html", "a00227" ], - [ "atca_basic_secureboot.c", "a00230.html", "a00230" ], - [ "atca_basic_selftest.c", "a00233.html", "a00233" ], - [ "atca_basic_sha.c", "a00236.html", "a00236" ], - [ "atca_basic_sign.c", "a00239.html", "a00239" ], - [ "atca_basic_updateextra.c", "a00242.html", "a00242" ], - [ "atca_basic_verify.c", "a00245.html", "a00245" ], - [ "atca_basic_write.c", "a00248.html", "a00248" ], - [ "atca_bool.h", "a00089.html", null ], - [ "atca_cfgs.c", "a00092.html", "a00092" ], - [ "atca_cfgs.h", "a00095.html", "a00095" ], - [ "atca_command.c", "a00098.html", "a00098" ], - [ "atca_command.h", "a00101.html", "a00101" ], - [ "atca_compiler.h", "a00104.html", null ], - [ "atca_crypto_sw.h", "a00260.html", null ], - [ "atca_crypto_sw_ecdsa.c", "a00263.html", "a00263" ], - [ "atca_crypto_sw_ecdsa.h", "a00266.html", "a00266" ], - [ "atca_crypto_sw_rand.c", "a00269.html", "a00269" ], - [ "atca_crypto_sw_rand.h", "a00272.html", "a00272" ], - [ "atca_crypto_sw_sha1.c", "a00275.html", "a00275" ], - [ "atca_crypto_sw_sha1.h", "a00278.html", "a00278" ], - [ "atca_crypto_sw_sha2.c", "a00281.html", "a00281" ], - [ "atca_crypto_sw_sha2.h", "a00284.html", "a00284" ], - [ "atca_device.c", "a00107.html", "a00107" ], - [ "atca_device.h", "a00110.html", "a00110" ], - [ "atca_devtypes.h", "a00113.html", "a00113" ], - [ "atca_execution.c", "a00116.html", "a00116" ], - [ "atca_execution.h", "a00119.html", "a00119" ], - [ "atca_hal.c", "a00305.html", "a00305" ], - [ "atca_hal.h", "a00308.html", "a00308" ], - [ "atca_helpers.c", "a00251.html", "a00251" ], - [ "atca_helpers.h", "a00254.html", "a00254" ], - [ "atca_host.c", "a00521.html", "a00521" ], - [ "atca_host.h", "a00524.html", "a00524" ], - [ "atca_iface.c", "a00122.html", "a00122" ], - [ "atca_iface.h", "a00125.html", "a00125" ], - [ "atca_jwt.c", "a00527.html", "a00527" ], - [ "atca_jwt.h", "a00530.html", "a00530" ], - [ "atca_start_config.h", "a00311.html", null ], - [ "atca_start_iface.h", "a00314.html", null ], - [ "atca_status.h", "a00128.html", "a00128" ], - [ "atcacert.h", "a00131.html", "a00131" ], - [ "atcacert_client.c", "a00134.html", "a00134" ], - [ "atcacert_client.h", "a00137.html", "a00137" ], - [ "atcacert_date.c", "a00140.html", "a00140" ], - [ "atcacert_date.h", "a00143.html", "a00143" ], - [ "atcacert_def.c", "a00146.html", "a00146" ], - [ "atcacert_def.h", "a00149.html", "a00149" ], - [ "atcacert_der.c", "a00152.html", "a00152" ], - [ "atcacert_der.h", "a00155.html", "a00155" ], - [ "atcacert_host_hw.c", "a00158.html", "a00158" ], - [ "atcacert_host_hw.h", "a00161.html", "a00161" ], - [ "atcacert_host_sw.c", "a00164.html", "a00164" ], - [ "atcacert_host_sw.h", "a00167.html", "a00167" ], - [ "atcacert_pem.c", "a00170.html", "a00170" ], - [ "atcacert_pem.h", "a00173.html", "a00173" ], - [ "crypto_device_app.c", "a00011.html", "a00011" ], - [ "crypto_device_app.h", "a00014.html", "a00014" ], - [ "cryptoauthlib.h", "a00299.html", "a00299" ], - [ "hal_all_platforms_kit_hidapi.c", "a00317.html", "a00317" ], - [ "hal_all_platforms_kit_hidapi.h", "a00320.html", "a00320" ], - [ "hal_at90usb1287_i2c_asf.c", "a00323.html", "a00323" ], - [ "hal_at90usb1287_i2c_asf.h", "a00326.html", "a00326" ], - [ "hal_at90usb1287_timer_asf.c", "a00329.html", "a00329" ], - [ "hal_esp32_i2c.c", "a00332.html", "a00332" ], - [ "hal_esp32_timer.c", "a00335.html", "a00335" ], - [ "hal_freertos.c", "a00338.html", "a00338" ], - [ "hal_i2c_bitbang.c", "a00341.html", "a00341" ], - [ "hal_i2c_bitbang.h", "a00344.html", "a00344" ], - [ "hal_i2c_start.c", "a00347.html", "a00347" ], - [ "hal_i2c_start.h", "a00350.html", "a00350" ], - [ "hal_linux_i2c_userspace.c", "a00353.html", "a00353" ], - [ "hal_linux_i2c_userspace.h", "a00356.html", "a00356" ], - [ "hal_linux_kit_cdc.c", "a00359.html", "a00359" ], - [ "hal_linux_kit_cdc.h", "a00362.html", "a00362" ], - [ "hal_linux_kit_hid.c", "a00365.html", "a00365" ], - [ "hal_linux_kit_hid.h", "a00368.html", "a00368" ], - [ "hal_linux_timer.c", "a00371.html", "a00371" ], - [ "hal_pic32mx695f512h_i2c.c", "a00374.html", "a00374" ], - [ "hal_pic32mx695f512h_i2c.h", "a00377.html", "a00377" ], - [ "hal_pic32mx695f512h_timer.c", "a00380.html", "a00380" ], - [ "hal_pic32mz2048efm_i2c.c", "a00383.html", "a00383" ], - [ "hal_pic32mz2048efm_i2c.h", "a00386.html", "a00386" ], - [ "hal_pic32mz2048efm_timer.c", "a00389.html", "a00389" ], - [ "hal_sam4s_i2c_asf.c", "a00392.html", "a00392" ], - [ "hal_sam4s_i2c_asf.h", "a00395.html", "a00395" ], - [ "hal_sam4s_timer_asf.c", "a00398.html", "a00398" ], - [ "hal_samb11_i2c_asf.c", "a00401.html", "a00401" ], - [ "hal_samb11_i2c_asf.h", "a00404.html", "a00404" ], - [ "hal_samb11_timer_asf.c", "a00407.html", "a00407" ], - [ "hal_samd21_i2c_asf.c", "a00410.html", "a00410" ], - [ "hal_samd21_i2c_asf.h", "a00413.html", "a00413" ], - [ "hal_samd21_timer_asf.c", "a00416.html", "a00416" ], - [ "hal_samg55_i2c_asf.c", "a00419.html", "a00419" ], - [ "hal_samg55_i2c_asf.h", "a00422.html", "a00422" ], - [ "hal_samg55_timer_asf.c", "a00425.html", "a00425" ], - [ "hal_samv71_i2c_asf.c", "a00428.html", "a00428" ], - [ "hal_samv71_i2c_asf.h", "a00431.html", "a00431" ], - [ "hal_samv71_timer_asf.c", "a00434.html", "a00434" ], - [ "hal_swi_bitbang.c", "a00437.html", "a00437" ], - [ "hal_swi_bitbang.h", "a00440.html", "a00440" ], - [ "hal_swi_uart.c", "a00443.html", "a00443" ], - [ "hal_swi_uart.h", "a00446.html", "a00446" ], - [ "hal_timer_start.c", "a00449.html", "a00449" ], - [ "hal_win_kit_cdc.c", "a00452.html", "a00452" ], - [ "hal_win_kit_cdc.h", "a00455.html", "a00455" ], - [ "hal_win_kit_hid.c", "a00458.html", "a00458" ], - [ "hal_win_kit_hid.h", "a00461.html", "a00461" ], - [ "hal_win_timer.c", "a00464.html", "a00464" ], - [ "hal_xmega_a3bu_i2c_asf.c", "a00467.html", "a00467" ], - [ "hal_xmega_a3bu_i2c_asf.h", "a00470.html", "a00470" ], - [ "hal_xmega_a3bu_timer_asf.c", "a00473.html", "a00473" ], - [ "i2c_bitbang_samd21.c", "a00476.html", "a00476" ], - [ "i2c_bitbang_samd21.h", "a00479.html", "a00479" ], - [ "io_protection_key.h", "a00017.html", "a00017" ], - [ "kit_phy.h", "a00482.html", "a00482" ], - [ "kit_protocol.c", "a00485.html", "a00485" ], - [ "kit_protocol.h", "a00488.html", "a00488" ], - [ "secure_boot.c", "a00020.html", "a00020" ], - [ "secure_boot.h", "a00023.html", "a00023" ], - [ "secure_boot_memory.h", "a00026.html", "a00026" ], - [ "sha1_routines.c", "a00287.html", "a00287" ], - [ "sha1_routines.h", "a00290.html", "a00290" ], - [ "sha2_routines.c", "a00293.html", "a00293" ], - [ "sha2_routines.h", "a00296.html", "a00296" ], - [ "swi_bitbang_samd21.c", "a00491.html", "a00491" ], - [ "swi_bitbang_samd21.h", "a00494.html", "a00494" ], - [ "swi_uart_at90usb1287_asf.c", "a00497.html", "a00497" ], - [ "swi_uart_at90usb1287_asf.h", "a00500.html", "a00500" ], - [ "swi_uart_samd21_asf.c", "a00503.html", "a00503" ], - [ "swi_uart_samd21_asf.h", "a00506.html", "a00506" ], - [ "swi_uart_start.c", "a00509.html", "a00509" ], - [ "swi_uart_start.h", "a00512.html", "a00512" ], - [ "swi_uart_xmega_a3bu_asf.c", "a00515.html", "a00515" ], - [ "swi_uart_xmega_a3bu_asf.h", "a00518.html", "a00518" ] + [ "atca_basic.c", "a00182.html", "a00182" ], + [ "atca_basic.h", "a00185.html", "a00185" ], + [ "atca_basic_aes.c", "a00188.html", "a00188" ], + [ "atca_basic_aes_cbc.c", "a00191.html", "a00191" ], + [ "atca_basic_aes_cmac.c", "a00194.html", "a00194" ], + [ "atca_basic_aes_ctr.c", "a00197.html", "a00197" ], + [ "atca_basic_aes_gcm.c", "a00200.html", "a00200" ], + [ "atca_basic_aes_gcm.h", "a00203.html", "a00203" ], + [ "atca_basic_checkmac.c", "a00206.html", "a00206" ], + [ "atca_basic_counter.c", "a00209.html", "a00209" ], + [ "atca_basic_derivekey.c", "a00212.html", "a00212" ], + [ "atca_basic_ecdh.c", "a00215.html", "a00215" ], + [ "atca_basic_gendig.c", "a00218.html", "a00218" ], + [ "atca_basic_genkey.c", "a00221.html", "a00221" ], + [ "atca_basic_hmac.c", "a00224.html", "a00224" ], + [ "atca_basic_info.c", "a00227.html", "a00227" ], + [ "atca_basic_kdf.c", "a00230.html", "a00230" ], + [ "atca_basic_lock.c", "a00233.html", "a00233" ], + [ "atca_basic_mac.c", "a00236.html", "a00236" ], + [ "atca_basic_nonce.c", "a00239.html", "a00239" ], + [ "atca_basic_privwrite.c", "a00242.html", "a00242" ], + [ "atca_basic_random.c", "a00245.html", "a00245" ], + [ "atca_basic_read.c", "a00248.html", "a00248" ], + [ "atca_basic_secureboot.c", "a00251.html", "a00251" ], + [ "atca_basic_selftest.c", "a00254.html", "a00254" ], + [ "atca_basic_sha.c", "a00257.html", "a00257" ], + [ "atca_basic_sign.c", "a00260.html", "a00260" ], + [ "atca_basic_updateextra.c", "a00263.html", "a00263" ], + [ "atca_basic_verify.c", "a00266.html", "a00266" ], + [ "atca_basic_write.c", "a00269.html", "a00269" ], + [ "atca_bool.h", "a00095.html", null ], + [ "atca_cfgs.c", "a00098.html", "a00098" ], + [ "atca_cfgs.h", "a00101.html", "a00101" ], + [ "atca_command.c", "a00104.html", "a00104" ], + [ "atca_command.h", "a00107.html", "a00107" ], + [ "atca_compiler.h", "a00110.html", null ], + [ "atca_crypto_sw.h", "a00281.html", null ], + [ "atca_crypto_sw_ecdsa.c", "a00284.html", "a00284" ], + [ "atca_crypto_sw_ecdsa.h", "a00287.html", "a00287" ], + [ "atca_crypto_sw_rand.c", "a00290.html", "a00290" ], + [ "atca_crypto_sw_rand.h", "a00293.html", "a00293" ], + [ "atca_crypto_sw_sha1.c", "a00296.html", "a00296" ], + [ "atca_crypto_sw_sha1.h", "a00299.html", "a00299" ], + [ "atca_crypto_sw_sha2.c", "a00302.html", "a00302" ], + [ "atca_crypto_sw_sha2.h", "a00305.html", "a00305" ], + [ "atca_device.c", "a00113.html", "a00113" ], + [ "atca_device.h", "a00116.html", "a00116" ], + [ "atca_devtypes.h", "a00119.html", "a00119" ], + [ "atca_execution.c", "a00122.html", "a00122" ], + [ "atca_execution.h", "a00125.html", "a00125" ], + [ "atca_hal.c", "a00326.html", "a00326" ], + [ "atca_hal.h", "a00329.html", "a00329" ], + [ "atca_helpers.c", "a00272.html", "a00272" ], + [ "atca_helpers.h", "a00275.html", "a00275" ], + [ "atca_host.c", "a00542.html", "a00542" ], + [ "atca_host.h", "a00545.html", "a00545" ], + [ "atca_iface.c", "a00128.html", "a00128" ], + [ "atca_iface.h", "a00131.html", "a00131" ], + [ "atca_jwt.c", "a00548.html", "a00548" ], + [ "atca_jwt.h", "a00551.html", "a00551" ], + [ "atca_start_config.h", "a00332.html", null ], + [ "atca_start_iface.h", "a00335.html", null ], + [ "atca_status.h", "a00134.html", "a00134" ], + [ "atcacert.h", "a00137.html", "a00137" ], + [ "atcacert_client.c", "a00140.html", "a00140" ], + [ "atcacert_client.h", "a00143.html", "a00143" ], + [ "atcacert_date.c", "a00146.html", "a00146" ], + [ "atcacert_date.h", "a00149.html", "a00149" ], + [ "atcacert_def.c", "a00152.html", "a00152" ], + [ "atcacert_def.h", "a00155.html", "a00155" ], + [ "atcacert_der.c", "a00158.html", "a00158" ], + [ "atcacert_der.h", "a00161.html", "a00161" ], + [ "atcacert_host_hw.c", "a00164.html", "a00164" ], + [ "atcacert_host_hw.h", "a00167.html", "a00167" ], + [ "atcacert_host_sw.c", "a00170.html", "a00170" ], + [ "atcacert_host_sw.h", "a00173.html", "a00173" ], + [ "atcacert_pem.c", "a00176.html", "a00176" ], + [ "atcacert_pem.h", "a00179.html", "a00179" ], + [ "crypto_device_app.c", "a00017.html", "a00017" ], + [ "crypto_device_app.h", "a00020.html", "a00020" ], + [ "cryptoauthlib.h", "a00320.html", "a00320" ], + [ "hal_all_platforms_kit_hidapi.c", "a00338.html", "a00338" ], + [ "hal_all_platforms_kit_hidapi.h", "a00341.html", "a00341" ], + [ "hal_at90usb1287_i2c_asf.c", "a00344.html", "a00344" ], + [ "hal_at90usb1287_i2c_asf.h", "a00347.html", "a00347" ], + [ "hal_at90usb1287_timer_asf.c", "a00350.html", "a00350" ], + [ "hal_esp32_i2c.c", "a00353.html", "a00353" ], + [ "hal_esp32_timer.c", "a00356.html", "a00356" ], + [ "hal_freertos.c", "a00359.html", "a00359" ], + [ "hal_i2c_bitbang.c", "a00362.html", "a00362" ], + [ "hal_i2c_bitbang.h", "a00365.html", "a00365" ], + [ "hal_i2c_start.c", "a00368.html", "a00368" ], + [ "hal_i2c_start.h", "a00371.html", "a00371" ], + [ "hal_linux_i2c_userspace.c", "a00374.html", "a00374" ], + [ "hal_linux_i2c_userspace.h", "a00377.html", "a00377" ], + [ "hal_linux_kit_cdc.c", "a00380.html", "a00380" ], + [ "hal_linux_kit_cdc.h", "a00383.html", "a00383" ], + [ "hal_linux_kit_hid.c", "a00386.html", "a00386" ], + [ "hal_linux_kit_hid.h", "a00389.html", "a00389" ], + [ "hal_linux_timer.c", "a00392.html", "a00392" ], + [ "hal_pic32mx695f512h_i2c.c", "a00395.html", "a00395" ], + [ "hal_pic32mx695f512h_i2c.h", "a00398.html", "a00398" ], + [ "hal_pic32mx695f512h_timer.c", "a00401.html", "a00401" ], + [ "hal_pic32mz2048efm_i2c.c", "a00404.html", "a00404" ], + [ "hal_pic32mz2048efm_i2c.h", "a00407.html", "a00407" ], + [ "hal_pic32mz2048efm_timer.c", "a00410.html", "a00410" ], + [ "hal_sam4s_i2c_asf.c", "a00413.html", "a00413" ], + [ "hal_sam4s_i2c_asf.h", "a00416.html", "a00416" ], + [ "hal_sam4s_timer_asf.c", "a00419.html", "a00419" ], + [ "hal_samb11_i2c_asf.c", "a00422.html", "a00422" ], + [ "hal_samb11_i2c_asf.h", "a00425.html", "a00425" ], + [ "hal_samb11_timer_asf.c", "a00428.html", "a00428" ], + [ "hal_samd21_i2c_asf.c", "a00431.html", "a00431" ], + [ "hal_samd21_i2c_asf.h", "a00434.html", "a00434" ], + [ "hal_samd21_timer_asf.c", "a00437.html", "a00437" ], + [ "hal_samg55_i2c_asf.c", "a00440.html", "a00440" ], + [ "hal_samg55_i2c_asf.h", "a00443.html", "a00443" ], + [ "hal_samg55_timer_asf.c", "a00446.html", "a00446" ], + [ "hal_samv71_i2c_asf.c", "a00449.html", "a00449" ], + [ "hal_samv71_i2c_asf.h", "a00452.html", "a00452" ], + [ "hal_samv71_timer_asf.c", "a00455.html", "a00455" ], + [ "hal_swi_bitbang.c", "a00458.html", "a00458" ], + [ "hal_swi_bitbang.h", "a00461.html", "a00461" ], + [ "hal_swi_uart.c", "a00464.html", "a00464" ], + [ "hal_swi_uart.h", "a00467.html", "a00467" ], + [ "hal_timer_start.c", "a00470.html", "a00470" ], + [ "hal_win_kit_cdc.c", "a00473.html", "a00473" ], + [ "hal_win_kit_cdc.h", "a00476.html", "a00476" ], + [ "hal_win_kit_hid.c", "a00479.html", "a00479" ], + [ "hal_win_kit_hid.h", "a00482.html", "a00482" ], + [ "hal_win_timer.c", "a00485.html", "a00485" ], + [ "hal_xmega_a3bu_i2c_asf.c", "a00488.html", "a00488" ], + [ "hal_xmega_a3bu_i2c_asf.h", "a00491.html", "a00491" ], + [ "hal_xmega_a3bu_timer_asf.c", "a00494.html", "a00494" ], + [ "i2c_bitbang_samd21.c", "a00497.html", "a00497" ], + [ "i2c_bitbang_samd21.h", "a00500.html", "a00500" ], + [ "io_protection_key.h", "a00023.html", "a00023" ], + [ "kit_phy.h", "a00503.html", "a00503" ], + [ "kit_protocol.c", "a00506.html", "a00506" ], + [ "kit_protocol.h", "a00509.html", "a00509" ], + [ "secure_boot.c", "a00026.html", "a00026" ], + [ "secure_boot.h", "a00029.html", "a00029" ], + [ "secure_boot_memory.h", "a00032.html", "a00032" ], + [ "sha1_routines.c", "a00308.html", "a00308" ], + [ "sha1_routines.h", "a00311.html", "a00311" ], + [ "sha2_routines.c", "a00314.html", "a00314" ], + [ "sha2_routines.h", "a00317.html", "a00317" ], + [ "swi_bitbang_samd21.c", "a00512.html", "a00512" ], + [ "swi_bitbang_samd21.h", "a00515.html", "a00515" ], + [ "swi_uart_at90usb1287_asf.c", "a00518.html", "a00518" ], + [ "swi_uart_at90usb1287_asf.h", "a00521.html", "a00521" ], + [ "swi_uart_samd21_asf.c", "a00524.html", "a00524" ], + [ "swi_uart_samd21_asf.h", "a00527.html", "a00527" ], + [ "swi_uart_start.c", "a00530.html", "a00530" ], + [ "swi_uart_start.h", "a00533.html", "a00533" ], + [ "swi_uart_xmega_a3bu_asf.c", "a00536.html", "a00536" ], + [ "swi_uart_xmega_a3bu_asf.h", "a00539.html", "a00539" ], + [ "symmetric_authentication.c", "a00011.html", "a00011" ], + [ "symmetric_authentication.h", "a00014.html", "a00014" ] ]; \ No newline at end of file diff --git a/docs/html/functions.html b/docs/html/functions.html index 7051a2d3f..bf85cc659 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -90,7 +90,7 @@

- _ -

diff --git a/docs/html/functions_a.html b/docs/html/functions_a.html index d945647e7..75437ddd8 100644 --- a/docs/html/functions_a.html +++ b/docs/html/functions_a.html @@ -89,47 +89,50 @@
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

diff --git a/docs/html/functions_b.html b/docs/html/functions_b.html index b12ba0afe..70cb50140 100644 --- a/docs/html/functions_b.html +++ b/docs/html/functions_b.html @@ -90,39 +90,39 @@

- b -

diff --git a/docs/html/functions_c.html b/docs/html/functions_c.html index 52de4f746..a5c5a318a 100644 --- a/docs/html/functions_c.html +++ b/docs/html/functions_c.html @@ -90,77 +90,84 @@

- c -

diff --git a/docs/html/functions_d.html b/docs/html/functions_d.html index 80deb638d..651e25562 100644 --- a/docs/html/functions_d.html +++ b/docs/html/functions_d.html @@ -90,31 +90,32 @@

- d -

diff --git a/docs/html/functions_dup.js b/docs/html/functions_dup.js index 25f8cbb86..f31098cad 100644 --- a/docs/html/functions_dup.js +++ b/docs/html/functions_dup.js @@ -10,6 +10,7 @@ var functions_dup = [ "g", "functions_g.html", null ], [ "h", "functions_h.html", null ], [ "i", "functions_i.html", null ], + [ "j", "functions_j.html", null ], [ "k", "functions_k.html", null ], [ "m", "functions_m.html", null ], [ "n", "functions_n.html", null ], @@ -21,5 +22,6 @@ var functions_dup = [ "u", "functions_u.html", null ], [ "v", "functions_v.html", null ], [ "w", "functions_w.html", null ], + [ "y", "functions_y.html", null ], [ "z", "functions_z.html", null ] ]; \ No newline at end of file diff --git a/docs/html/functions_e.html b/docs/html/functions_e.html index 6b1832ad3..fcc82274b 100644 --- a/docs/html/functions_e.html +++ b/docs/html/functions_e.html @@ -89,20 +89,23 @@
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- e -

diff --git a/docs/html/functions_f.html b/docs/html/functions_f.html index 36912c589..7b2d23429 100644 --- a/docs/html/functions_f.html +++ b/docs/html/functions_f.html @@ -90,7 +90,7 @@

- f -

diff --git a/docs/html/functions_g.html b/docs/html/functions_g.html index 75cd18402..d9ba52ab7 100644 --- a/docs/html/functions_g.html +++ b/docs/html/functions_g.html @@ -90,13 +90,13 @@

- g -

diff --git a/docs/html/functions_h.html b/docs/html/functions_h.html index 0b216205e..ecc2c79cf 100644 --- a/docs/html/functions_h.html +++ b/docs/html/functions_h.html @@ -90,50 +90,51 @@

- h -

diff --git a/docs/html/functions_i.html b/docs/html/functions_i.html index 36367cf6b..7c716ec5b 100644 --- a/docs/html/functions_i.html +++ b/docs/html/functions_i.html @@ -90,61 +90,58 @@

- i -

diff --git a/docs/html/functions_j.html b/docs/html/functions_j.html new file mode 100644 index 000000000..ddcb1d430 --- /dev/null +++ b/docs/html/functions_j.html @@ -0,0 +1,107 @@ + + + + + + + +CryptoAuthLib: Data Fields + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- j -

+
+
+ + + + diff --git a/docs/html/functions_k.html b/docs/html/functions_k.html index 3d538d86b..b3ee5c44e 100644 --- a/docs/html/functions_k.html +++ b/docs/html/functions_k.html @@ -90,32 +90,34 @@

- k -

diff --git a/docs/html/functions_m.html b/docs/html/functions_m.html index 75070db8b..6d9ca5bf5 100644 --- a/docs/html/functions_m.html +++ b/docs/html/functions_m.html @@ -90,49 +90,49 @@

- m -

diff --git a/docs/html/functions_n.html b/docs/html/functions_n.html index 837e00fca..fd5ab0584 100644 --- a/docs/html/functions_n.html +++ b/docs/html/functions_n.html @@ -90,14 +90,14 @@

- n -

diff --git a/docs/html/functions_o.html b/docs/html/functions_o.html index 249f81c9a..e71e9bb9f 100644 --- a/docs/html/functions_o.html +++ b/docs/html/functions_o.html @@ -90,26 +90,26 @@

- o -

diff --git a/docs/html/functions_p.html b/docs/html/functions_p.html index 0c2d5352a..e382a7307 100644 --- a/docs/html/functions_p.html +++ b/docs/html/functions_p.html @@ -90,57 +90,63 @@

- p -

diff --git a/docs/html/functions_r.html b/docs/html/functions_r.html index 8d63edf0c..e27a92f73 100644 --- a/docs/html/functions_r.html +++ b/docs/html/functions_r.html @@ -90,25 +90,25 @@

- r -

diff --git a/docs/html/functions_s.html b/docs/html/functions_s.html index 8a9f3fdd6..0e6e2f166 100644 --- a/docs/html/functions_s.html +++ b/docs/html/functions_s.html @@ -90,84 +90,84 @@

- s -

diff --git a/docs/html/functions_t.html b/docs/html/functions_t.html index 77a64b47b..3443ffa47 100644 --- a/docs/html/functions_t.html +++ b/docs/html/functions_t.html @@ -90,77 +90,77 @@

- t -

diff --git a/docs/html/functions_u.html b/docs/html/functions_u.html index afe5e22a5..3eeda1ae7 100644 --- a/docs/html/functions_u.html +++ b/docs/html/functions_u.html @@ -90,16 +90,16 @@

- u -

diff --git a/docs/html/functions_v.html b/docs/html/functions_v.html index 468032987..131e62c3d 100644 --- a/docs/html/functions_v.html +++ b/docs/html/functions_v.html @@ -90,19 +90,19 @@

- v -

diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index 83ef1d280..ab539b08d 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -90,7 +90,7 @@

- _ -

diff --git a/docs/html/functions_vars.js b/docs/html/functions_vars.js index 77417c132..bfaf5d79d 100644 --- a/docs/html/functions_vars.js +++ b/docs/html/functions_vars.js @@ -10,6 +10,7 @@ var functions_vars = [ "g", "functions_vars_g.html", null ], [ "h", "functions_vars_h.html", null ], [ "i", "functions_vars_i.html", null ], + [ "j", "functions_vars_j.html", null ], [ "k", "functions_vars_k.html", null ], [ "m", "functions_vars_m.html", null ], [ "n", "functions_vars_n.html", null ], @@ -21,5 +22,6 @@ var functions_vars = [ "u", "functions_vars_u.html", null ], [ "v", "functions_vars_v.html", null ], [ "w", "functions_vars_w.html", null ], + [ "y", "functions_vars_y.html", null ], [ "z", "functions_vars_z.html", null ] ]; \ No newline at end of file diff --git a/docs/html/functions_vars_a.html b/docs/html/functions_vars_a.html index 293528a6f..00ea1163c 100644 --- a/docs/html/functions_vars_a.html +++ b/docs/html/functions_vars_a.html @@ -89,47 +89,50 @@  

- a -

diff --git a/docs/html/functions_vars_b.html b/docs/html/functions_vars_b.html index 109e16f2f..8d1e7c6fe 100644 --- a/docs/html/functions_vars_b.html +++ b/docs/html/functions_vars_b.html @@ -90,39 +90,39 @@

- b -

diff --git a/docs/html/functions_vars_c.html b/docs/html/functions_vars_c.html index 4ff92e89a..c16b3eff5 100644 --- a/docs/html/functions_vars_c.html +++ b/docs/html/functions_vars_c.html @@ -90,77 +90,84 @@

- c -

diff --git a/docs/html/functions_vars_d.html b/docs/html/functions_vars_d.html index b645bedef..bb411758e 100644 --- a/docs/html/functions_vars_d.html +++ b/docs/html/functions_vars_d.html @@ -90,31 +90,32 @@

- d -

diff --git a/docs/html/functions_vars_e.html b/docs/html/functions_vars_e.html index 4c32cc4da..df17d7b91 100644 --- a/docs/html/functions_vars_e.html +++ b/docs/html/functions_vars_e.html @@ -89,20 +89,23 @@  

- e -

diff --git a/docs/html/functions_vars_f.html b/docs/html/functions_vars_f.html index 6f72b7fb7..8310e2050 100644 --- a/docs/html/functions_vars_f.html +++ b/docs/html/functions_vars_f.html @@ -90,7 +90,7 @@

- f -

diff --git a/docs/html/functions_vars_g.html b/docs/html/functions_vars_g.html index 4815949da..d8e5bc5aa 100644 --- a/docs/html/functions_vars_g.html +++ b/docs/html/functions_vars_g.html @@ -90,13 +90,13 @@

- g -

diff --git a/docs/html/functions_vars_h.html b/docs/html/functions_vars_h.html index ec5593f1c..567712567 100644 --- a/docs/html/functions_vars_h.html +++ b/docs/html/functions_vars_h.html @@ -90,50 +90,51 @@

- h -

diff --git a/docs/html/functions_vars_i.html b/docs/html/functions_vars_i.html index e6e5f6c9d..26dd0424a 100644 --- a/docs/html/functions_vars_i.html +++ b/docs/html/functions_vars_i.html @@ -90,61 +90,58 @@

- i -

diff --git a/docs/html/functions_vars_j.html b/docs/html/functions_vars_j.html new file mode 100644 index 000000000..fa38045d2 --- /dev/null +++ b/docs/html/functions_vars_j.html @@ -0,0 +1,107 @@ + + + + + + + +CryptoAuthLib: Data Fields - Variables + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- j -

+
+
+ + + + diff --git a/docs/html/functions_vars_k.html b/docs/html/functions_vars_k.html index b89aee900..80d41dacd 100644 --- a/docs/html/functions_vars_k.html +++ b/docs/html/functions_vars_k.html @@ -90,32 +90,34 @@

- k -

diff --git a/docs/html/functions_vars_m.html b/docs/html/functions_vars_m.html index e0c7f91a0..54b366ff7 100644 --- a/docs/html/functions_vars_m.html +++ b/docs/html/functions_vars_m.html @@ -90,49 +90,49 @@

- m -

diff --git a/docs/html/functions_vars_n.html b/docs/html/functions_vars_n.html index b9756b1ec..9856c5c8d 100644 --- a/docs/html/functions_vars_n.html +++ b/docs/html/functions_vars_n.html @@ -90,14 +90,14 @@

- n -

diff --git a/docs/html/functions_vars_o.html b/docs/html/functions_vars_o.html index eb3c2256b..95e68ba56 100644 --- a/docs/html/functions_vars_o.html +++ b/docs/html/functions_vars_o.html @@ -90,26 +90,26 @@

- o -

diff --git a/docs/html/functions_vars_p.html b/docs/html/functions_vars_p.html index 711cb5eba..8a1404248 100644 --- a/docs/html/functions_vars_p.html +++ b/docs/html/functions_vars_p.html @@ -90,57 +90,63 @@

- p -

diff --git a/docs/html/functions_vars_r.html b/docs/html/functions_vars_r.html index f0ca919ea..af4842cda 100644 --- a/docs/html/functions_vars_r.html +++ b/docs/html/functions_vars_r.html @@ -90,25 +90,25 @@

- r -

diff --git a/docs/html/functions_vars_s.html b/docs/html/functions_vars_s.html index 8bb14330d..a8cb82bd1 100644 --- a/docs/html/functions_vars_s.html +++ b/docs/html/functions_vars_s.html @@ -90,84 +90,84 @@

- s -

diff --git a/docs/html/functions_vars_t.html b/docs/html/functions_vars_t.html index ed0fab71e..201e739b8 100644 --- a/docs/html/functions_vars_t.html +++ b/docs/html/functions_vars_t.html @@ -90,77 +90,77 @@

- t -

diff --git a/docs/html/functions_vars_u.html b/docs/html/functions_vars_u.html index 53cb3e6b1..758122c67 100644 --- a/docs/html/functions_vars_u.html +++ b/docs/html/functions_vars_u.html @@ -90,16 +90,16 @@

- u -

diff --git a/docs/html/functions_vars_v.html b/docs/html/functions_vars_v.html index 80fb05d95..0052b0a73 100644 --- a/docs/html/functions_vars_v.html +++ b/docs/html/functions_vars_v.html @@ -90,19 +90,19 @@

- v -

diff --git a/docs/html/functions_vars_w.html b/docs/html/functions_vars_w.html index ed6bd2c4f..f4a7f2caa 100644 --- a/docs/html/functions_vars_w.html +++ b/docs/html/functions_vars_w.html @@ -90,14 +90,14 @@

- w -

diff --git a/docs/html/functions_vars_y.html b/docs/html/functions_vars_y.html new file mode 100644 index 000000000..229d17bc3 --- /dev/null +++ b/docs/html/functions_vars_y.html @@ -0,0 +1,107 @@ + + + + + + + +CryptoAuthLib: Data Fields - Variables + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- y -

+
+
+ + + + diff --git a/docs/html/functions_vars_z.html b/docs/html/functions_vars_z.html index fd71f4ccb..faf3131b5 100644 --- a/docs/html/functions_vars_z.html +++ b/docs/html/functions_vars_z.html @@ -90,12 +90,12 @@

- z -

diff --git a/docs/html/functions_w.html b/docs/html/functions_w.html index 723d15490..188fd2cda 100644 --- a/docs/html/functions_w.html +++ b/docs/html/functions_w.html @@ -90,14 +90,14 @@

- w -

diff --git a/docs/html/functions_y.html b/docs/html/functions_y.html new file mode 100644 index 000000000..901dceb76 --- /dev/null +++ b/docs/html/functions_y.html @@ -0,0 +1,107 @@ + + + + + + + +CryptoAuthLib: Data Fields + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CryptoAuthLib +
+
Microchip CryptoAuthentication Library
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- y -

+
+
+ + + + diff --git a/docs/html/functions_z.html b/docs/html/functions_z.html index f9ecba91c..d48b4c23d 100644 --- a/docs/html/functions_z.html +++ b/docs/html/functions_z.html @@ -90,12 +90,12 @@

- z -

diff --git a/docs/html/globals.html b/docs/html/globals.html index bd6b6e85f..b0b46fbf5 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -90,30 +90,30 @@

- _ -

diff --git a/docs/html/globals_a.html b/docs/html/globals_a.html index 1677d29c1..51ec5b350 100644 --- a/docs/html/globals_a.html +++ b/docs/html/globals_a.html @@ -90,1836 +90,1878 @@

- a -

diff --git a/docs/html/globals_b.html b/docs/html/globals_b.html index 5a94fddc2..3ad61777a 100644 --- a/docs/html/globals_b.html +++ b/docs/html/globals_b.html @@ -90,39 +90,39 @@

- b -

diff --git a/docs/html/globals_c.html b/docs/html/globals_c.html index bb5d9d3bf..5a3b3ceed 100644 --- a/docs/html/globals_c.html +++ b/docs/html/globals_c.html @@ -90,201 +90,201 @@

- c -

diff --git a/docs/html/globals_d.html b/docs/html/globals_d.html index 6ce5c97f0..924067ef9 100644 --- a/docs/html/globals_d.html +++ b/docs/html/globals_d.html @@ -90,131 +90,131 @@

- d -

diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index 018b50e48..46d5b8cac 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -90,10 +90,10 @@

- _ -

diff --git a/docs/html/globals_defs_a.html b/docs/html/globals_defs_a.html index ed5cd6729..fe5203f86 100644 --- a/docs/html/globals_defs_a.html +++ b/docs/html/globals_defs_a.html @@ -90,451 +90,454 @@

- a -

diff --git a/docs/html/globals_defs_b.html b/docs/html/globals_defs_b.html index 960eaba0a..c5434bf2b 100644 --- a/docs/html/globals_defs_b.html +++ b/docs/html/globals_defs_b.html @@ -90,28 +90,28 @@

- b -

diff --git a/docs/html/globals_defs_c.html b/docs/html/globals_defs_c.html index 1a60dbca2..b5cd041b3 100644 --- a/docs/html/globals_defs_c.html +++ b/docs/html/globals_defs_c.html @@ -90,120 +90,120 @@

- c -

diff --git a/docs/html/globals_defs_d.html b/docs/html/globals_defs_d.html index 14c1187c0..f5bec2d3b 100644 --- a/docs/html/globals_defs_d.html +++ b/docs/html/globals_defs_d.html @@ -90,69 +90,69 @@

- d -

diff --git a/docs/html/globals_defs_e.html b/docs/html/globals_defs_e.html index 80098100f..cfda97bae 100644 --- a/docs/html/globals_defs_e.html +++ b/docs/html/globals_defs_e.html @@ -90,55 +90,55 @@

- e -

diff --git a/docs/html/globals_defs_f.html b/docs/html/globals_defs_f.html index e3b71443f..37c59298f 100644 --- a/docs/html/globals_defs_f.html +++ b/docs/html/globals_defs_f.html @@ -90,7 +90,7 @@

- f -

diff --git a/docs/html/globals_defs_g.html b/docs/html/globals_defs_g.html index 85a3cb46c..494f0160a 100644 --- a/docs/html/globals_defs_g.html +++ b/docs/html/globals_defs_g.html @@ -90,89 +90,89 @@

- g -

diff --git a/docs/html/globals_defs_h.html b/docs/html/globals_defs_h.html index c917a8351..5064fba17 100644 --- a/docs/html/globals_defs_h.html +++ b/docs/html/globals_defs_h.html @@ -90,56 +90,56 @@

- h -

diff --git a/docs/html/globals_defs_i.html b/docs/html/globals_defs_i.html index 9b8355f31..49fc24350 100644 --- a/docs/html/globals_defs_i.html +++ b/docs/html/globals_defs_i.html @@ -90,115 +90,115 @@

- i -

diff --git a/docs/html/globals_defs_k.html b/docs/html/globals_defs_k.html index 8bffe7b0a..002e5a2e0 100644 --- a/docs/html/globals_defs_k.html +++ b/docs/html/globals_defs_k.html @@ -90,136 +90,136 @@

- k -

diff --git a/docs/html/globals_defs_l.html b/docs/html/globals_defs_l.html index bd5e9d656..fb87ca278 100644 --- a/docs/html/globals_defs_l.html +++ b/docs/html/globals_defs_l.html @@ -90,37 +90,37 @@

- l -

diff --git a/docs/html/globals_defs_m.html b/docs/html/globals_defs_m.html index ae0ba9d1c..b7f29edab 100644 --- a/docs/html/globals_defs_m.html +++ b/docs/html/globals_defs_m.html @@ -90,95 +90,95 @@

- m -

diff --git a/docs/html/globals_defs_n.html b/docs/html/globals_defs_n.html index 89f0ba838..03db17972 100644 --- a/docs/html/globals_defs_n.html +++ b/docs/html/globals_defs_n.html @@ -90,82 +90,82 @@

- n -

diff --git a/docs/html/globals_defs_o.html b/docs/html/globals_defs_o.html index 64f328402..06e0406c5 100644 --- a/docs/html/globals_defs_o.html +++ b/docs/html/globals_defs_o.html @@ -90,7 +90,7 @@

- o -

diff --git a/docs/html/globals_defs_p.html b/docs/html/globals_defs_p.html index ef128af83..f69d66ed1 100644 --- a/docs/html/globals_defs_p.html +++ b/docs/html/globals_defs_p.html @@ -90,55 +90,55 @@

- p -

diff --git a/docs/html/globals_defs_r.html b/docs/html/globals_defs_r.html index b965fc59a..1382eef84 100644 --- a/docs/html/globals_defs_r.html +++ b/docs/html/globals_defs_r.html @@ -90,67 +90,67 @@

- r -

diff --git a/docs/html/globals_defs_s.html b/docs/html/globals_defs_s.html index 4f4a5c569..a88b7c31c 100644 --- a/docs/html/globals_defs_s.html +++ b/docs/html/globals_defs_s.html @@ -90,253 +90,253 @@

- s -

diff --git a/docs/html/globals_defs_t.html b/docs/html/globals_defs_t.html index c17a3c533..bf897d5ef 100644 --- a/docs/html/globals_defs_t.html +++ b/docs/html/globals_defs_t.html @@ -90,22 +90,22 @@

- t -

diff --git a/docs/html/globals_defs_u.html b/docs/html/globals_defs_u.html index 71dd8106f..33e0abbb6 100644 --- a/docs/html/globals_defs_u.html +++ b/docs/html/globals_defs_u.html @@ -90,44 +90,44 @@

- u -

diff --git a/docs/html/globals_defs_v.html b/docs/html/globals_defs_v.html index 67d58f27a..4a81f632b 100644 --- a/docs/html/globals_defs_v.html +++ b/docs/html/globals_defs_v.html @@ -90,91 +90,91 @@

- v -

diff --git a/docs/html/globals_defs_w.html b/docs/html/globals_defs_w.html index b4efb8646..bcc7ca4db 100644 --- a/docs/html/globals_defs_w.html +++ b/docs/html/globals_defs_w.html @@ -90,40 +90,40 @@

- w -

diff --git a/docs/html/globals_defs_z.html b/docs/html/globals_defs_z.html index ea40d0486..77e62dc7d 100644 --- a/docs/html/globals_defs_z.html +++ b/docs/html/globals_defs_z.html @@ -90,7 +90,7 @@

- z -

diff --git a/docs/html/globals_e.html b/docs/html/globals_e.html index cff28c0ed..8776a5b8e 100644 --- a/docs/html/globals_e.html +++ b/docs/html/globals_e.html @@ -90,64 +90,64 @@

- e -

diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html index 62781536f..5bee5f8a3 100644 --- a/docs/html/globals_enum.html +++ b/docs/html/globals_enum.html @@ -88,34 +88,34 @@
 
diff --git a/docs/html/globals_eval.html b/docs/html/globals_eval.html index cf7caddfa..57753d97e 100644 --- a/docs/html/globals_eval.html +++ b/docs/html/globals_eval.html @@ -90,272 +90,272 @@

- a -

- c -

- d -

- i -

- s -

diff --git a/docs/html/globals_f.html b/docs/html/globals_f.html index a3b07bb4c..ced30d55d 100644 --- a/docs/html/globals_f.html +++ b/docs/html/globals_f.html @@ -90,16 +90,16 @@

- f -

diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index d9fcf78a5..042a54910 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -90,11 +90,11 @@

- _ -

diff --git a/docs/html/globals_func_a.html b/docs/html/globals_func_a.html index 50a2b98b4..103beba1a 100644 --- a/docs/html/globals_func_a.html +++ b/docs/html/globals_func_a.html @@ -90,1072 +90,1104 @@

- a -

diff --git a/docs/html/globals_func_b.html b/docs/html/globals_func_b.html index eb3b2f9b3..9f2eefd9d 100644 --- a/docs/html/globals_func_b.html +++ b/docs/html/globals_func_b.html @@ -90,12 +90,12 @@

- b -

diff --git a/docs/html/globals_func_c.html b/docs/html/globals_func_c.html index 717a36802..3d2dc1a7f 100644 --- a/docs/html/globals_func_c.html +++ b/docs/html/globals_func_c.html @@ -90,34 +90,34 @@

- c -

diff --git a/docs/html/globals_func_d.html b/docs/html/globals_func_d.html index 304912549..2f8c0d18a 100644 --- a/docs/html/globals_func_d.html +++ b/docs/html/globals_func_d.html @@ -90,21 +90,21 @@

- d -

diff --git a/docs/html/globals_func_e.html b/docs/html/globals_func_e.html index 493a9ac85..654307759 100644 --- a/docs/html/globals_func_e.html +++ b/docs/html/globals_func_e.html @@ -90,7 +90,7 @@

- e -

diff --git a/docs/html/globals_func_h.html b/docs/html/globals_func_h.html index 5fa3afd5e..316b9c851 100644 --- a/docs/html/globals_func_h.html +++ b/docs/html/globals_func_h.html @@ -90,199 +90,199 @@

- h -

diff --git a/docs/html/globals_func_i.html b/docs/html/globals_func_i.html index 65dfe2002..8e201c5ae 100644 --- a/docs/html/globals_func_i.html +++ b/docs/html/globals_func_i.html @@ -90,114 +90,114 @@

- i -

diff --git a/docs/html/globals_func_k.html b/docs/html/globals_func_k.html index a25080820..7fed90d6c 100644 --- a/docs/html/globals_func_k.html +++ b/docs/html/globals_func_k.html @@ -90,44 +90,44 @@

- k -

diff --git a/docs/html/globals_func_n.html b/docs/html/globals_func_n.html index a5b014110..1cfed8d8e 100644 --- a/docs/html/globals_func_n.html +++ b/docs/html/globals_func_n.html @@ -90,14 +90,14 @@

- n -

diff --git a/docs/html/globals_func_o.html b/docs/html/globals_func_o.html index 2ca4247eb..cfd574b35 100644 --- a/docs/html/globals_func_o.html +++ b/docs/html/globals_func_o.html @@ -90,7 +90,7 @@

- o -

diff --git a/docs/html/globals_func_p.html b/docs/html/globals_func_p.html index cda2b7688..8b127d018 100644 --- a/docs/html/globals_func_p.html +++ b/docs/html/globals_func_p.html @@ -90,8 +90,8 @@

- p -

diff --git a/docs/html/globals_func_r.html b/docs/html/globals_func_r.html index f11588334..d43c113a3 100644 --- a/docs/html/globals_func_r.html +++ b/docs/html/globals_func_r.html @@ -90,10 +90,10 @@

- r -

diff --git a/docs/html/globals_func_s.html b/docs/html/globals_func_s.html index 4afbfa44b..02bed5d89 100644 --- a/docs/html/globals_func_s.html +++ b/docs/html/globals_func_s.html @@ -90,105 +90,109 @@

- s -

diff --git a/docs/html/globals_func_t.html b/docs/html/globals_func_t.html index c54787fcb..b03f29846 100644 --- a/docs/html/globals_func_t.html +++ b/docs/html/globals_func_t.html @@ -90,7 +90,7 @@

- t -

diff --git a/docs/html/globals_g.html b/docs/html/globals_g.html index aa230db14..814c395ef 100644 --- a/docs/html/globals_g.html +++ b/docs/html/globals_g.html @@ -90,89 +90,89 @@

- g -

diff --git a/docs/html/globals_h.html b/docs/html/globals_h.html index 0f5df69b5..f4824c9f9 100644 --- a/docs/html/globals_h.html +++ b/docs/html/globals_h.html @@ -90,258 +90,258 @@

- h -

diff --git a/docs/html/globals_i.html b/docs/html/globals_i.html index 2f5c1ade3..168c48602 100644 --- a/docs/html/globals_i.html +++ b/docs/html/globals_i.html @@ -90,258 +90,258 @@

- i -

diff --git a/docs/html/globals_k.html b/docs/html/globals_k.html index 58de963f3..aa1e5872b 100644 --- a/docs/html/globals_k.html +++ b/docs/html/globals_k.html @@ -90,176 +90,176 @@

- k -

diff --git a/docs/html/globals_l.html b/docs/html/globals_l.html index 0e27acc5b..795af1065 100644 --- a/docs/html/globals_l.html +++ b/docs/html/globals_l.html @@ -90,52 +90,52 @@

- l -

diff --git a/docs/html/globals_m.html b/docs/html/globals_m.html index 762eae04d..d7993c13f 100644 --- a/docs/html/globals_m.html +++ b/docs/html/globals_m.html @@ -90,104 +90,104 @@

- m -

diff --git a/docs/html/globals_n.html b/docs/html/globals_n.html index 28fc51755..fa93d97a4 100644 --- a/docs/html/globals_n.html +++ b/docs/html/globals_n.html @@ -90,98 +90,98 @@

- n -

diff --git a/docs/html/globals_o.html b/docs/html/globals_o.html index 52434bb07..768550514 100644 --- a/docs/html/globals_o.html +++ b/docs/html/globals_o.html @@ -90,13 +90,13 @@

- o -

diff --git a/docs/html/globals_p.html b/docs/html/globals_p.html index 032ed0c18..2b267022d 100644 --- a/docs/html/globals_p.html +++ b/docs/html/globals_p.html @@ -90,73 +90,73 @@

- p -

diff --git a/docs/html/globals_r.html b/docs/html/globals_r.html index 468ecd623..2dd4faa29 100644 --- a/docs/html/globals_r.html +++ b/docs/html/globals_r.html @@ -90,76 +90,76 @@

- r -

diff --git a/docs/html/globals_s.html b/docs/html/globals_s.html index 1eb1c2b98..7e4f564a0 100644 --- a/docs/html/globals_s.html +++ b/docs/html/globals_s.html @@ -90,440 +90,444 @@

- s -

diff --git a/docs/html/globals_t.html b/docs/html/globals_t.html index e9af8e187..89eb24763 100644 --- a/docs/html/globals_t.html +++ b/docs/html/globals_t.html @@ -90,34 +90,34 @@

- t -

diff --git a/docs/html/globals_type.html b/docs/html/globals_type.html index 082edfdd5..6de38afd2 100644 --- a/docs/html/globals_type.html +++ b/docs/html/globals_type.html @@ -90,157 +90,160 @@

- a -

- c -

- h -

- s -

diff --git a/docs/html/globals_u.html b/docs/html/globals_u.html index 97957d615..cfec3e1d2 100644 --- a/docs/html/globals_u.html +++ b/docs/html/globals_u.html @@ -90,44 +90,44 @@

- u -

diff --git a/docs/html/globals_v.html b/docs/html/globals_v.html index 63b155501..d64681dc5 100644 --- a/docs/html/globals_v.html +++ b/docs/html/globals_v.html @@ -90,91 +90,91 @@

- v -

diff --git a/docs/html/globals_vars.html b/docs/html/globals_vars.html index dafee9e10..3b93b11b1 100644 --- a/docs/html/globals_vars.html +++ b/docs/html/globals_vars.html @@ -90,291 +90,295 @@

- _ -

- a -

- b -

- c -

- d -

- e -

- f -

- i -

- l -

- m -

- n -

- o -

- p -

- r -

- s -

- t -

- w -

diff --git a/docs/html/globals_w.html b/docs/html/globals_w.html index 34e4777ff..516d3f4c6 100644 --- a/docs/html/globals_w.html +++ b/docs/html/globals_w.html @@ -90,49 +90,49 @@

- w -

diff --git a/docs/html/globals_z.html b/docs/html/globals_z.html index 4c86692d7..44853a387 100644 --- a/docs/html/globals_z.html +++ b/docs/html/globals_z.html @@ -90,7 +90,7 @@

- z -

diff --git a/docs/html/index.html b/docs/html/index.html index 2d3ecceca..a453972b0 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -123,6 +123,11 @@

Examples

  • Node Authentication Example Using Asymmetric PKI is a complete, all-in-one example demonstrating all the stages of crypto authentication starting from provisioning the Crypto Authentication device ATECC608A/ATECC508A with keys and certificates to demonstrating an authentication sequence using asymmetric techniques. http://www.microchip.com/SWLibraryWeb/product.aspx?product=CryptoAuthLib
  • Release notes

    +

    01/04/2019

      +
    • Added GCM functions
    • +
    • Split AES modes into separate files
    • +
    • Bug fix in SWI START driver
    • +

    10/25/2018

    • Added basic certificate functions to the python wrapper.
    • Added Espressif ESP32 I2C driver.
    • @@ -141,14 +146,14 @@

      Release notes

    • Added ATCA_NO_HEAP define to remove use of malloc/free.
    • Moved PEM functions to their own file in atcacert.
    • Added wake retry to accomodate power on self test delay.
    • -
    • Added ca_cert_def member to atcacert_def_s so cert chains can be traversed as a linked list.
    • +
    • Added ca_cert_def member to atcacert_def_s so cert chains can be traversed as a linked list.

    03/29/2018

    • Added support for response polling by default, which will make commands return faster (define ATCA_NO_POLL to use old delay method).
    • Removed atcatls related files as they were of limited value.
    • Test framework generates a prompt before locking test configuration.
    • Test framework puts device to sleep between tests.
    • -
    • Fixed mode parameter issue in atcah_gen_key_msg().
    • +
    • Fixed mode parameter issue in atcah_gen_key_msg().
    • ATECC608A health test error code added.

    01/15/2018

      @@ -164,38 +169,38 @@

      Release notes

    • atca_basic functions and tests now split into multiple files based on command
    • Added support for multiple base64 encoding rules
    • Added support for JSON Web Tokens (jwt)
    • -
    • Fixed atcab_write_enc() function to encrypt the data even when the device is unlocked
    • -
    • Fixed atcab_base64encode_() for the extra newline
    • -
    • Updated atcab_ecdh_enc() to work more consistently
    • +
    • Fixed atcab_write_enc() function to encrypt the data even when the device is unlocked
    • +
    • Fixed atcab_base64encode_() for the extra newline
    • +
    • Updated atcab_ecdh_enc() to work more consistently

    07/01/2017

    01/08/2016

    • New HAL implementations for
        @@ -204,7 +209,7 @@

        Release notes

      • XMega A3Bu HAL implementation
    • -
    • Added atcab_version() method to return current version string of libary to application
    • +
    • Added atcab_version() method to return current version string of libary to application
    • New Bus and Discovery API
      • returns a list of ATCA device configurations for each CryptoAuth device found
      • currently implemented on SAMD21/R21 I2C, SAMV71
      • @@ -215,7 +220,7 @@

        Release notes

      • Added missing doxygen documentation for some CryptoAuthLib methods
      • Stubs for HAL SPI removed as they are unused for SHA204A and ECC508A support
      • bug fixes
      • -
      • updated atcab_sha() to accept a variable length message that is > 64 bytes and not a multiple of 64 bytes (the SHA block size).
      • +
      • updated atcab_sha() to accept a variable length message that is > 64 bytes and not a multiple of 64 bytes (the SHA block size).
      • refactored Cert I/O and Cert Data tests to be smaller
      • 'uncrustify' source formatting
      • published on GitHub
      • diff --git a/docs/html/menudata.js b/docs/html/menudata.js index faef79523..20a97730e 100644 --- a/docs/html/menudata.js +++ b/docs/html/menudata.js @@ -40,6 +40,7 @@ var menudata={children:[ {text:"g",url:"functions_g.html#index_g"}, {text:"h",url:"functions_h.html#index_h"}, {text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, {text:"k",url:"functions_k.html#index_k"}, {text:"m",url:"functions_m.html#index_m"}, {text:"n",url:"functions_n.html#index_n"}, @@ -51,6 +52,7 @@ var menudata={children:[ {text:"u",url:"functions_u.html#index_u"}, {text:"v",url:"functions_v.html#index_v"}, {text:"w",url:"functions_w.html#index_w"}, +{text:"y",url:"functions_y.html#index_y"}, {text:"z",url:"functions_z.html#index_z"}]}, {text:"Variables",url:"functions_vars.html",children:[ {text:"_",url:"functions_vars.html#index__"}, @@ -63,6 +65,7 @@ var menudata={children:[ {text:"g",url:"functions_vars_g.html#index_g"}, {text:"h",url:"functions_vars_h.html#index_h"}, {text:"i",url:"functions_vars_i.html#index_i"}, +{text:"j",url:"functions_vars_j.html#index_j"}, {text:"k",url:"functions_vars_k.html#index_k"}, {text:"m",url:"functions_vars_m.html#index_m"}, {text:"n",url:"functions_vars_n.html#index_n"}, @@ -74,6 +77,7 @@ var menudata={children:[ {text:"u",url:"functions_vars_u.html#index_u"}, {text:"v",url:"functions_vars_v.html#index_v"}, {text:"w",url:"functions_vars_w.html#index_w"}, +{text:"y",url:"functions_vars_y.html#index_y"}, {text:"z",url:"functions_vars_z.html#index_z"}]}]}]}, {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, diff --git a/docs/html/modules.html b/docs/html/modules.html index 0e463a8e5..d2afdcd92 100644 --- a/docs/html/modules.html +++ b/docs/html/modules.html @@ -92,16 +92,16 @@
        Here is a list of all modules:
        - - - - - - - - - - + + + + + + + + + +
         Configuration (cfg_)Logical device configurations describe the CryptoAuth device type and logical interface
         ATCACommand (atca_)CryptoAuthLib command builder object, ATCACommand. Member functions for the ATCACommand object
         ATCADevice (atca_)ATCADevice object - composite of command and interface objects
         ATCAIface (atca_)Abstract interface to all CryptoAuth device types. This interface connects to the HAL implementation and abstracts the physical details of the device communication from all the upper layers of CryptoAuthLib
         Certificate manipulation methods (atcacert_)These methods provide convenient ways to perform certification I/O with CryptoAuth chips and perform certificate manipulation in memory
         Basic Crypto API methods (atcab_)These methods provide the most convenient, simple API to CryptoAuth chips
         Software crypto methods (atcac_)These methods provide a software implementation of various crypto algorithms
         Hardware abstraction layer (hal_)These methods define the hardware abstraction layer for communicating with a CryptoAuth device
         Host side crypto methods (atcah_)Use these functions if your system does not use an ATCADevice as a host but implements the host in firmware. The functions provide host-side cryptographic functionality for an ATECC client device. They are intended to accompany the CryptoAuthLib functions. They can be called directly from an application, or integrated into an API
         JSON Web Token (JWT) methods (atca_jwt_)Methods for signing and verifying JSON Web Token (JWT) tokens
         Configuration (cfg_)Logical device configurations describe the CryptoAuth device type and logical interface
         ATCACommand (atca_)CryptoAuthLib command builder object, ATCACommand. Member functions for the ATCACommand object
         ATCADevice (atca_)ATCADevice object - composite of command and interface objects
         ATCAIface (atca_)Abstract interface to all CryptoAuth device types. This interface connects to the HAL implementation and abstracts the physical details of the device communication from all the upper layers of CryptoAuthLib
         Certificate manipulation methods (atcacert_)These methods provide convenient ways to perform certification I/O with CryptoAuth chips and perform certificate manipulation in memory
         Basic Crypto API methods (atcab_)These methods provide the most convenient, simple API to CryptoAuth chips
         Software crypto methods (atcac_)These methods provide a software implementation of various crypto algorithms
         Hardware abstraction layer (hal_)These methods define the hardware abstraction layer for communicating with a CryptoAuth device
         Host side crypto methods (atcah_)Use these functions if your system does not use an ATCADevice as a host but implements the host in firmware. The functions provide host-side cryptographic functionality for an ATECC client device. They are intended to accompany the CryptoAuthLib functions. They can be called directly from an application, or integrated into an API
         JSON Web Token (JWT) methods (atca_jwt_)Methods for signing and verifying JSON Web Token (JWT) tokens
        diff --git a/docs/html/modules.js b/docs/html/modules.js index d40c8a7f1..942d3659d 100644 --- a/docs/html/modules.js +++ b/docs/html/modules.js @@ -1,13 +1,13 @@ var modules = [ - [ "Configuration (cfg_)", "a03530.html", "a03530" ], - [ "ATCACommand (atca_)", "a03531.html", "a03531" ], - [ "ATCADevice (atca_)", "a03532.html", "a03532" ], - [ "ATCAIface (atca_)", "a03533.html", "a03533" ], - [ "Certificate manipulation methods (atcacert_)", "a03534.html", "a03534" ], - [ "Basic Crypto API methods (atcab_)", "a03535.html", "a03535" ], - [ "Software crypto methods (atcac_)", "a03536.html", "a03536" ], - [ "Hardware abstraction layer (hal_)", "a03537.html", "a03537" ], - [ "Host side crypto methods (atcah_)", "a03538.html", "a03538" ], - [ "JSON Web Token (JWT) methods (atca_jwt_)", "a03539.html", "a03539" ] + [ "Configuration (cfg_)", "a00905.html", "a00905" ], + [ "ATCACommand (atca_)", "a00906.html", "a00906" ], + [ "ATCADevice (atca_)", "a00907.html", "a00907" ], + [ "ATCAIface (atca_)", "a00908.html", "a00908" ], + [ "Certificate manipulation methods (atcacert_)", "a00909.html", "a00909" ], + [ "Basic Crypto API methods (atcab_)", "a00910.html", "a00910" ], + [ "Software crypto methods (atcac_)", "a00911.html", "a00911" ], + [ "Hardware abstraction layer (hal_)", "a00912.html", "a00912" ], + [ "Host side crypto methods (atcah_)", "a00913.html", "a00913" ], + [ "JSON Web Token (JWT) methods (atca_jwt_)", "a00914.html", "a00914" ] ]; \ No newline at end of file diff --git a/docs/html/navtreedata.js b/docs/html/navtreedata.js index 687b309bc..d27b02905 100644 --- a/docs/html/navtreedata.js +++ b/docs/html/navtreedata.js @@ -25,11 +25,12 @@ var NAVTREE = [ [ "CryptoAuthLib", "index.html", [ [ "CryptoAuthLib - Microchip CryptoAuthentication Library", "index.html", null ], - [ "License", "a03772.html", null ], - [ "basic directory - Purpose", "a03773.html", null ], - [ "crypto directory - Purpose", "a03774.html", null ], - [ "HAL Directory - Purpose", "a03775.html", null ], - [ "app directory - Purpose", "a03776.html", null ], + [ "License", "a01151.html", null ], + [ "basic directory - Purpose", "a01152.html", null ], + [ "crypto directory - Purpose", "a01153.html", null ], + [ "HAL Directory - Purpose", "a01154.html", null ], + [ "IP Protection with Symmetric Authentication", "a01155.html", null ], + [ "app directory - Purpose", "a01156.html", null ], [ "Modules", "modules.html", "modules" ], [ "Data Structures", "annotated.html", [ [ "Data Structures", "annotated.html", "annotated_dup" ], @@ -57,20 +58,20 @@ var NAVTREE = var NAVTREEINDEX = [ "a00011.html", -"a00278_source.html", -"a00491.html#a076fc28889d32327dd3372538106da92", -"a03531.html#ga3495c2fd81985342858bac47300bcdc8", -"a03531.html#ga84f7e63b8711e799da259862b170fd75", -"a03531.html#gacbec80dc1b5f24d3013c2a9b06c11bdc", -"a03533.html#gac06336335e5f3191e3b1fc06d2830d96", -"a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe", -"a03535.html#ga50731dca3906502d901f5762aa4d9e71", -"a03535.html#gae8cc7670847805423ad591985eecd832", -"a03537.html#ga47588dbefadcc1569513b053a156f3d6", -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d", -"a03538.html#ga43496218f8a98faad996489af047272f", -"a03603.html#a7e2ecd6c0b4cef9637e3b281d29200ce", -"classes.html" +"a00233.html", +"a00500.html#a560b261db9a1d59e1cd72a73da03d06c", +"a00906.html#ga2b2c07254f098dc8f8d87f2e09703adb", +"a00906.html#ga7b2f5fb4edfbf4cb719aedbd7215b863", +"a00906.html#gac0fb0edb797b754a069e12931a001257", +"a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb", +"a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4", +"a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d", +"a00910.html#gad115ce255664a48b80e90ea19c156b79", +"a00912.html#ga31fd8170a49623686543f6247b883bd1", +"a00912.html#gab77081d6d85ee3ab839a0882e80e9e87", +"a00913.html#ga05323075c94849bf70e84f5a5931f058", +"a00958.html#abdd7b8bd26139998d9da63a4fa562735", +"a01130.html#ac21eed4200889cc115d16a781871d01c" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index ff3abbc86..e444032f5 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -1,253 +1,253 @@ var NAVTREEINDEX0 = { -"a00011.html":[8,0,73], -"a00011.html#a19617ea9c26833614201b9695ec7a1ca":[8,0,73,0], -"a00014.html":[8,0,74], -"a00014.html#a0bb2754dfd3576e2db410a717cfefc98":[8,0,74,3], -"a00014.html#a19617ea9c26833614201b9695ec7a1ca":[8,0,74,6], -"a00014.html#a60c58ea0ec675162d62034323c906b9b":[8,0,74,2], -"a00014.html#a78d2d5f4d0c6ce2228e32d0ed1baddee":[8,0,74,0], -"a00014.html#a80d86458de1b0031747eeeffb6feee0b":[8,0,74,5], -"a00014.html#aa6f08e0b0783a9989ae5c4584668fdcc":[8,0,74,1], -"a00014.html#ad3e25c542063abb044288e338e0df87a":[8,0,74,4], -"a00014_source.html":[8,0,74], -"a00017.html":[8,0,131], -"a00017.html#a8e02c996fdc083bb4c4444057e429a44":[8,0,131,1], -"a00017.html#adb01c317f81145702f564ca1d46ec33b":[8,0,131,0], -"a00017_source.html":[8,0,131], -"a00020.html":[8,0,135], -"a00020.html#a67e11e4c8a5491952d9cdea3dee7308a":[8,0,135,0], -"a00020.html#a861a785461af4116bca9343019225abd":[8,0,135,1], -"a00023.html":[8,0,136], -"a00023.html#a07cf8cf7a12bb9592fff7a31a369c1a5":[8,0,136,8], -"a00023.html#a197406dca9e671c3ef8036976108527f":[8,0,136,11], -"a00023.html#a3eef897b793c9ff7430c09d88bd8bac0":[8,0,136,5], -"a00023.html#a5aae2464eb2bb84cec34bfd422697a27":[8,0,136,3], -"a00023.html#a61ab82e3ca8c3f985cfc8b1a06daaced":[8,0,136,4], -"a00023.html#a67e11e4c8a5491952d9cdea3dee7308a":[8,0,136,10], -"a00023.html#a77b52436dd62634e2ee7aed31be5f681":[8,0,136,9], -"a00023.html#a861a785461af4116bca9343019225abd":[8,0,136,12], -"a00023.html#a93cbf6aee50e7449217cf18f2ebfc690":[8,0,136,6], -"a00023.html#aad47571829afb2de827111c11df184de":[8,0,136,7], -"a00023.html#abda1d3106b26d6e32fddd71223ecb491":[8,0,136,2], -"a00023_source.html":[8,0,136], -"a00026.html":[8,0,137], -"a00026.html#a00a29e86e9ab8b9d74b95e194a1b08f2":[8,0,137,6], -"a00026.html#a25b3c765095b474bc2b93f87d96f7b28":[8,0,137,5], -"a00026.html#a6378e763208c43ba1fbcadd8bc8a084c":[8,0,137,1], -"a00026.html#aa635e6de2a04772df6edfdc1973236b9":[8,0,137,4], -"a00026.html#abf726b809a542bc68519520b61b755a3":[8,0,137,2], -"a00026.html#ad744cc79ced98d366fed07780032bc47":[8,0,137,3], -"a00026_source.html":[8,0,137], -"a00089.html":[8,0,25], -"a00089_source.html":[8,0,25], -"a00092.html":[8,0,26], -"a00095.html":[8,0,27], -"a00095_source.html":[8,0,27], -"a00098.html":[8,0,28], -"a00101.html":[8,0,29], -"a00101.html#a023880ad2167cc0d6cefb7f747b73c92":[8,0,29,393], -"a00101.html#a02f20fbee84fe680d94b94a2b2828040":[8,0,29,381], -"a00101.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799":[8,0,29,399], -"a00101.html#a0b7d56888416e08f1ff67252072e3cea":[8,0,29,403], -"a00101.html#a15623038b9b0b4b51243691fe15253e2":[8,0,29,410], -"a00101.html#a1a38e9575eb4f714377889ce5270e60b":[8,0,29,389], -"a00101.html#a1a551775820d79c59f49068140e40f1b":[8,0,29,405], -"a00101.html#a1acc7b9af9cf3c6c556bd910ce4f239b":[8,0,29,386], -"a00101.html#a1b104109ce8d8c8a99484bc52d58460a":[8,0,29,421], -"a00101.html#a1da616e68f89a90e6fa3c920b4708fe2":[8,0,29,423], -"a00101.html#a203996620baf9cdf0aa01dd719e02d06":[8,0,29,432], -"a00101.html#a2d9e0bcb5ccf94f140b1cd519f407ffa":[8,0,29,429], -"a00101.html#a35246a9bad0d77d26b59b542928c9e34":[8,0,29,388], -"a00101.html#a3b8fb940e149c6fb29801ef573cc6311":[8,0,29,430], -"a00101.html#a3d6ae4ea1e385c2f7521495b53715a3f":[8,0,29,420], -"a00101.html#a3f7d34f0bcacd6c816c2b51cd13f5364":[8,0,29,408], -"a00101.html#a47f281930ad5bc31576ccd06e913563f":[8,0,29,407], -"a00101.html#a4c6b67a2a6193a1e317b6ef16ca3fca6":[8,0,29,411], -"a00101.html#a5884f043019e78838621ba2402a8cc95":[8,0,29,397], -"a00101.html#a5a4ff6025fa5d4d936ededc78be16e47":[8,0,29,426], -"a00101.html#a5cdd382afc6d46da59de60fb35abd611":[8,0,29,434], -"a00101.html#a66dba5e06f73c5df37c9d18409185f4d":[8,0,29,391], -"a00101.html#a677e57736342aed3a7a40704b82895d9":[8,0,29,404], -"a00101.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116":[8,0,29,384], -"a00101.html#a73670681360e1272aa13d1359e7bb275":[8,0,29,390], -"a00101.html#a81bab82e6be63d8186b26bb9c3b8732c":[8,0,29,395], -"a00101.html#a830d379174b47b466f5de16fe3345182":[8,0,29,438], -"a00101.html#a868d5d7ce0451e1c8f95f16092cfbc97":[8,0,29,414], -"a00101.html#a88cc1851cedb6f2a73df4618dbc0b165":[8,0,29,387], -"a00101.html#a896cc15df167f9a04f7e4f84de2bc7d2":[8,0,29,416], -"a00101.html#a8cbed81461d4e4c4991c50629b3a5bcd":[8,0,29,436], -"a00101.html#a8f38093650cd530f44dc59e6eb78fa3d":[8,0,29,425], -"a00101.html#a94fc1ff3975c056868a169b1b836f920":[8,0,29,413], -"a00101.html#a9b6844bb107f02832a6d827b8c5b0fda":[8,0,29,382], -"a00101.html#a9c08115363fb521e9fee60849046f820":[8,0,29,431], -"a00101.html#aabf82974c18252bcd0c48ee99af75dfb":[8,0,29,398], -"a00101.html#aabff3f5b7f5391c27a0329ff0c997264":[8,0,29,380], -"a00101.html#aac8020f191ca7ce2b1a81fcede9b5aa2":[8,0,29,392], -"a00101.html#aacd5623cd6f8eb12e7cdf22941f501dc":[8,0,29,437], -"a00101.html#aae43276ff3f774ffd928ad1776592c7b":[8,0,29,400], -"a00101.html#ab09e6f726235fba47a2ea3f49cbfc2cb":[8,0,29,409], -"a00101.html#ab45a164ee20c8320318a3bc5e2eaa31f":[8,0,29,417], -"a00101.html#abe02b5e0e9bb8cb4c2a727549c14ae55":[8,0,29,396], -"a00101.html#abec02770ab378eea5c604269dc8c024a":[8,0,29,394], -"a00101.html#ac02ad2aea02f18d833e6e0631ae839ad":[8,0,29,439], -"a00101.html#ac75be9d5426dcf6ee196a788a35ee54b":[8,0,29,427], -"a00101.html#ac892dbe1953c43e7e17b1d51ce967c9e":[8,0,29,419], -"a00101.html#ace51b2a4dc8622ac3c03780dc369355e":[8,0,29,428], -"a00101.html#aced5221c0f15440eb52fa9f460956443":[8,0,29,385], -"a00101.html#ad2eacbf59056d95e69b60f21beaafcb1":[8,0,29,412], -"a00101.html#ad5c40b78682251cb07855e58bcf29f82":[8,0,29,422], -"a00101.html#adb7f53410523734e4c9485f2d71e7791":[8,0,29,424], -"a00101.html#add994f7919c2f2b076f25ff207432686":[8,0,29,401], -"a00101.html#ae56700f2b05067288af3cc4af8e7f34d":[8,0,29,402], -"a00101.html#ae7cfb9eb789137f5ea9195a7a4f6b11e":[8,0,29,383], -"a00101.html#ae80ecfb4c696095b5627988cc7c9cde0":[8,0,29,435], -"a00101.html#af0ac761b64981003336d72c34df3d2e3":[8,0,29,433], -"a00101.html#af0cca41df253e49372d6853d4f5c406b":[8,0,29,406], -"a00101.html#af3461e50ec2b06201d17feee167e0a4b":[8,0,29,418], -"a00101.html#af3729ff16ba78ef4a6b70c341e81c749":[8,0,29,415], -"a00101_source.html":[8,0,29], -"a00104.html":[8,0,30], -"a00104_source.html":[8,0,30], -"a00107.html":[8,0,40], -"a00110.html":[8,0,41], -"a00110_source.html":[8,0,41], -"a00113.html":[8,0,42], -"a00113_source.html":[8,0,42], -"a00116.html":[8,0,43], -"a00116.html#a3fec2247165d648a94cea3d0cbfd662f":[8,0,43,2], -"a00116.html#a608ef7949677dac87e1c76c826e6bf40":[8,0,43,0], -"a00116.html#a8bec71e1581c804c34ee5239109e0aaf":[8,0,43,1], -"a00116.html#a9a6a7a38f14d486a4b2124d196fc6849":[8,0,43,3], -"a00119.html":[8,0,44], -"a00119.html#a9a6a7a38f14d486a4b2124d196fc6849":[8,0,44,1], -"a00119.html#aa025be8149d8f6e4d07aaa436b026db2":[8,0,44,0], -"a00119_source.html":[8,0,44], -"a00122.html":[8,0,51], -"a00125.html":[8,0,52], -"a00125_source.html":[8,0,52], -"a00128.html":[8,0,57], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd":[8,0,57,0], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9":[8,0,57,0,15], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822":[8,0,57,0,33], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31":[8,0,57,0,25], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db":[8,0,57,0,10], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d":[8,0,57,0,34], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09":[8,0,57,0,30], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95":[8,0,57,0,5], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae":[8,0,57,0,20], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7":[8,0,57,0,22], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2":[8,0,57,0,4], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77":[8,0,57,0,8], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816":[8,0,57,0,13], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228":[8,0,57,0,6], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3":[8,0,57,0,19], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42":[8,0,57,0,3], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200":[8,0,57,0,12], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a":[8,0,57,0,27], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be":[8,0,57,0,18], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d":[8,0,57,0,21], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b":[8,0,57,0,28], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450":[8,0,57,0,29], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4":[8,0,57,0,16], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f":[8,0,57,0,7], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5":[8,0,57,0,14], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7":[8,0,57,0,0], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240":[8,0,57,0,24], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f":[8,0,57,0,9], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1":[8,0,57,0,35], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8":[8,0,57,0,32], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15":[8,0,57,0,26], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276":[8,0,57,0,17], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f":[8,0,57,0,2], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb":[8,0,57,0,31], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0":[8,0,57,0,1], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4":[8,0,57,0,11], -"a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743":[8,0,57,0,23], -"a00128_source.html":[8,0,57], -"a00131.html":[8,0,58], -"a00131_source.html":[8,0,58], -"a00134.html":[8,0,59], -"a00137.html":[8,0,60], -"a00137_source.html":[8,0,60], -"a00140.html":[8,0,61], -"a00143.html":[8,0,62], -"a00143_source.html":[8,0,62], -"a00146.html":[8,0,63], -"a00146.html#a3619112000a52adc0d060cf5ab29212e":[8,0,63,0], -"a00146.html#a52393fe9fec6f6b0da20dcfd5a6bc25f":[8,0,63,1], -"a00149.html":[8,0,64], -"a00149_source.html":[8,0,64], -"a00152.html":[8,0,65], -"a00155.html":[8,0,66], -"a00155_source.html":[8,0,66], -"a00158.html":[8,0,67], -"a00161.html":[8,0,68], -"a00161_source.html":[8,0,68], -"a00164.html":[8,0,69], -"a00167.html":[8,0,70], -"a00167_source.html":[8,0,70], -"a00170.html":[8,0,71], -"a00170.html#a47e68bdf906458409c7eff1aed0dff3a":[8,0,71,1], -"a00170.html#a5f893d8f40bc8126a3802ad435bba895":[8,0,71,4], -"a00170.html#a67998c5401898020391dc6f02b11d2bd":[8,0,71,0], -"a00170.html#ab148948a885c6a7c9c95494e48e45cb1":[8,0,71,5], -"a00170.html#abd464bace94353a8ff767e5a9bdc66ce":[8,0,71,3], -"a00170.html#afbccc09407aeb4d7b626b28da120211a":[8,0,71,2], -"a00173.html":[8,0,72], -"a00173.html#a006df03d5e86c2d586f02362ca66566e":[8,0,72,2], -"a00173.html#a47e68bdf906458409c7eff1aed0dff3a":[8,0,72,5], -"a00173.html#a5f893d8f40bc8126a3802ad435bba895":[8,0,72,8], -"a00173.html#a67998c5401898020391dc6f02b11d2bd":[8,0,72,4], -"a00173.html#ab148948a885c6a7c9c95494e48e45cb1":[8,0,72,9], -"a00173.html#abd464bace94353a8ff767e5a9bdc66ce":[8,0,72,7], -"a00173.html#ad7521d8913a097b0a910d00fdb664210":[8,0,72,3], -"a00173.html#aefb573f85f8692759f6c82587a948d71":[8,0,72,0], -"a00173.html#afbccc09407aeb4d7b626b28da120211a":[8,0,72,6], -"a00173.html#afbe03d95d1d6a651c01d1ef74daa4063":[8,0,72,1], -"a00173_source.html":[8,0,72], -"a00176.html":[8,0,0], -"a00176.html#a71478560014bace34a1ebdeab8875365":[8,0,0,0], -"a00176.html#af135cce4a2e6bbf79b75840195c46de5":[8,0,0,14], -"a00179.html":[8,0,1], -"a00179.html#a427c0d9dc4a1052229c8c75a6d126577":[8,0,1,1], -"a00179_source.html":[8,0,1], -"a00182.html":[8,0,2], -"a00185.html":[8,0,3], -"a00188.html":[8,0,4], -"a00191.html":[8,0,5], -"a00194.html":[8,0,6], -"a00197.html":[8,0,7], -"a00200.html":[8,0,8], -"a00203.html":[8,0,9], -"a00206.html":[8,0,10], -"a00209.html":[8,0,11], -"a00212.html":[8,0,12], -"a00215.html":[8,0,13], -"a00218.html":[8,0,14], -"a00221.html":[8,0,15], -"a00224.html":[8,0,16], -"a00227.html":[8,0,17], -"a00230.html":[8,0,18], -"a00233.html":[8,0,19], -"a00236.html":[8,0,20], -"a00239.html":[8,0,21], -"a00242.html":[8,0,22], -"a00245.html":[8,0,23], -"a00248.html":[8,0,24], -"a00251.html":[8,0,47], -"a00251.html#a42f1518aca295fab198d042b18fef075":[8,0,47,0], -"a00251.html#abd4bf9cd40bc547cd53e2ef325a1c8d0":[8,0,47,1], -"a00254.html":[8,0,48], -"a00254_source.html":[8,0,48], -"a00260.html":[8,0,31], -"a00260_source.html":[8,0,31], -"a00263.html":[8,0,32], -"a00266.html":[8,0,33], -"a00266_source.html":[8,0,33], -"a00269.html":[8,0,34], -"a00272.html":[8,0,35], -"a00272_source.html":[8,0,35], -"a00275.html":[8,0,36], -"a00278.html":[8,0,37] +"a00011.html":[9,0,157], +"a00011.html#a9a41d1600ffd22de067ded50447d359b":[9,0,157,0], +"a00014.html":[9,0,158], +"a00014.html#a9a41d1600ffd22de067ded50447d359b":[9,0,158,0], +"a00014_source.html":[9,0,158], +"a00017.html":[9,0,78], +"a00017.html#a19617ea9c26833614201b9695ec7a1ca":[9,0,78,0], +"a00020.html":[9,0,79], +"a00020.html#a0bb2754dfd3576e2db410a717cfefc98":[9,0,79,3], +"a00020.html#a19617ea9c26833614201b9695ec7a1ca":[9,0,79,6], +"a00020.html#a60c58ea0ec675162d62034323c906b9b":[9,0,79,2], +"a00020.html#a78d2d5f4d0c6ce2228e32d0ed1baddee":[9,0,79,0], +"a00020.html#a80d86458de1b0031747eeeffb6feee0b":[9,0,79,5], +"a00020.html#aa6f08e0b0783a9989ae5c4584668fdcc":[9,0,79,1], +"a00020.html#ad3e25c542063abb044288e338e0df87a":[9,0,79,4], +"a00020_source.html":[9,0,79], +"a00023.html":[9,0,136], +"a00023.html#a8e02c996fdc083bb4c4444057e429a44":[9,0,136,1], +"a00023.html#adb01c317f81145702f564ca1d46ec33b":[9,0,136,0], +"a00023_source.html":[9,0,136], +"a00026.html":[9,0,140], +"a00026.html#a67e11e4c8a5491952d9cdea3dee7308a":[9,0,140,0], +"a00026.html#a861a785461af4116bca9343019225abd":[9,0,140,1], +"a00029.html":[9,0,141], +"a00029.html#a07cf8cf7a12bb9592fff7a31a369c1a5":[9,0,141,8], +"a00029.html#a197406dca9e671c3ef8036976108527f":[9,0,141,11], +"a00029.html#a3eef897b793c9ff7430c09d88bd8bac0":[9,0,141,5], +"a00029.html#a5aae2464eb2bb84cec34bfd422697a27":[9,0,141,3], +"a00029.html#a61ab82e3ca8c3f985cfc8b1a06daaced":[9,0,141,4], +"a00029.html#a67e11e4c8a5491952d9cdea3dee7308a":[9,0,141,10], +"a00029.html#a77b52436dd62634e2ee7aed31be5f681":[9,0,141,9], +"a00029.html#a861a785461af4116bca9343019225abd":[9,0,141,12], +"a00029.html#a93cbf6aee50e7449217cf18f2ebfc690":[9,0,141,6], +"a00029.html#aad47571829afb2de827111c11df184de":[9,0,141,7], +"a00029.html#abda1d3106b26d6e32fddd71223ecb491":[9,0,141,2], +"a00029_source.html":[9,0,141], +"a00032.html":[9,0,142], +"a00032.html#a00a29e86e9ab8b9d74b95e194a1b08f2":[9,0,142,6], +"a00032.html#a25b3c765095b474bc2b93f87d96f7b28":[9,0,142,5], +"a00032.html#a6378e763208c43ba1fbcadd8bc8a084c":[9,0,142,1], +"a00032.html#aa635e6de2a04772df6edfdc1973236b9":[9,0,142,4], +"a00032.html#abf726b809a542bc68519520b61b755a3":[9,0,142,2], +"a00032.html#ad744cc79ced98d366fed07780032bc47":[9,0,142,3], +"a00032_source.html":[9,0,142], +"a00095.html":[9,0,30], +"a00095_source.html":[9,0,30], +"a00098.html":[9,0,31], +"a00101.html":[9,0,32], +"a00101_source.html":[9,0,32], +"a00104.html":[9,0,33], +"a00107.html":[9,0,34], +"a00107.html#a023880ad2167cc0d6cefb7f747b73c92":[9,0,34,393], +"a00107.html#a02f20fbee84fe680d94b94a2b2828040":[9,0,34,381], +"a00107.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799":[9,0,34,399], +"a00107.html#a0b7d56888416e08f1ff67252072e3cea":[9,0,34,403], +"a00107.html#a15623038b9b0b4b51243691fe15253e2":[9,0,34,410], +"a00107.html#a1a38e9575eb4f714377889ce5270e60b":[9,0,34,389], +"a00107.html#a1a551775820d79c59f49068140e40f1b":[9,0,34,405], +"a00107.html#a1acc7b9af9cf3c6c556bd910ce4f239b":[9,0,34,386], +"a00107.html#a1b104109ce8d8c8a99484bc52d58460a":[9,0,34,421], +"a00107.html#a1da616e68f89a90e6fa3c920b4708fe2":[9,0,34,423], +"a00107.html#a203996620baf9cdf0aa01dd719e02d06":[9,0,34,432], +"a00107.html#a2d9e0bcb5ccf94f140b1cd519f407ffa":[9,0,34,429], +"a00107.html#a35246a9bad0d77d26b59b542928c9e34":[9,0,34,388], +"a00107.html#a3b8fb940e149c6fb29801ef573cc6311":[9,0,34,430], +"a00107.html#a3d6ae4ea1e385c2f7521495b53715a3f":[9,0,34,420], +"a00107.html#a3f7d34f0bcacd6c816c2b51cd13f5364":[9,0,34,408], +"a00107.html#a47f281930ad5bc31576ccd06e913563f":[9,0,34,407], +"a00107.html#a4c6b67a2a6193a1e317b6ef16ca3fca6":[9,0,34,411], +"a00107.html#a5884f043019e78838621ba2402a8cc95":[9,0,34,397], +"a00107.html#a5a4ff6025fa5d4d936ededc78be16e47":[9,0,34,426], +"a00107.html#a5cdd382afc6d46da59de60fb35abd611":[9,0,34,434], +"a00107.html#a66dba5e06f73c5df37c9d18409185f4d":[9,0,34,391], +"a00107.html#a677e57736342aed3a7a40704b82895d9":[9,0,34,404], +"a00107.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116":[9,0,34,384], +"a00107.html#a73670681360e1272aa13d1359e7bb275":[9,0,34,390], +"a00107.html#a81bab82e6be63d8186b26bb9c3b8732c":[9,0,34,395], +"a00107.html#a830d379174b47b466f5de16fe3345182":[9,0,34,438], +"a00107.html#a868d5d7ce0451e1c8f95f16092cfbc97":[9,0,34,414], +"a00107.html#a88cc1851cedb6f2a73df4618dbc0b165":[9,0,34,387], +"a00107.html#a896cc15df167f9a04f7e4f84de2bc7d2":[9,0,34,416], +"a00107.html#a8cbed81461d4e4c4991c50629b3a5bcd":[9,0,34,436], +"a00107.html#a8f38093650cd530f44dc59e6eb78fa3d":[9,0,34,425], +"a00107.html#a94fc1ff3975c056868a169b1b836f920":[9,0,34,413], +"a00107.html#a9b6844bb107f02832a6d827b8c5b0fda":[9,0,34,382], +"a00107.html#a9c08115363fb521e9fee60849046f820":[9,0,34,431], +"a00107.html#aabf82974c18252bcd0c48ee99af75dfb":[9,0,34,398], +"a00107.html#aabff3f5b7f5391c27a0329ff0c997264":[9,0,34,380], +"a00107.html#aac8020f191ca7ce2b1a81fcede9b5aa2":[9,0,34,392], +"a00107.html#aacd5623cd6f8eb12e7cdf22941f501dc":[9,0,34,437], +"a00107.html#aae43276ff3f774ffd928ad1776592c7b":[9,0,34,400], +"a00107.html#ab09e6f726235fba47a2ea3f49cbfc2cb":[9,0,34,409], +"a00107.html#ab45a164ee20c8320318a3bc5e2eaa31f":[9,0,34,417], +"a00107.html#abe02b5e0e9bb8cb4c2a727549c14ae55":[9,0,34,396], +"a00107.html#abec02770ab378eea5c604269dc8c024a":[9,0,34,394], +"a00107.html#ac02ad2aea02f18d833e6e0631ae839ad":[9,0,34,439], +"a00107.html#ac75be9d5426dcf6ee196a788a35ee54b":[9,0,34,427], +"a00107.html#ac892dbe1953c43e7e17b1d51ce967c9e":[9,0,34,419], +"a00107.html#ace51b2a4dc8622ac3c03780dc369355e":[9,0,34,428], +"a00107.html#aced5221c0f15440eb52fa9f460956443":[9,0,34,385], +"a00107.html#ad2eacbf59056d95e69b60f21beaafcb1":[9,0,34,412], +"a00107.html#ad5c40b78682251cb07855e58bcf29f82":[9,0,34,422], +"a00107.html#adb7f53410523734e4c9485f2d71e7791":[9,0,34,424], +"a00107.html#add994f7919c2f2b076f25ff207432686":[9,0,34,401], +"a00107.html#ae56700f2b05067288af3cc4af8e7f34d":[9,0,34,402], +"a00107.html#ae7cfb9eb789137f5ea9195a7a4f6b11e":[9,0,34,383], +"a00107.html#ae80ecfb4c696095b5627988cc7c9cde0":[9,0,34,435], +"a00107.html#af0ac761b64981003336d72c34df3d2e3":[9,0,34,433], +"a00107.html#af0cca41df253e49372d6853d4f5c406b":[9,0,34,406], +"a00107.html#af3461e50ec2b06201d17feee167e0a4b":[9,0,34,418], +"a00107.html#af3729ff16ba78ef4a6b70c341e81c749":[9,0,34,415], +"a00107_source.html":[9,0,34], +"a00110.html":[9,0,35], +"a00110_source.html":[9,0,35], +"a00113.html":[9,0,45], +"a00116.html":[9,0,46], +"a00116_source.html":[9,0,46], +"a00119.html":[9,0,47], +"a00119_source.html":[9,0,47], +"a00122.html":[9,0,48], +"a00122.html#a3fec2247165d648a94cea3d0cbfd662f":[9,0,48,2], +"a00122.html#a608ef7949677dac87e1c76c826e6bf40":[9,0,48,0], +"a00122.html#a8bec71e1581c804c34ee5239109e0aaf":[9,0,48,1], +"a00122.html#a9a6a7a38f14d486a4b2124d196fc6849":[9,0,48,3], +"a00125.html":[9,0,49], +"a00125.html#a9a6a7a38f14d486a4b2124d196fc6849":[9,0,49,1], +"a00125.html#aa025be8149d8f6e4d07aaa436b026db2":[9,0,49,0], +"a00125_source.html":[9,0,49], +"a00128.html":[9,0,56], +"a00131.html":[9,0,57], +"a00131_source.html":[9,0,57], +"a00134.html":[9,0,62], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cd":[9,0,62,0], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9":[9,0,62,0,15], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822":[9,0,62,0,33], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31":[9,0,62,0,25], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db":[9,0,62,0,10], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d":[9,0,62,0,34], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09":[9,0,62,0,30], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95":[9,0,62,0,5], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae":[9,0,62,0,20], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7":[9,0,62,0,22], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2":[9,0,62,0,4], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77":[9,0,62,0,8], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816":[9,0,62,0,13], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228":[9,0,62,0,6], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3":[9,0,62,0,19], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42":[9,0,62,0,3], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200":[9,0,62,0,12], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a":[9,0,62,0,27], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be":[9,0,62,0,18], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d":[9,0,62,0,21], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b":[9,0,62,0,28], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450":[9,0,62,0,29], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4":[9,0,62,0,16], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f":[9,0,62,0,7], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5":[9,0,62,0,14], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7":[9,0,62,0,0], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240":[9,0,62,0,24], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f":[9,0,62,0,9], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1":[9,0,62,0,35], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8":[9,0,62,0,32], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15":[9,0,62,0,26], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276":[9,0,62,0,17], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f":[9,0,62,0,2], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb":[9,0,62,0,31], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0":[9,0,62,0,1], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4":[9,0,62,0,11], +"a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743":[9,0,62,0,23], +"a00134_source.html":[9,0,62], +"a00137.html":[9,0,63], +"a00137_source.html":[9,0,63], +"a00140.html":[9,0,64], +"a00143.html":[9,0,65], +"a00143_source.html":[9,0,65], +"a00146.html":[9,0,66], +"a00149.html":[9,0,67], +"a00149_source.html":[9,0,67], +"a00152.html":[9,0,68], +"a00152.html#a3619112000a52adc0d060cf5ab29212e":[9,0,68,0], +"a00152.html#a52393fe9fec6f6b0da20dcfd5a6bc25f":[9,0,68,1], +"a00155.html":[9,0,69], +"a00155_source.html":[9,0,69], +"a00158.html":[9,0,70], +"a00161.html":[9,0,71], +"a00161_source.html":[9,0,71], +"a00164.html":[9,0,72], +"a00167.html":[9,0,73], +"a00167_source.html":[9,0,73], +"a00170.html":[9,0,74], +"a00173.html":[9,0,75], +"a00173_source.html":[9,0,75], +"a00176.html":[9,0,76], +"a00176.html#a47e68bdf906458409c7eff1aed0dff3a":[9,0,76,1], +"a00176.html#a5f893d8f40bc8126a3802ad435bba895":[9,0,76,4], +"a00176.html#a67998c5401898020391dc6f02b11d2bd":[9,0,76,0], +"a00176.html#ab148948a885c6a7c9c95494e48e45cb1":[9,0,76,5], +"a00176.html#abd464bace94353a8ff767e5a9bdc66ce":[9,0,76,3], +"a00176.html#afbccc09407aeb4d7b626b28da120211a":[9,0,76,2], +"a00179.html":[9,0,77], +"a00179.html#a006df03d5e86c2d586f02362ca66566e":[9,0,77,2], +"a00179.html#a47e68bdf906458409c7eff1aed0dff3a":[9,0,77,5], +"a00179.html#a5f893d8f40bc8126a3802ad435bba895":[9,0,77,8], +"a00179.html#a67998c5401898020391dc6f02b11d2bd":[9,0,77,4], +"a00179.html#ab148948a885c6a7c9c95494e48e45cb1":[9,0,77,9], +"a00179.html#abd464bace94353a8ff767e5a9bdc66ce":[9,0,77,7], +"a00179.html#ad7521d8913a097b0a910d00fdb664210":[9,0,77,3], +"a00179.html#aefb573f85f8692759f6c82587a948d71":[9,0,77,0], +"a00179.html#afbccc09407aeb4d7b626b28da120211a":[9,0,77,6], +"a00179.html#afbe03d95d1d6a651c01d1ef74daa4063":[9,0,77,1], +"a00179_source.html":[9,0,77], +"a00182.html":[9,0,0], +"a00182.html#a71478560014bace34a1ebdeab8875365":[9,0,0,0], +"a00182.html#af135cce4a2e6bbf79b75840195c46de5":[9,0,0,14], +"a00185.html":[9,0,1], +"a00185.html#a427c0d9dc4a1052229c8c75a6d126577":[9,0,1,2], +"a00185_source.html":[9,0,1], +"a00188.html":[9,0,2], +"a00191.html":[9,0,3], +"a00194.html":[9,0,4], +"a00197.html":[9,0,5], +"a00200.html":[9,0,6], +"a00200.html#a1d6fd831a8125a366504a0ab77b62da8":[9,0,6,0], +"a00200.html#a2ad3270d8bebf6172dc02d0c7d9fb738":[9,0,6,2], +"a00200.html#a4805112b62e86b5465e24648504dc374":[9,0,6,5], +"a00200.html#aa5990c6c2a55759960d25a1f8ad1973d":[9,0,6,7], +"a00200.html#aa86508958ff3d81f9bd8e79344537218":[9,0,6,1], +"a00200.html#ab3fda8219d17d1b7bc50b1040399a47d":[9,0,6,4], +"a00200.html#ad71a5720ceaddf2c76476aead5f0c3e6":[9,0,6,6], +"a00200.html#ada2d38835826587970de3868ca48eaa4":[9,0,6,3], +"a00203.html":[9,0,7], +"a00203.html#a1d6fd831a8125a366504a0ab77b62da8":[9,0,7,2], +"a00203.html#a2ad3270d8bebf6172dc02d0c7d9fb738":[9,0,7,4], +"a00203.html#a4805112b62e86b5465e24648504dc374":[9,0,7,7], +"a00203.html#aa5990c6c2a55759960d25a1f8ad1973d":[9,0,7,9], +"a00203.html#aa86508958ff3d81f9bd8e79344537218":[9,0,7,3], +"a00203.html#ab3fda8219d17d1b7bc50b1040399a47d":[9,0,7,6], +"a00203.html#ac77c63c0685b2cce6a89f607ea019065":[9,0,7,1], +"a00203.html#ad71a5720ceaddf2c76476aead5f0c3e6":[9,0,7,8], +"a00203.html#ada2d38835826587970de3868ca48eaa4":[9,0,7,5], +"a00203_source.html":[9,0,7], +"a00206.html":[9,0,8], +"a00209.html":[9,0,9], +"a00212.html":[9,0,10], +"a00215.html":[9,0,11], +"a00218.html":[9,0,12], +"a00221.html":[9,0,13], +"a00224.html":[9,0,14], +"a00227.html":[9,0,15], +"a00230.html":[9,0,16] }; diff --git a/docs/html/navtreeindex1.js b/docs/html/navtreeindex1.js index 9b520ded6..5aae9f7be 100644 --- a/docs/html/navtreeindex1.js +++ b/docs/html/navtreeindex1.js @@ -1,253 +1,253 @@ var NAVTREEINDEX1 = { -"a00278_source.html":[8,0,37], -"a00281.html":[8,0,38], -"a00284.html":[8,0,39], -"a00284_source.html":[8,0,39], -"a00287.html":[8,0,138], -"a00287.html#a55a33e7a22aff4aca4bccf39897bc5f1":[8,0,138,3], -"a00287.html#a672902e6406b4e4e2af33c70ec7a001c":[8,0,138,1], -"a00287.html#a6f06fe48f7cacc212305b862b46fd9aa":[8,0,138,4], -"a00287.html#a955169bbbce9b4712cafb9b7372b5ffa":[8,0,138,0], -"a00287.html#affa9482d686cc435d640d67d7fa79772":[8,0,138,2], -"a00290.html":[8,0,139], -"a00290.html#a2c0958af86f0590374e4324757c537f2":[8,0,139,8], -"a00290.html#a3015d84f1e64c03564961de070d25328":[8,0,139,4], -"a00290.html#a3541bc4d0b928b2faa9ca63a100d1b75":[8,0,139,5], -"a00290.html#a45e79c30522d47f4c30922b3d5b06b46":[8,0,139,2], -"a00290.html#a46388d9db8422abfea56ae2323f7a77c":[8,0,139,1], -"a00290.html#a55a33e7a22aff4aca4bccf39897bc5f1":[8,0,139,12], -"a00290.html#a56a88d6165ee36c482ddc9b82826dd47":[8,0,139,3], -"a00290.html#a672902e6406b4e4e2af33c70ec7a001c":[8,0,139,10], -"a00290.html#a6f06fe48f7cacc212305b862b46fd9aa":[8,0,139,13], -"a00290.html#a8f953f379d243081b950adb7f194b2e8":[8,0,139,7], -"a00290.html#a955169bbbce9b4712cafb9b7372b5ffa":[8,0,139,9], -"a00290.html#ad0b4d315e0f0b5d356886ec69d4bed08":[8,0,139,6], -"a00290.html#affa9482d686cc435d640d67d7fa79772":[8,0,139,11], -"a00290_source.html":[8,0,139], -"a00293.html":[8,0,140], -"a00293.html#a4d0c952ebe691b3337205829dc352e6e":[8,0,140,4], -"a00293.html#a5f6c75bec312e0d2faa7d645b62c3898":[8,0,140,1], -"a00293.html#ace8eb02759b23942f866ddcd2057390a":[8,0,140,2], -"a00293.html#acfb7028e6f10d29c548cbecdbfa53ac8":[8,0,140,3], -"a00293.html#af34345520fa258a6a313f03c36c93fbd":[8,0,140,0], -"a00296.html":[8,0,141], -"a00296.html#a5f6c75bec312e0d2faa7d645b62c3898":[8,0,141,3], -"a00296.html#a7f5d8ad85631d77bfdb10dfb728bfbce":[8,0,141,6], -"a00296.html#a81efbc0fc101b06a914f7ff9e2fbc0e9":[8,0,141,2], -"a00296.html#a9c1fe69ad43d4ca74b84303a0ed64f2f":[8,0,141,1], -"a00296.html#ace8eb02759b23942f866ddcd2057390a":[8,0,141,4], -"a00296.html#acfb7028e6f10d29c548cbecdbfa53ac8":[8,0,141,5], -"a00296_source.html":[8,0,141], -"a00299.html":[8,0,75], -"a00299.html#a127536c92ac8b7d05d9a325cbec19805":[8,0,75,1], -"a00299.html#a20a55a7bc081de346786a88d3e278952":[8,0,75,3], -"a00299.html#a41aa74b584c0a5946789bc6eded1e460":[8,0,75,2], -"a00299.html#a8f200e8d61725d588e0b7815efb0dc25":[8,0,75,0], -"a00299_source.html":[8,0,75], -"a00305.html":[8,0,45], -"a00308.html":[8,0,46], -"a00308_source.html":[8,0,46], -"a00311.html":[8,0,55], -"a00311_source.html":[8,0,55], -"a00314.html":[8,0,56], -"a00314_source.html":[8,0,56], -"a00317.html":[8,0,76], -"a00320.html":[8,0,77], -"a00320_source.html":[8,0,77], -"a00323.html":[8,0,78], -"a00326.html":[8,0,79], -"a00326_source.html":[8,0,79], -"a00329.html":[8,0,80], -"a00332.html":[8,0,81], -"a00332.html#a05700385437884cc7b28c38d33e84f8c":[8,0,81,10], -"a00332.html#a06c967e78bcedcee909a70764f879433":[8,0,81,6], -"a00332.html#a09e7f465a040fbd19ea136269571de3c":[8,0,81,13], -"a00332.html#a1d64a546dacc15052a6c4887f9d0020f":[8,0,81,2], -"a00332.html#a3f89bae6a625d5f37abdcc99408def27":[8,0,81,18], -"a00332.html#a5155a7b7465dd9b5e6167122827d0158":[8,0,81,3], -"a00332.html#a526d580d324bce60a3e964066fae77e3":[8,0,81,7], -"a00332.html#a5a85b9c772bbeb480b209a3e6ea92b4c":[8,0,81,23], -"a00332.html#a7785bcc305c14e2dc188bb1b9a77814a":[8,0,81,15], -"a00332.html#a7dd22b838d2b1f22d367e6cdef04ccc3":[8,0,81,1], -"a00332.html#a8ad7ceb373ce664b1c2482a66537e7c0":[8,0,81,0], -"a00332.html#a9317303ada721ff3f97e7aad69437a30":[8,0,81,12], -"a00332.html#a95dac4460cd54b4b073285ebc79d215b":[8,0,81,22], -"a00332.html#a98107f7cba849e44395b87a7e15fbec3":[8,0,81,9], -"a00332.html#aa09ddc709367c497fc081a29aa2d12fe":[8,0,81,20], -"a00332.html#aa7deec7f5d89dfb4f9746d050b0926f9":[8,0,81,21], -"a00332.html#ac382cc4431d2d1c721c21a453ba36c22":[8,0,81,16], -"a00332.html#acd0fb31f0f88ef3762665e26b5aa784b":[8,0,81,17], -"a00332.html#ad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,81,19], -"a00332.html#ae20bf16f65c41237e2d620ef49890781":[8,0,81,5], -"a00332.html#ae68c90497ef6f7edbf78daa3a094028a":[8,0,81,11], -"a00332.html#ae8f36006f14bf6a9f4914bac69ed9f98":[8,0,81,8], -"a00332.html#af89a7a4080a47aa10a5504291db285bf":[8,0,81,4], -"a00332.html#afbe53519362f18c2688d10da6f7c618f":[8,0,81,14], -"a00335.html":[8,0,82], -"a00335.html#a4b83848e938fac7ec4dde79e584b6f71":[8,0,82,0], -"a00335.html#a7def86f0fbd90b451847d8534f21f5dc":[8,0,82,1], -"a00338.html":[8,0,83], -"a00338.html#acf61a669d2246c92200734be17bd5488":[8,0,83,0], -"a00341.html":[8,0,84], -"a00344.html":[8,0,85], -"a00344_source.html":[8,0,85], -"a00347.html":[8,0,86], -"a00350.html":[8,0,87], -"a00350_source.html":[8,0,87], -"a00353.html":[8,0,88], -"a00356.html":[8,0,89], -"a00356_source.html":[8,0,89], -"a00359.html":[8,0,90], -"a00362.html":[8,0,91], -"a00362_source.html":[8,0,91], -"a00365.html":[8,0,92], -"a00368.html":[8,0,93], -"a00368_source.html":[8,0,93], -"a00371.html":[8,0,94], -"a00374.html":[8,0,95], -"a00377.html":[8,0,96], -"a00377_source.html":[8,0,96], -"a00380.html":[8,0,97], -"a00383.html":[8,0,98], -"a00383.html#a05700385437884cc7b28c38d33e84f8c":[8,0,98,0], -"a00383.html#a09e7f465a040fbd19ea136269571de3c":[8,0,98,3], -"a00383.html#a26a598d8070b8e4859fceb58f4212f78":[8,0,98,15], -"a00383.html#a38131fc613147c3d91d5fe9ae0eee285":[8,0,98,11], -"a00383.html#a3c3865b22f268d57e9be16e72d6036d1":[8,0,98,14], -"a00383.html#a3f89bae6a625d5f37abdcc99408def27":[8,0,98,8], -"a00383.html#a4f5480efebde3ee25a51b1635b33d5f8":[8,0,98,13], -"a00383.html#a705bf15f5ef9124f654f128ea30af884":[8,0,98,10], -"a00383.html#a7785bcc305c14e2dc188bb1b9a77814a":[8,0,98,5], -"a00383.html#a9317303ada721ff3f97e7aad69437a30":[8,0,98,2], -"a00383.html#ac382cc4431d2d1c721c21a453ba36c22":[8,0,98,6], -"a00383.html#ac7644e62498a596c09952ee3b28017b9":[8,0,98,1], -"a00383.html#acd0fb31f0f88ef3762665e26b5aa784b":[8,0,98,7], -"a00383.html#ad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,98,9], -"a00383.html#afbe53519362f18c2688d10da6f7c618f":[8,0,98,4], -"a00383.html#afcc15120f09517ad5ab3a7afd8ebaa94":[8,0,98,12], -"a00386.html":[8,0,99], -"a00386_source.html":[8,0,99], -"a00389.html":[8,0,100], -"a00392.html":[8,0,101], -"a00395.html":[8,0,102], -"a00395_source.html":[8,0,102], -"a00398.html":[8,0,103], -"a00401.html":[8,0,104], -"a00404.html":[8,0,105], -"a00404_source.html":[8,0,105], -"a00407.html":[8,0,106], -"a00410.html":[8,0,107], -"a00413.html":[8,0,108], -"a00413_source.html":[8,0,108], -"a00416.html":[8,0,109], -"a00419.html":[8,0,110], -"a00422.html":[8,0,111], -"a00422_source.html":[8,0,111], -"a00425.html":[8,0,112], -"a00428.html":[8,0,113], -"a00431.html":[8,0,114], -"a00431_source.html":[8,0,114], -"a00434.html":[8,0,115], -"a00437.html":[8,0,116], -"a00440.html":[8,0,117], -"a00440_source.html":[8,0,117], -"a00443.html":[8,0,118], -"a00446.html":[8,0,119], -"a00446_source.html":[8,0,119], -"a00449.html":[8,0,120], -"a00452.html":[8,0,121], -"a00452.html#a020fb0be6c73515122cf4b9f749fd97d":[8,0,121,14], -"a00452.html#a0a042c3f441fa78c4f05a18bfbeb5f2d":[8,0,121,3], -"a00452.html#a1299c47e6d73d987bc04b16f25637bf6":[8,0,121,10], -"a00452.html#a21a939cc86a0602cb2ba3be3eec26e6e":[8,0,121,8], -"a00452.html#a313bdfc8337f930a7f9fc6ca4e7731d9":[8,0,121,5], -"a00452.html#a3f3972f81de141ff0816b605054d775a":[8,0,121,7], -"a00452.html#a5320f17f400bf5ad0579dbdd5c8acf90":[8,0,121,0], -"a00452.html#a5604d17ec61ab15961079beb8f3c8682":[8,0,121,1], -"a00452.html#a56255b770aa5e34b3e69898eaeda93e9":[8,0,121,2], -"a00452.html#a5fac3cf3552eee701aec448c1392edd8":[8,0,121,12], -"a00452.html#a7732806c89cd206a96b7fabbaf6770d5":[8,0,121,9], -"a00452.html#a92055a86e32f3dfc9eef064d48aa0870":[8,0,121,4], -"a00452.html#aae5e94b6080d4279474eb3e98bc58901":[8,0,121,13], -"a00452.html#abc65c7c6bd64530b95fa72082f1e0390":[8,0,121,15], -"a00452.html#abced238b72e636a557d00355a2e44ac9":[8,0,121,11], -"a00452.html#ad11b8714818c2b05f70593c002fc5945":[8,0,121,6], -"a00455.html":[8,0,122], -"a00455.html#a08b6c05184266dc4d5c8727bb9c1c754":[8,0,122,1], -"a00455.html#a2df85bfd309840b4c9a5087e053d4811":[8,0,122,2], -"a00455.html#a5ac8c9377f90d6ce3044f81f900a54fe":[8,0,122,0], -"a00455.html#a99ee56102171adcbcecb8a78fb9fa895":[8,0,122,3], -"a00455_source.html":[8,0,122], -"a00458.html":[8,0,123], -"a00461.html":[8,0,124], -"a00461_source.html":[8,0,124], -"a00464.html":[8,0,125], -"a00467.html":[8,0,126], -"a00470.html":[8,0,127], -"a00470_source.html":[8,0,127], -"a00473.html":[8,0,128], -"a00476.html":[8,0,129], -"a00476.html#a04db7e3e2316cb43e97250a12c4eb81b":[8,0,129,8], -"a00476.html#a128fce372792e241c66c533edec30c1b":[8,0,129,10], -"a00476.html#a20d903bd4606203e120babaf3fe4d926":[8,0,129,12], -"a00476.html#a223e077dcbdfaf7944f76664c81c4c3b":[8,0,129,7], -"a00476.html#a281f835e0c21015a8ab672b08940b730":[8,0,129,9], -"a00476.html#a28d871f938b84b40a153a806c55d6aef":[8,0,129,11], -"a00476.html#a2a3abf2b54b2161feeaf57fdc834586e":[8,0,129,4], -"a00476.html#a2f6cabfafc11c56ea8335f54fac20343":[8,0,129,6], -"a00476.html#a30ad301ad2a35d50b2e4284a58b82b67":[8,0,129,15], -"a00476.html#a43b4ceef3780597f5f667ff9cfd0f191":[8,0,129,2], -"a00476.html#a5a1923e2271df541e858cb4e05d7b895":[8,0,129,3], -"a00476.html#a690ed5c65fe26bbbdf166bbaaf177fc9":[8,0,129,5], -"a00476.html#a77664727b70d3a4c919604dc428d239f":[8,0,129,0], -"a00476.html#abe70f8fe4c72329b89ec526c749f50d7":[8,0,129,1], -"a00476.html#ad2e9f2387bb528f37bceb48cd88af3d0":[8,0,129,14], -"a00476.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d":[8,0,129,13], -"a00476.html#afd6d53ef6b697533839248b40bc97861":[8,0,129,16], -"a00479.html":[8,0,130], -"a00479.html#a04db7e3e2316cb43e97250a12c4eb81b":[8,0,130,29], -"a00479.html#a06202abc9352b61a9b332d28530c1e8a":[8,0,130,5], -"a00479.html#a07adac5c5eb0d63bed4b79a50bcb676b":[8,0,130,1], -"a00479.html#a128fce372792e241c66c533edec30c1b":[8,0,130,31], -"a00479.html#a20d903bd4606203e120babaf3fe4d926":[8,0,130,33], -"a00479.html#a223e077dcbdfaf7944f76664c81c4c3b":[8,0,130,28], -"a00479.html#a260f2a8cd964aa89a1d6946b2a99f0a4":[8,0,130,6], -"a00479.html#a281f835e0c21015a8ab672b08940b730":[8,0,130,30], -"a00479.html#a28d871f938b84b40a153a806c55d6aef":[8,0,130,32], -"a00479.html#a2a3abf2b54b2161feeaf57fdc834586e":[8,0,130,25], -"a00479.html#a2f6cabfafc11c56ea8335f54fac20343":[8,0,130,27], -"a00479.html#a30ad301ad2a35d50b2e4284a58b82b67":[8,0,130,36], -"a00479.html#a35cdede808cc5e50ec96b86ec6d5186a":[8,0,130,14], -"a00479.html#a3f1efda7918aca40566d1323f8feb7d9":[8,0,130,17], -"a00479.html#a43b4ceef3780597f5f667ff9cfd0f191":[8,0,130,23], -"a00479.html#a4f8a83ae9459703637408a0a194445ac":[8,0,130,3], -"a00479.html#a560b261db9a1d59e1cd72a73da03d06c":[8,0,130,19], -"a00479.html#a5a1923e2271df541e858cb4e05d7b895":[8,0,130,24], -"a00479.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9":[8,0,130,8], -"a00479.html#a67750a8227bb7dffd95a6bb04821194f":[8,0,130,12], -"a00479.html#a690ed5c65fe26bbbdf166bbaaf177fc9":[8,0,130,26], -"a00479.html#a6b267a18dae3dc4d7a2a0b8fdb38e701":[8,0,130,2], -"a00479.html#a704e88e63280d2b338c6d5aaa287ded6":[8,0,130,18], -"a00479.html#a73ff0687b7b8e875a604eb441e30603b":[8,0,130,10], -"a00479.html#a8bafe0ef98693ff1f6e1a5239f397397":[8,0,130,9], -"a00479.html#a97f972cfc30401e08fe25de26fcb3812":[8,0,130,11], -"a00479.html#a9b2c622317087560cb142947b325cbe9":[8,0,130,20], -"a00479.html#aacc56272d59b9d3ebd0e6837727b81d8":[8,0,130,4], -"a00479.html#abe70f8fe4c72329b89ec526c749f50d7":[8,0,130,22], -"a00479.html#abeb77b3a0a6fe395e8b7ecf498850cd7":[8,0,130,7], -"a00479.html#ac7dccc9e88a018aa5e25ae1ffa955e04":[8,0,130,15], -"a00479.html#ad2e9f2387bb528f37bceb48cd88af3d0":[8,0,130,35], -"a00479.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d":[8,0,130,34], -"a00479.html#af89a7a4080a47aa10a5504291db285bf":[8,0,130,21], -"a00479.html#afcbe5a222e1facc4e8023c326ca8430c":[8,0,130,16], -"a00479.html#afce97c373c5ec7dff5b99e462bb8443d":[8,0,130,13], -"a00479.html#afd6d53ef6b697533839248b40bc97861":[8,0,130,37], -"a00479_source.html":[8,0,130], -"a00482.html":[8,0,132], -"a00482_source.html":[8,0,132], -"a00485.html":[8,0,133], -"a00488.html":[8,0,134], -"a00488_source.html":[8,0,134], -"a00491.html":[8,0,142] +"a00233.html":[9,0,17], +"a00236.html":[9,0,18], +"a00239.html":[9,0,19], +"a00242.html":[9,0,20], +"a00245.html":[9,0,21], +"a00248.html":[9,0,22], +"a00251.html":[9,0,23], +"a00254.html":[9,0,24], +"a00257.html":[9,0,25], +"a00260.html":[9,0,26], +"a00263.html":[9,0,27], +"a00266.html":[9,0,28], +"a00269.html":[9,0,29], +"a00272.html":[9,0,52], +"a00272.html#a42f1518aca295fab198d042b18fef075":[9,0,52,0], +"a00272.html#abd4bf9cd40bc547cd53e2ef325a1c8d0":[9,0,52,1], +"a00275.html":[9,0,53], +"a00275_source.html":[9,0,53], +"a00281.html":[9,0,36], +"a00281_source.html":[9,0,36], +"a00284.html":[9,0,37], +"a00287.html":[9,0,38], +"a00287_source.html":[9,0,38], +"a00290.html":[9,0,39], +"a00293.html":[9,0,40], +"a00293_source.html":[9,0,40], +"a00296.html":[9,0,41], +"a00299.html":[9,0,42], +"a00299_source.html":[9,0,42], +"a00302.html":[9,0,43], +"a00305.html":[9,0,44], +"a00305_source.html":[9,0,44], +"a00308.html":[9,0,143], +"a00308.html#a55a33e7a22aff4aca4bccf39897bc5f1":[9,0,143,3], +"a00308.html#a672902e6406b4e4e2af33c70ec7a001c":[9,0,143,1], +"a00308.html#a6f06fe48f7cacc212305b862b46fd9aa":[9,0,143,4], +"a00308.html#a955169bbbce9b4712cafb9b7372b5ffa":[9,0,143,0], +"a00308.html#affa9482d686cc435d640d67d7fa79772":[9,0,143,2], +"a00311.html":[9,0,144], +"a00311.html#a2c0958af86f0590374e4324757c537f2":[9,0,144,8], +"a00311.html#a3015d84f1e64c03564961de070d25328":[9,0,144,4], +"a00311.html#a3541bc4d0b928b2faa9ca63a100d1b75":[9,0,144,5], +"a00311.html#a45e79c30522d47f4c30922b3d5b06b46":[9,0,144,2], +"a00311.html#a46388d9db8422abfea56ae2323f7a77c":[9,0,144,1], +"a00311.html#a55a33e7a22aff4aca4bccf39897bc5f1":[9,0,144,12], +"a00311.html#a56a88d6165ee36c482ddc9b82826dd47":[9,0,144,3], +"a00311.html#a672902e6406b4e4e2af33c70ec7a001c":[9,0,144,10], +"a00311.html#a6f06fe48f7cacc212305b862b46fd9aa":[9,0,144,13], +"a00311.html#a8f953f379d243081b950adb7f194b2e8":[9,0,144,7], +"a00311.html#a955169bbbce9b4712cafb9b7372b5ffa":[9,0,144,9], +"a00311.html#ad0b4d315e0f0b5d356886ec69d4bed08":[9,0,144,6], +"a00311.html#affa9482d686cc435d640d67d7fa79772":[9,0,144,11], +"a00311_source.html":[9,0,144], +"a00314.html":[9,0,145], +"a00314.html#a4d0c952ebe691b3337205829dc352e6e":[9,0,145,4], +"a00314.html#a5f6c75bec312e0d2faa7d645b62c3898":[9,0,145,1], +"a00314.html#ace8eb02759b23942f866ddcd2057390a":[9,0,145,2], +"a00314.html#acfb7028e6f10d29c548cbecdbfa53ac8":[9,0,145,3], +"a00314.html#af34345520fa258a6a313f03c36c93fbd":[9,0,145,0], +"a00317.html":[9,0,146], +"a00317.html#a5f6c75bec312e0d2faa7d645b62c3898":[9,0,146,3], +"a00317.html#a7f5d8ad85631d77bfdb10dfb728bfbce":[9,0,146,6], +"a00317.html#a81efbc0fc101b06a914f7ff9e2fbc0e9":[9,0,146,2], +"a00317.html#a9c1fe69ad43d4ca74b84303a0ed64f2f":[9,0,146,1], +"a00317.html#ace8eb02759b23942f866ddcd2057390a":[9,0,146,4], +"a00317.html#acfb7028e6f10d29c548cbecdbfa53ac8":[9,0,146,5], +"a00317_source.html":[9,0,146], +"a00320.html":[9,0,80], +"a00320.html#a127536c92ac8b7d05d9a325cbec19805":[9,0,80,1], +"a00320.html#a20a55a7bc081de346786a88d3e278952":[9,0,80,3], +"a00320.html#a41aa74b584c0a5946789bc6eded1e460":[9,0,80,2], +"a00320.html#a8f200e8d61725d588e0b7815efb0dc25":[9,0,80,0], +"a00320_source.html":[9,0,80], +"a00326.html":[9,0,50], +"a00329.html":[9,0,51], +"a00329_source.html":[9,0,51], +"a00332.html":[9,0,60], +"a00332_source.html":[9,0,60], +"a00335.html":[9,0,61], +"a00335_source.html":[9,0,61], +"a00338.html":[9,0,81], +"a00341.html":[9,0,82], +"a00341_source.html":[9,0,82], +"a00344.html":[9,0,83], +"a00347.html":[9,0,84], +"a00347_source.html":[9,0,84], +"a00350.html":[9,0,85], +"a00353.html":[9,0,86], +"a00353.html#a05700385437884cc7b28c38d33e84f8c":[9,0,86,10], +"a00353.html#a06c967e78bcedcee909a70764f879433":[9,0,86,6], +"a00353.html#a09e7f465a040fbd19ea136269571de3c":[9,0,86,13], +"a00353.html#a1d64a546dacc15052a6c4887f9d0020f":[9,0,86,2], +"a00353.html#a3f89bae6a625d5f37abdcc99408def27":[9,0,86,18], +"a00353.html#a5155a7b7465dd9b5e6167122827d0158":[9,0,86,3], +"a00353.html#a526d580d324bce60a3e964066fae77e3":[9,0,86,7], +"a00353.html#a5a85b9c772bbeb480b209a3e6ea92b4c":[9,0,86,23], +"a00353.html#a7785bcc305c14e2dc188bb1b9a77814a":[9,0,86,15], +"a00353.html#a7dd22b838d2b1f22d367e6cdef04ccc3":[9,0,86,1], +"a00353.html#a8ad7ceb373ce664b1c2482a66537e7c0":[9,0,86,0], +"a00353.html#a9317303ada721ff3f97e7aad69437a30":[9,0,86,12], +"a00353.html#a95dac4460cd54b4b073285ebc79d215b":[9,0,86,22], +"a00353.html#a98107f7cba849e44395b87a7e15fbec3":[9,0,86,9], +"a00353.html#aa09ddc709367c497fc081a29aa2d12fe":[9,0,86,20], +"a00353.html#aa7deec7f5d89dfb4f9746d050b0926f9":[9,0,86,21], +"a00353.html#ac382cc4431d2d1c721c21a453ba36c22":[9,0,86,16], +"a00353.html#acd0fb31f0f88ef3762665e26b5aa784b":[9,0,86,17], +"a00353.html#ad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,86,19], +"a00353.html#ae20bf16f65c41237e2d620ef49890781":[9,0,86,5], +"a00353.html#ae68c90497ef6f7edbf78daa3a094028a":[9,0,86,11], +"a00353.html#ae8f36006f14bf6a9f4914bac69ed9f98":[9,0,86,8], +"a00353.html#af89a7a4080a47aa10a5504291db285bf":[9,0,86,4], +"a00353.html#afbe53519362f18c2688d10da6f7c618f":[9,0,86,14], +"a00356.html":[9,0,87], +"a00356.html#a4b83848e938fac7ec4dde79e584b6f71":[9,0,87,0], +"a00356.html#a7def86f0fbd90b451847d8534f21f5dc":[9,0,87,1], +"a00359.html":[9,0,88], +"a00359.html#acf61a669d2246c92200734be17bd5488":[9,0,88,0], +"a00362.html":[9,0,89], +"a00365.html":[9,0,90], +"a00365_source.html":[9,0,90], +"a00368.html":[9,0,91], +"a00371.html":[9,0,92], +"a00371_source.html":[9,0,92], +"a00374.html":[9,0,93], +"a00377.html":[9,0,94], +"a00377_source.html":[9,0,94], +"a00380.html":[9,0,95], +"a00383.html":[9,0,96], +"a00383_source.html":[9,0,96], +"a00386.html":[9,0,97], +"a00389.html":[9,0,98], +"a00389_source.html":[9,0,98], +"a00392.html":[9,0,99], +"a00395.html":[9,0,100], +"a00398.html":[9,0,101], +"a00398_source.html":[9,0,101], +"a00401.html":[9,0,102], +"a00404.html":[9,0,103], +"a00404.html#a05700385437884cc7b28c38d33e84f8c":[9,0,103,0], +"a00404.html#a09e7f465a040fbd19ea136269571de3c":[9,0,103,3], +"a00404.html#a26a598d8070b8e4859fceb58f4212f78":[9,0,103,15], +"a00404.html#a38131fc613147c3d91d5fe9ae0eee285":[9,0,103,11], +"a00404.html#a3c3865b22f268d57e9be16e72d6036d1":[9,0,103,14], +"a00404.html#a3f89bae6a625d5f37abdcc99408def27":[9,0,103,8], +"a00404.html#a4f5480efebde3ee25a51b1635b33d5f8":[9,0,103,13], +"a00404.html#a705bf15f5ef9124f654f128ea30af884":[9,0,103,10], +"a00404.html#a7785bcc305c14e2dc188bb1b9a77814a":[9,0,103,5], +"a00404.html#a9317303ada721ff3f97e7aad69437a30":[9,0,103,2], +"a00404.html#ac382cc4431d2d1c721c21a453ba36c22":[9,0,103,6], +"a00404.html#ac7644e62498a596c09952ee3b28017b9":[9,0,103,1], +"a00404.html#acd0fb31f0f88ef3762665e26b5aa784b":[9,0,103,7], +"a00404.html#ad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,103,9], +"a00404.html#afbe53519362f18c2688d10da6f7c618f":[9,0,103,4], +"a00404.html#afcc15120f09517ad5ab3a7afd8ebaa94":[9,0,103,12], +"a00407.html":[9,0,104], +"a00407_source.html":[9,0,104], +"a00410.html":[9,0,105], +"a00413.html":[9,0,106], +"a00416.html":[9,0,107], +"a00416_source.html":[9,0,107], +"a00419.html":[9,0,108], +"a00422.html":[9,0,109], +"a00425.html":[9,0,110], +"a00425_source.html":[9,0,110], +"a00428.html":[9,0,111], +"a00431.html":[9,0,112], +"a00434.html":[9,0,113], +"a00434_source.html":[9,0,113], +"a00437.html":[9,0,114], +"a00440.html":[9,0,115], +"a00443.html":[9,0,116], +"a00443_source.html":[9,0,116], +"a00446.html":[9,0,117], +"a00449.html":[9,0,118], +"a00452.html":[9,0,119], +"a00452_source.html":[9,0,119], +"a00455.html":[9,0,120], +"a00458.html":[9,0,121], +"a00461.html":[9,0,122], +"a00461_source.html":[9,0,122], +"a00464.html":[9,0,123], +"a00467.html":[9,0,124], +"a00467_source.html":[9,0,124], +"a00470.html":[9,0,125], +"a00473.html":[9,0,126], +"a00473.html#a020fb0be6c73515122cf4b9f749fd97d":[9,0,126,14], +"a00473.html#a0a042c3f441fa78c4f05a18bfbeb5f2d":[9,0,126,3], +"a00473.html#a1299c47e6d73d987bc04b16f25637bf6":[9,0,126,10], +"a00473.html#a21a939cc86a0602cb2ba3be3eec26e6e":[9,0,126,8], +"a00473.html#a313bdfc8337f930a7f9fc6ca4e7731d9":[9,0,126,5], +"a00473.html#a3f3972f81de141ff0816b605054d775a":[9,0,126,7], +"a00473.html#a5320f17f400bf5ad0579dbdd5c8acf90":[9,0,126,0], +"a00473.html#a5604d17ec61ab15961079beb8f3c8682":[9,0,126,1], +"a00473.html#a56255b770aa5e34b3e69898eaeda93e9":[9,0,126,2], +"a00473.html#a5fac3cf3552eee701aec448c1392edd8":[9,0,126,12], +"a00473.html#a7732806c89cd206a96b7fabbaf6770d5":[9,0,126,9], +"a00473.html#a92055a86e32f3dfc9eef064d48aa0870":[9,0,126,4], +"a00473.html#aae5e94b6080d4279474eb3e98bc58901":[9,0,126,13], +"a00473.html#abc65c7c6bd64530b95fa72082f1e0390":[9,0,126,15], +"a00473.html#abced238b72e636a557d00355a2e44ac9":[9,0,126,11], +"a00473.html#ad11b8714818c2b05f70593c002fc5945":[9,0,126,6], +"a00476.html":[9,0,127], +"a00476.html#a08b6c05184266dc4d5c8727bb9c1c754":[9,0,127,1], +"a00476.html#a2df85bfd309840b4c9a5087e053d4811":[9,0,127,2], +"a00476.html#a5ac8c9377f90d6ce3044f81f900a54fe":[9,0,127,0], +"a00476.html#a99ee56102171adcbcecb8a78fb9fa895":[9,0,127,3], +"a00476_source.html":[9,0,127], +"a00479.html":[9,0,128], +"a00482.html":[9,0,129], +"a00482_source.html":[9,0,129], +"a00485.html":[9,0,130], +"a00488.html":[9,0,131], +"a00491.html":[9,0,132], +"a00491_source.html":[9,0,132], +"a00494.html":[9,0,133], +"a00497.html":[9,0,134], +"a00497.html#a04db7e3e2316cb43e97250a12c4eb81b":[9,0,134,8], +"a00497.html#a128fce372792e241c66c533edec30c1b":[9,0,134,10], +"a00497.html#a20d903bd4606203e120babaf3fe4d926":[9,0,134,12], +"a00497.html#a223e077dcbdfaf7944f76664c81c4c3b":[9,0,134,7], +"a00497.html#a281f835e0c21015a8ab672b08940b730":[9,0,134,9], +"a00497.html#a28d871f938b84b40a153a806c55d6aef":[9,0,134,11], +"a00497.html#a2a3abf2b54b2161feeaf57fdc834586e":[9,0,134,4], +"a00497.html#a2f6cabfafc11c56ea8335f54fac20343":[9,0,134,6], +"a00497.html#a30ad301ad2a35d50b2e4284a58b82b67":[9,0,134,15], +"a00497.html#a43b4ceef3780597f5f667ff9cfd0f191":[9,0,134,2], +"a00497.html#a5a1923e2271df541e858cb4e05d7b895":[9,0,134,3], +"a00497.html#a690ed5c65fe26bbbdf166bbaaf177fc9":[9,0,134,5], +"a00497.html#a77664727b70d3a4c919604dc428d239f":[9,0,134,0], +"a00497.html#abe70f8fe4c72329b89ec526c749f50d7":[9,0,134,1], +"a00497.html#ad2e9f2387bb528f37bceb48cd88af3d0":[9,0,134,14], +"a00497.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d":[9,0,134,13], +"a00497.html#afd6d53ef6b697533839248b40bc97861":[9,0,134,16], +"a00500.html":[9,0,135], +"a00500.html#a04db7e3e2316cb43e97250a12c4eb81b":[9,0,135,29], +"a00500.html#a06202abc9352b61a9b332d28530c1e8a":[9,0,135,5], +"a00500.html#a07adac5c5eb0d63bed4b79a50bcb676b":[9,0,135,1], +"a00500.html#a128fce372792e241c66c533edec30c1b":[9,0,135,31], +"a00500.html#a20d903bd4606203e120babaf3fe4d926":[9,0,135,33], +"a00500.html#a223e077dcbdfaf7944f76664c81c4c3b":[9,0,135,28], +"a00500.html#a260f2a8cd964aa89a1d6946b2a99f0a4":[9,0,135,6], +"a00500.html#a281f835e0c21015a8ab672b08940b730":[9,0,135,30], +"a00500.html#a28d871f938b84b40a153a806c55d6aef":[9,0,135,32], +"a00500.html#a2a3abf2b54b2161feeaf57fdc834586e":[9,0,135,25], +"a00500.html#a2f6cabfafc11c56ea8335f54fac20343":[9,0,135,27], +"a00500.html#a30ad301ad2a35d50b2e4284a58b82b67":[9,0,135,36], +"a00500.html#a35cdede808cc5e50ec96b86ec6d5186a":[9,0,135,14], +"a00500.html#a3f1efda7918aca40566d1323f8feb7d9":[9,0,135,17], +"a00500.html#a43b4ceef3780597f5f667ff9cfd0f191":[9,0,135,23], +"a00500.html#a4f8a83ae9459703637408a0a194445ac":[9,0,135,3] }; diff --git a/docs/html/navtreeindex10.js b/docs/html/navtreeindex10.js index b18d5d131..c7998b48c 100644 --- a/docs/html/navtreeindex10.js +++ b/docs/html/navtreeindex10.js @@ -1,253 +1,253 @@ var NAVTREEINDEX10 = { -"a03537.html#ga47588dbefadcc1569513b053a156f3d6":[8,0,76,7], -"a03537.html#ga47588dbefadcc1569513b053a156f3d6":[8,0,123,8], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[8,0,77,0], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[8,0,93,0], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[6,7,18], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[6,7,19], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[6,7,20], -"a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[8,0,124,0], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[6,7,177], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,146,5], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,148,6], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,149,11], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,150,8], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,151,11], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,145,11], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,147,13], -"a03537.html#ga4a4d491006d9683d67838963706ac9c1":[8,0,144,5], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[8,0,151,3], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[8,0,149,3], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[8,0,145,3], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[8,0,147,5], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[6,7,61], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[6,7,62], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[6,7,63], -"a03537.html#ga4b85133b317e72410ea0762d637d3460":[6,7,64], -"a03537.html#ga4be1afccb41f28f6ce620b1d5197befc":[6,7,120], -"a03537.html#ga4be1afccb41f28f6ce620b1d5197befc":[8,0,45,2], -"a03537.html#ga4be1afccb41f28f6ce620b1d5197befc":[8,0,46,7], -"a03537.html#ga512016e5f1966a8fd45b3f1a81ba5b8f":[6,7,10], -"a03537.html#ga512016e5f1966a8fd45b3f1a81ba5b8f":[8,0,97,0], -"a03537.html#ga53864a301dac6efbdbdc3931aa79e23e":[6,7,143], -"a03537.html#ga53864a301dac6efbdbdc3931aa79e23e":[8,0,116,0], -"a03537.html#ga53864a301dac6efbdbdc3931aa79e23e":[8,0,118,0], -"a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[6,7,131], -"a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[8,0,76,0], -"a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[8,0,123,1], -"a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[8,0,92,0], -"a03537.html#ga5604d17ec61ab15961079beb8f3c8682":[6,7,105], -"a03537.html#ga5604d17ec61ab15961079beb8f3c8682":[8,0,90,3], -"a03537.html#ga56255b770aa5e34b3e69898eaeda93e9":[6,7,121], -"a03537.html#ga56255b770aa5e34b3e69898eaeda93e9":[8,0,90,4], -"a03537.html#ga59e33124fc2fa800cc9c90a6ee3ff543":[8,0,134,1], -"a03537.html#ga59e33124fc2fa800cc9c90a6ee3ff543":[6,7,29], -"a03537.html#ga5a8416082aa7664c94099d3d787eee3c":[8,0,100,1], -"a03537.html#ga5a8416082aa7664c94099d3d787eee3c":[8,0,97,1], -"a03537.html#ga5a8416082aa7664c94099d3d787eee3c":[6,7,69], -"a03537.html#ga5a8416082aa7664c94099d3d787eee3c":[6,7,70], -"a03537.html#ga5ac8c9377f90d6ce3044f81f900a54fe":[8,0,91,0], -"a03537.html#ga5ac8c9377f90d6ce3044f81f900a54fe":[6,7,8], -"a03537.html#ga5f2f61628e945fd6538155628fc3a17a":[6,7,94], -"a03537.html#ga5f2f61628e945fd6538155628fc3a17a":[6,7,95], -"a03537.html#ga5f2f61628e945fd6538155628fc3a17a":[8,0,124,3], -"a03537.html#ga5f2f61628e945fd6538155628fc3a17a":[8,0,93,3], -"a03537.html#ga5fac3cf3552eee701aec448c1392edd8":[6,7,141], -"a03537.html#ga5fac3cf3552eee701aec448c1392edd8":[8,0,90,14], -"a03537.html#ga5fdc7facea201bfce4ad308105f88d0c":[8,0,91,2], -"a03537.html#ga5fdc7facea201bfce4ad308105f88d0c":[6,7,25], -"a03537.html#ga618291172976da96c4f02dc9200c845c":[6,7,145], -"a03537.html#ga618291172976da96c4f02dc9200c845c":[8,0,118,2], -"a03537.html#ga618291172976da96c4f02dc9200c845c":[8,0,116,2], -"a03537.html#ga6219d68ef915fdcd734f51960ba08fb6":[8,0,119,1], -"a03537.html#ga6219d68ef915fdcd734f51960ba08fb6":[6,7,57], -"a03537.html#ga65289262310f2662b2c47450b93c9580":[8,0,92,9], -"a03537.html#ga65289262310f2662b2c47450b93c9580":[6,7,140], -"a03537.html#ga65289262310f2662b2c47450b93c9580":[8,0,123,10], -"a03537.html#ga65289262310f2662b2c47450b93c9580":[8,0,76,9], -"a03537.html#ga6a2579114d13238c7ba20d147a74090a":[8,0,147,1], -"a03537.html#ga6a2579114d13238c7ba20d147a74090a":[6,7,12], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[8,0,93,1], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[8,0,124,1], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[6,7,22], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[6,7,23], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[6,7,24], -"a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73":[8,0,77,1], -"a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[6,7,106], -"a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[8,0,45,0], -"a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[8,0,46,3], -"a03537.html#ga6ec842c5f4674de5da640541e616785a":[6,7,104], -"a03537.html#ga6ec842c5f4674de5da640541e616785a":[8,0,90,2], -"a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[6,7,135], -"a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[8,0,76,4], -"a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[8,0,123,5], -"a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[8,0,92,4], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,80,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,97,4], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[6,7,100], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,46,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,94,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,125,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,106,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,115,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,120,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,103,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,112,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,109,2], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,100,4], -"a03537.html#ga7598dfcd6dcac882836544d48356d02f":[8,0,128,2], -"a03537.html#ga7732806c89cd206a96b7fabbaf6770d5":[8,0,90,11], -"a03537.html#ga7732806c89cd206a96b7fabbaf6770d5":[6,7,128], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,95,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[6,7,114], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,110,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,126,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,78,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,107,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,84,5], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,86,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,88,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,113,6], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,104,5], -"a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a":[8,0,101,6], -"a03537.html#ga779f5e5d060c6d43dd09752eeb2a2bb3":[8,0,99,0], -"a03537.html#ga779f5e5d060c6d43dd09752eeb2a2bb3":[6,7,17], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[6,7,99], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,103,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,100,3], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,109,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,80,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,112,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,97,3], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,120,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,115,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,106,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,46,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,94,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,128,1], -"a03537.html#ga80a853a202b089064bfc4b159c3418b4":[8,0,125,1], -"a03537.html#ga8759b00e645502d0f1c3b7330e20e52b":[6,7,97], -"a03537.html#ga8759b00e645502d0f1c3b7330e20e52b":[8,0,117,1], -"a03537.html#ga8a649555029d4f23edfc15a8c01b2d3d":[8,0,134,2], -"a03537.html#ga8a649555029d4f23edfc15a8c01b2d3d":[6,7,30], -"a03537.html#ga8bf59f4218d312568b769b8b8e5c563e":[6,7,160], -"a03537.html#ga8bf59f4218d312568b769b8b8e5c563e":[8,0,134,5], -"a03537.html#ga8bf59f4218d312568b769b8b8e5c563e":[8,0,133,5], -"a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[6,7,137], -"a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[8,0,76,6], -"a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[8,0,123,7], -"a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[8,0,92,6], -"a03537.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8":[8,0,133,0], -"a03537.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8":[6,7,26], -"a03537.html#ga8f12e3b749e7b3dc905114cc7b8d0b38":[8,0,119,4], -"a03537.html#ga8f12e3b749e7b3dc905114cc7b8d0b38":[6,7,60], -"a03537.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[6,7,159], -"a03537.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[8,0,133,4], -"a03537.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[8,0,134,4], -"a03537.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[6,7,156], -"a03537.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[8,0,95,12], -"a03537.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[8,0,96,7], -"a03537.html#ga9186e5235979216330ae580290872c77":[6,7,147], -"a03537.html#ga9186e5235979216330ae580290872c77":[8,0,118,4], -"a03537.html#ga9186e5235979216330ae580290872c77":[8,0,116,4], -"a03537.html#ga92055a86e32f3dfc9eef064d48aa0870":[6,7,123], -"a03537.html#ga92055a86e32f3dfc9eef064d48aa0870":[8,0,90,6], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[6,7,111], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,107,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,78,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,84,2], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,86,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,126,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,110,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,101,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,104,2], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,113,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,95,3], -"a03537.html#ga9317303ada721ff3f97e7aad69437a30":[8,0,88,3], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,149,10], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,151,10], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,150,7], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,148,5], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,147,12], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,145,10], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,146,4], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[8,0,144,4], -"a03537.html#ga93f3dab17c14f71641ca970998ede823":[6,7,176], -"a03537.html#ga95b4e99655383680272a1d9354d42479":[8,0,76,3], -"a03537.html#ga95b4e99655383680272a1d9354d42479":[6,7,134], -"a03537.html#ga95b4e99655383680272a1d9354d42479":[8,0,92,3], -"a03537.html#ga95b4e99655383680272a1d9354d42479":[8,0,123,4], -"a03537.html#ga95dac4460cd54b4b073285ebc79d215b":[8,0,88,12], -"a03537.html#ga95dac4460cd54b4b073285ebc79d215b":[6,7,185], -"a03537.html#ga99ee56102171adcbcecb8a78fb9fa895":[6,7,92], -"a03537.html#ga99ee56102171adcbcecb8a78fb9fa895":[8,0,91,4], -"a03537.html#gaa3e90779b37cd1b3a4d32321d9d8b772":[6,7,96], -"a03537.html#gaa3e90779b37cd1b3a4d32321d9d8b772":[8,0,85,1], -"a03537.html#gaa7deec7f5d89dfb4f9746d050b0926f9":[6,7,184], -"a03537.html#gaa7deec7f5d89dfb4f9746d050b0926f9":[8,0,88,11], -"a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[6,7,136], -"a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[8,0,123,6], -"a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[8,0,76,5], -"a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[8,0,92,5], -"a03537.html#gaab85cb460831e8b7e4d3a5315b31c596":[6,7,186], -"a03537.html#gaab85cb460831e8b7e4d3a5315b31c596":[8,0,146,7], -"a03537.html#gaacf6310945889a6119cab867a1ced5e2":[6,7,133], -"a03537.html#gaacf6310945889a6119cab867a1ced5e2":[8,0,76,2], -"a03537.html#gaacf6310945889a6119cab867a1ced5e2":[8,0,92,2], -"a03537.html#gaacf6310945889a6119cab867a1ced5e2":[8,0,123,3], -"a03537.html#gaae5e94b6080d4279474eb3e98bc58901":[8,0,132,1], -"a03537.html#gaae5e94b6080d4279474eb3e98bc58901":[6,7,162], -"a03537.html#gaae5e94b6080d4279474eb3e98bc58901":[8,0,90,15], -"a03537.html#gaae5e94b6080d4279474eb3e98bc58901":[8,0,123,12], -"a03537.html#gaae96ea936a2e85d0bcb81b7868ee007d":[6,7,151], -"a03537.html#gaae96ea936a2e85d0bcb81b7868ee007d":[8,0,119,5], -"a03537.html#gaae96ea936a2e85d0bcb81b7868ee007d":[8,0,118,8], -"a03537.html#gab12a92582aefe426bb194e0c298e8f98":[8,0,147,0], -"a03537.html#gab12a92582aefe426bb194e0c298e8f98":[6,7,11], -"a03537.html#gab289a3949663589ac6be71d72fb18278":[6,7,107], -"a03537.html#gab289a3949663589ac6be71d72fb18278":[8,0,46,4], -"a03537.html#gab289a3949663589ac6be71d72fb18278":[8,0,83,1], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[8,0,151,1], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[8,0,149,1], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[8,0,145,1], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[8,0,147,3], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[6,7,48], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[6,7,49], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[6,7,50], -"a03537.html#gab45577245cf4a8ead70e2d56965f2df3":[6,7,51], -"a03537.html#gab77081d6d85ee3ab839a0882e80e9e87":[8,0,46,6], -"a03537.html#gab77081d6d85ee3ab839a0882e80e9e87":[8,0,45,1], -"a03537.html#gab77081d6d85ee3ab839a0882e80e9e87":[6,7,119], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,102,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,78,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,95,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,79,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,127,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,113,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,87,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,107,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,114,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,110,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,126,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,101,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,108,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,86,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,88,0], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,96,5], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[8,0,111,2], -"a03537.html#gab7f613b378e0d01b80703df3ac662d6d":[6,7,101], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[6,7,182], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[8,0,123,14], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[6,7,180], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[8,0,76,13], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[8,0,92,13], -"a03537.html#gab97bfae6ae6051d081edf51bb45eea05":[6,7,181], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,149,12], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,150,9], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,151,12], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[6,7,178], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,147,14], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,145,12], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,146,6] +"a00912.html#ga31fd8170a49623686543f6247b883bd1":[9,0,88,4], +"a00912.html#ga354e6fa757688b73e6fb5293bb835def":[7,7,144], +"a00912.html#ga354e6fa757688b73e6fb5293bb835def":[9,0,123,1], +"a00912.html#ga354e6fa757688b73e6fb5293bb835def":[9,0,121,1], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[9,0,156,4], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[9,0,154,4], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[9,0,150,4], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[9,0,152,6], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[7,7,65], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[7,7,66], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[7,7,67], +"a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[7,7,68], +"a00912.html#ga3f3972f81de141ff0816b605054d775a":[7,7,126], +"a00912.html#ga3f3972f81de141ff0816b605054d775a":[9,0,95,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,100,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[7,7,117], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,93,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,83,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,118,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,89,8], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,131,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,112,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,91,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,115,9], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,109,8], +"a00912.html#ga3f89bae6a625d5f37abdcc99408def27":[9,0,106,9], +"a00912.html#ga450d95819e5184befaec71050a61dce9":[9,0,101,0], +"a00912.html#ga450d95819e5184befaec71050a61dce9":[7,7,13], +"a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[7,7,108], +"a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[9,0,51,5], +"a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[9,0,88,2], +"a00912.html#ga47588dbefadcc1569513b053a156f3d6":[7,7,138], +"a00912.html#ga47588dbefadcc1569513b053a156f3d6":[9,0,81,7], +"a00912.html#ga47588dbefadcc1569513b053a156f3d6":[9,0,128,8], +"a00912.html#ga47588dbefadcc1569513b053a156f3d6":[9,0,97,7], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[9,0,82,0], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[9,0,129,0], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[9,0,98,0], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[7,7,18], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[7,7,19], +"a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef":[7,7,20], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,154,11], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,155,8], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[7,7,177], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,149,5], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,153,6], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,152,13], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,150,11], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,151,5], +"a00912.html#ga4a4d491006d9683d67838963706ac9c1":[9,0,156,11], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[9,0,154,3], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[9,0,152,5], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[9,0,150,3], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[9,0,156,3], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[7,7,61], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[7,7,62], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[7,7,63], +"a00912.html#ga4b85133b317e72410ea0762d637d3460":[7,7,64], +"a00912.html#ga4be1afccb41f28f6ce620b1d5197befc":[7,7,120], +"a00912.html#ga4be1afccb41f28f6ce620b1d5197befc":[9,0,50,2], +"a00912.html#ga4be1afccb41f28f6ce620b1d5197befc":[9,0,51,7], +"a00912.html#ga512016e5f1966a8fd45b3f1a81ba5b8f":[9,0,102,0], +"a00912.html#ga512016e5f1966a8fd45b3f1a81ba5b8f":[7,7,10], +"a00912.html#ga53864a301dac6efbdbdc3931aa79e23e":[7,7,143], +"a00912.html#ga53864a301dac6efbdbdc3931aa79e23e":[9,0,123,0], +"a00912.html#ga53864a301dac6efbdbdc3931aa79e23e":[9,0,121,0], +"a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[7,7,131], +"a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[9,0,81,0], +"a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[9,0,128,1], +"a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c":[9,0,97,0], +"a00912.html#ga5604d17ec61ab15961079beb8f3c8682":[7,7,105], +"a00912.html#ga5604d17ec61ab15961079beb8f3c8682":[9,0,95,3], +"a00912.html#ga56255b770aa5e34b3e69898eaeda93e9":[7,7,121], +"a00912.html#ga56255b770aa5e34b3e69898eaeda93e9":[9,0,95,4], +"a00912.html#ga59e33124fc2fa800cc9c90a6ee3ff543":[9,0,139,1], +"a00912.html#ga59e33124fc2fa800cc9c90a6ee3ff543":[7,7,29], +"a00912.html#ga5a8416082aa7664c94099d3d787eee3c":[9,0,102,1], +"a00912.html#ga5a8416082aa7664c94099d3d787eee3c":[9,0,105,1], +"a00912.html#ga5a8416082aa7664c94099d3d787eee3c":[7,7,69], +"a00912.html#ga5a8416082aa7664c94099d3d787eee3c":[7,7,70], +"a00912.html#ga5ac8c9377f90d6ce3044f81f900a54fe":[7,7,8], +"a00912.html#ga5ac8c9377f90d6ce3044f81f900a54fe":[9,0,96,0], +"a00912.html#ga5f2f61628e945fd6538155628fc3a17a":[7,7,94], +"a00912.html#ga5f2f61628e945fd6538155628fc3a17a":[7,7,95], +"a00912.html#ga5f2f61628e945fd6538155628fc3a17a":[9,0,129,3], +"a00912.html#ga5f2f61628e945fd6538155628fc3a17a":[9,0,98,3], +"a00912.html#ga5fac3cf3552eee701aec448c1392edd8":[7,7,141], +"a00912.html#ga5fac3cf3552eee701aec448c1392edd8":[9,0,95,14], +"a00912.html#ga5fdc7facea201bfce4ad308105f88d0c":[9,0,96,2], +"a00912.html#ga5fdc7facea201bfce4ad308105f88d0c":[7,7,25], +"a00912.html#ga618291172976da96c4f02dc9200c845c":[7,7,145], +"a00912.html#ga618291172976da96c4f02dc9200c845c":[9,0,121,2], +"a00912.html#ga618291172976da96c4f02dc9200c845c":[9,0,123,2], +"a00912.html#ga6219d68ef915fdcd734f51960ba08fb6":[9,0,124,1], +"a00912.html#ga6219d68ef915fdcd734f51960ba08fb6":[7,7,57], +"a00912.html#ga65289262310f2662b2c47450b93c9580":[9,0,97,9], +"a00912.html#ga65289262310f2662b2c47450b93c9580":[7,7,140], +"a00912.html#ga65289262310f2662b2c47450b93c9580":[9,0,128,10], +"a00912.html#ga65289262310f2662b2c47450b93c9580":[9,0,81,9], +"a00912.html#ga6a2579114d13238c7ba20d147a74090a":[9,0,152,1], +"a00912.html#ga6a2579114d13238c7ba20d147a74090a":[7,7,12], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[9,0,82,1], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[9,0,129,1], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[9,0,98,1], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[7,7,22], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[7,7,23], +"a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73":[7,7,24], +"a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[7,7,106], +"a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[9,0,50,0], +"a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76":[9,0,51,3], +"a00912.html#ga6ec842c5f4674de5da640541e616785a":[7,7,104], +"a00912.html#ga6ec842c5f4674de5da640541e616785a":[9,0,95,2], +"a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[7,7,135], +"a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[9,0,97,4], +"a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[9,0,81,4], +"a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2":[9,0,128,5], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[7,7,100], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,133,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,85,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,108,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,102,4], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,120,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,117,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,114,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,111,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,125,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,99,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,51,2], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,105,4], +"a00912.html#ga7598dfcd6dcac882836544d48356d02f":[9,0,130,2], +"a00912.html#ga7732806c89cd206a96b7fabbaf6770d5":[7,7,128], +"a00912.html#ga7732806c89cd206a96b7fabbaf6770d5":[9,0,95,11], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,91,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[7,7,114], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,109,5], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,112,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,83,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,93,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,89,5], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,131,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,115,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,118,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,106,6], +"a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a":[9,0,100,6], +"a00912.html#ga779f5e5d060c6d43dd09752eeb2a2bb3":[9,0,104,0], +"a00912.html#ga779f5e5d060c6d43dd09752eeb2a2bb3":[7,7,17], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,130,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[7,7,99], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,51,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,111,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,133,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,99,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,85,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,114,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,108,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,117,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,105,3], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,125,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,120,1], +"a00912.html#ga80a853a202b089064bfc4b159c3418b4":[9,0,102,3], +"a00912.html#ga8759b00e645502d0f1c3b7330e20e52b":[7,7,97], +"a00912.html#ga8759b00e645502d0f1c3b7330e20e52b":[9,0,122,1], +"a00912.html#ga8a649555029d4f23edfc15a8c01b2d3d":[9,0,139,2], +"a00912.html#ga8a649555029d4f23edfc15a8c01b2d3d":[7,7,30], +"a00912.html#ga8bf59f4218d312568b769b8b8e5c563e":[7,7,160], +"a00912.html#ga8bf59f4218d312568b769b8b8e5c563e":[9,0,138,5], +"a00912.html#ga8bf59f4218d312568b769b8b8e5c563e":[9,0,139,5], +"a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[7,7,137], +"a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[9,0,97,6], +"a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[9,0,128,7], +"a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f":[9,0,81,6], +"a00912.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8":[9,0,138,0], +"a00912.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8":[7,7,26], +"a00912.html#ga8f12e3b749e7b3dc905114cc7b8d0b38":[9,0,124,4], +"a00912.html#ga8f12e3b749e7b3dc905114cc7b8d0b38":[7,7,60], +"a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[7,7,159], +"a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[9,0,139,4], +"a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877":[9,0,138,4], +"a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[7,7,156], +"a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[9,0,100,12], +"a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048":[9,0,101,7], +"a00912.html#ga9186e5235979216330ae580290872c77":[7,7,147], +"a00912.html#ga9186e5235979216330ae580290872c77":[9,0,121,4], +"a00912.html#ga9186e5235979216330ae580290872c77":[9,0,123,4], +"a00912.html#ga92055a86e32f3dfc9eef064d48aa0870":[7,7,123], +"a00912.html#ga92055a86e32f3dfc9eef064d48aa0870":[9,0,95,6], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,91,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[7,7,111], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,83,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,131,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,89,2], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,115,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,118,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,112,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,109,2], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,106,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,93,3], +"a00912.html#ga9317303ada721ff3f97e7aad69437a30":[9,0,100,3], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,151,4], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,156,10], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,154,10], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,155,7], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[7,7,176], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,153,5], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,150,10], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,152,12], +"a00912.html#ga93f3dab17c14f71641ca970998ede823":[9,0,149,4], +"a00912.html#ga95b4e99655383680272a1d9354d42479":[7,7,134], +"a00912.html#ga95b4e99655383680272a1d9354d42479":[9,0,97,3], +"a00912.html#ga95b4e99655383680272a1d9354d42479":[9,0,128,4], +"a00912.html#ga95b4e99655383680272a1d9354d42479":[9,0,81,3], +"a00912.html#ga95dac4460cd54b4b073285ebc79d215b":[7,7,185], +"a00912.html#ga95dac4460cd54b4b073285ebc79d215b":[9,0,93,12], +"a00912.html#ga99ee56102171adcbcecb8a78fb9fa895":[7,7,92], +"a00912.html#ga99ee56102171adcbcecb8a78fb9fa895":[9,0,96,4], +"a00912.html#gaa3e90779b37cd1b3a4d32321d9d8b772":[7,7,96], +"a00912.html#gaa3e90779b37cd1b3a4d32321d9d8b772":[9,0,90,1], +"a00912.html#gaa7deec7f5d89dfb4f9746d050b0926f9":[7,7,184], +"a00912.html#gaa7deec7f5d89dfb4f9746d050b0926f9":[9,0,93,11], +"a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[9,0,128,6], +"a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[9,0,97,5], +"a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[9,0,81,5], +"a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8":[7,7,136], +"a00912.html#gaab85cb460831e8b7e4d3a5315b31c596":[7,7,186], +"a00912.html#gaab85cb460831e8b7e4d3a5315b31c596":[9,0,151,7], +"a00912.html#gaacf6310945889a6119cab867a1ced5e2":[9,0,81,2], +"a00912.html#gaacf6310945889a6119cab867a1ced5e2":[7,7,133], +"a00912.html#gaacf6310945889a6119cab867a1ced5e2":[9,0,97,2], +"a00912.html#gaacf6310945889a6119cab867a1ced5e2":[9,0,128,3], +"a00912.html#gaae5e94b6080d4279474eb3e98bc58901":[9,0,95,15], +"a00912.html#gaae5e94b6080d4279474eb3e98bc58901":[7,7,162], +"a00912.html#gaae5e94b6080d4279474eb3e98bc58901":[9,0,128,12], +"a00912.html#gaae5e94b6080d4279474eb3e98bc58901":[9,0,137,1], +"a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d":[7,7,151], +"a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d":[9,0,124,5], +"a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d":[9,0,123,8], +"a00912.html#gab12a92582aefe426bb194e0c298e8f98":[9,0,152,0], +"a00912.html#gab12a92582aefe426bb194e0c298e8f98":[7,7,11], +"a00912.html#gab289a3949663589ac6be71d72fb18278":[7,7,107], +"a00912.html#gab289a3949663589ac6be71d72fb18278":[9,0,51,4], +"a00912.html#gab289a3949663589ac6be71d72fb18278":[9,0,88,1], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[9,0,150,1], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[9,0,152,3], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[9,0,156,1], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[9,0,154,1], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[7,7,48], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[7,7,49], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[7,7,50], +"a00912.html#gab45577245cf4a8ead70e2d56965f2df3":[7,7,51], +"a00912.html#gab77081d6d85ee3ab839a0882e80e9e87":[7,7,119] }; diff --git a/docs/html/navtreeindex11.js b/docs/html/navtreeindex11.js index b03ea9817..6703b9b7a 100644 --- a/docs/html/navtreeindex11.js +++ b/docs/html/navtreeindex11.js @@ -1,253 +1,253 @@ var NAVTREEINDEX11 = { -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,144,6], -"a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[8,0,148,7], -"a03537.html#gabb507252b1011037d6d2cce7d91b01d0":[6,7,163], -"a03537.html#gabb507252b1011037d6d2cce7d91b01d0":[8,0,92,11], -"a03537.html#gabb507252b1011037d6d2cce7d91b01d0":[8,0,76,11], -"a03537.html#gabc65c7c6bd64530b95fa72082f1e0390":[6,7,179], -"a03537.html#gabc65c7c6bd64530b95fa72082f1e0390":[8,0,90,17], -"a03537.html#gabced238b72e636a557d00355a2e44ac9":[6,7,130], -"a03537.html#gabced238b72e636a557d00355a2e44ac9":[8,0,90,13], -"a03537.html#gabd452e3edb32ea0d22653c182b4e1198":[6,7,164], -"a03537.html#gabd452e3edb32ea0d22653c182b4e1198":[8,0,92,12], -"a03537.html#gabd452e3edb32ea0d22653c182b4e1198":[8,0,76,12], -"a03537.html#gabe78755474c1323a5ac7b3dd6d03dedf":[8,0,90,18], -"a03537.html#gabe78755474c1323a5ac7b3dd6d03dedf":[6,7,183], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,84,6], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,88,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[6,7,115], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,107,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,78,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,110,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,126,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,101,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,113,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,104,6], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,86,7], -"a03537.html#gac382cc4431d2d1c721c21a453ba36c22":[8,0,95,7], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[8,0,151,2], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[8,0,145,2], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[6,7,55], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[8,0,147,4], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[8,0,149,2], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[6,7,52], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[6,7,53], -"a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[6,7,54], -"a03537.html#gac6afabdc09a49a433ee19d8a9486056d":[8,0,90,1], -"a03537.html#gac6afabdc09a49a433ee19d8a9486056d":[6,7,47], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,126,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,107,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,78,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,110,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,104,1], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[6,7,110], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,88,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,84,1], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,113,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,95,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,101,2], -"a03537.html#gac7644e62498a596c09952ee3b28017b9":[8,0,86,2], -"a03537.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[8,0,134,7], -"a03537.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[8,0,133,7], -"a03537.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[6,7,167], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,146,3], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,149,9], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,151,9], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,150,6], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,144,3], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,145,9], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,147,11], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[8,0,148,4], -"a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[6,7,175], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,101,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,126,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[6,7,116], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,107,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,95,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,104,7], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,88,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,84,7], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,113,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,110,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,78,8], -"a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b":[8,0,86,8], -"a03537.html#gad11b8714818c2b05f70593c002fc5945":[6,7,125], -"a03537.html#gad11b8714818c2b05f70593c002fc5945":[8,0,90,8], -"a03537.html#gad4cd02ff7ae4e75844eab4e84eb61994":[6,7,142], -"a03537.html#gad4cd02ff7ae4e75844eab4e84eb61994":[8,0,46,8], -"a03537.html#gad4cd02ff7ae4e75844eab4e84eb61994":[8,0,83,3], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[6,7,118], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,101,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,88,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,107,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,84,9], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,113,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,78,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,104,9], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,95,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,126,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,86,10], -"a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[8,0,110,10], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,144,1], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,150,4], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,151,7], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,145,7], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,146,1], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,147,9], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,149,7], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[6,7,173], -"a03537.html#gad640b598d581ee7c8a4c804bee602906":[8,0,148,2], -"a03537.html#gadc1b033607e06cff7464dc0a49df2744":[8,0,133,1], -"a03537.html#gadc1b033607e06cff7464dc0a49df2744":[6,7,27], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,81], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,82], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,83], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,85], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,89,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,78], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,111,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,127,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,76], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,86], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,79,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,102,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,75], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,114,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,108,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,105,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,84], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,87,1], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,99,2], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,80], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,96,4], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[8,0,85,0], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,77], -"a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98":[6,7,79], -"a03537.html#gae9acffb3ff9a025924457fce5c24a709":[6,7,157], -"a03537.html#gae9acffb3ff9a025924457fce5c24a709":[8,0,133,2], -"a03537.html#gaeaee19ff7623f0eab9839e68dae583af":[8,0,133,3], -"a03537.html#gaeaee19ff7623f0eab9839e68dae583af":[8,0,134,3], -"a03537.html#gaeaee19ff7623f0eab9839e68dae583af":[6,7,158], -"a03537.html#gaeb8b8857192a7710785acce0110e8016":[6,7,150], -"a03537.html#gaeb8b8857192a7710785acce0110e8016":[8,0,116,7], -"a03537.html#gaeb8b8857192a7710785acce0110e8016":[8,0,118,7], -"a03537.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[8,0,95,11], -"a03537.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[6,7,155], -"a03537.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[8,0,96,6], -"a03537.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[6,7,146], -"a03537.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[8,0,116,3], -"a03537.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[8,0,118,3], -"a03537.html#gaf6054a0c971830411d5008b94923bdd8":[8,0,134,8], -"a03537.html#gaf6054a0c971830411d5008b94923bdd8":[8,0,133,8], -"a03537.html#gaf6054a0c971830411d5008b94923bdd8":[6,7,168], -"a03537.html#gaf7ce58d02b067b956abd32127f5519e9":[6,7,169], -"a03537.html#gaf7ce58d02b067b956abd32127f5519e9":[8,0,134,9], -"a03537.html#gaf7ce58d02b067b956abd32127f5519e9":[8,0,133,9], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,42], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,36], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,102,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,87,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,127,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,99,1], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,37], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,111,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,105,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,79,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,40], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,108,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,114,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,38], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,32], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,33], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,34], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,35], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,39], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[6,7,41], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,89,0], -"a03537.html#gaf89a7a4080a47aa10a5504291db285bf":[8,0,96,3], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[6,7,46], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[8,0,147,2], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[8,0,145,0], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[6,7,44], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[6,7,43], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[8,0,151,0], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[8,0,149,0], -"a03537.html#gaf9d9d027ce20f528edea144203141714":[6,7,45], -"a03537.html#gafa87510c678a9963da73988da4dd44f7":[8,0,123,0], -"a03537.html#gafa87510c678a9963da73988da4dd44f7":[6,7,21], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,88,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,110,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,86,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[6,7,113], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,113,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,104,4], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,95,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,107,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,84,4], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,126,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,101,5], -"a03537.html#gafbe53519362f18c2688d10da6f7c618f":[8,0,78,5], -"a03537.html#gafc428980ec95e37eee94813db229fe70":[6,7,153], -"a03537.html#gafc428980ec95e37eee94813db229fe70":[8,0,116,9], -"a03537.html#gafc428980ec95e37eee94813db229fe70":[8,0,118,10], -"a03537.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd":[6,7,103], -"a03537.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd":[8,0,100,5], -"a03537.html#gaffe776513b24d84b39af8ab0930fef7f":[8,0,90,0], -"a03537.html#gaffe776513b24d84b39af8ab0930fef7f":[6,7,31], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f":[6,7,97,1], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f":[8,0,117,1,1], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7":[8,0,117,1,3], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7":[6,7,97,3], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340":[6,7,97,0], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340":[8,0,117,1,0], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a":[6,7,97,2], -"a03537.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a":[8,0,117,1,2], -"a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8":[8,0,85,1,1], -"a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8":[6,7,96,1], -"a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2":[8,0,85,1,0], -"a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2":[6,7,96,0], -"a03538.html":[6,8], -"a03538.html#ga02a9d64ea363dc3b231b8cc0b317de8a":[6,8,2,1], -"a03538.html#ga02a9d64ea363dc3b231b8cc0b317de8a":[6,8,82], -"a03538.html#ga02b3479eaee1bd1741675c2a1249ffda":[6,8,54], -"a03538.html#ga02b3479eaee1bd1741675c2a1249ffda":[8,0,49,3], -"a03538.html#ga02b3479eaee1bd1741675c2a1249ffda":[8,0,50,36], -"a03538.html#ga03632bc31f21bec0d13d4f0cab198958":[8,0,49,19], -"a03538.html#ga03632bc31f21bec0d13d4f0cab198958":[8,0,50,52], -"a03538.html#ga03632bc31f21bec0d13d4f0cab198958":[6,8,70], -"a03538.html#ga05323075c94849bf70e84f5a5931f058":[8,0,50,19], -"a03538.html#ga05323075c94849bf70e84f5a5931f058":[6,8,37], -"a03538.html#ga1039bfbe7e13d614814341bdee6afa7b":[8,0,50,10], -"a03538.html#ga1039bfbe7e13d614814341bdee6afa7b":[6,8,28], -"a03538.html#ga1a026ad1d6e4ccd5c32f7f0462877b39":[8,0,50,13], -"a03538.html#ga1a026ad1d6e4ccd5c32f7f0462877b39":[6,8,31], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,8,2], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,80], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,2,0], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,81], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,79], -"a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[6,8,7,3], -"a03538.html#ga1f445a11e4da099fec31efd43eadc234":[8,0,50,3], -"a03538.html#ga1f445a11e4da099fec31efd43eadc234":[6,8,21], -"a03538.html#ga21e3f5ec2d0765d3e98432c4e8498350":[8,0,50,24], -"a03538.html#ga21e3f5ec2d0765d3e98432c4e8498350":[6,8,42], -"a03538.html#ga232f0d699ece83f51d63e5a66d254be5":[8,0,50,15], -"a03538.html#ga232f0d699ece83f51d63e5a66d254be5":[6,8,33], -"a03538.html#ga2b5993f5b7254d8c6e50794824cf47b6":[8,0,50,8], -"a03538.html#ga2b5993f5b7254d8c6e50794824cf47b6":[6,8,26], -"a03538.html#ga30bc02410edabefa2e210709b00105de":[8,0,50,29], -"a03538.html#ga30bc02410edabefa2e210709b00105de":[6,8,47], -"a03538.html#ga316e7eeaeedc7a30824294280488e24e":[8,0,49,1], -"a03538.html#ga316e7eeaeedc7a30824294280488e24e":[8,0,50,34], -"a03538.html#ga316e7eeaeedc7a30824294280488e24e":[6,8,52], -"a03538.html#ga39d794a93edb13943760550086940fa4":[8,0,50,31], -"a03538.html#ga39d794a93edb13943760550086940fa4":[6,8,49], -"a03538.html#ga3eedc11953a89e931ede529eb72592ac":[6,8,78], -"a03538.html#ga3eedc11953a89e931ede529eb72592ac":[6,8,8,1], -"a03538.html#ga3eedc11953a89e931ede529eb72592ac":[6,8,7,2], -"a03538.html#ga3eedc11953a89e931ede529eb72592ac":[6,8,77], -"a03538.html#ga4155a23e70d1bf07de5d316efebeaee7":[6,8,13,0], -"a03538.html#ga4155a23e70d1bf07de5d316efebeaee7":[6,8,73], -"a03538.html#ga43496218f8a98faad996489af047272f":[8,0,50,16] +"a00912.html#gab77081d6d85ee3ab839a0882e80e9e87":[9,0,50,1], +"a00912.html#gab77081d6d85ee3ab839a0882e80e9e87":[9,0,51,6], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[7,7,101], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,118,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,112,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,113,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,83,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,131,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,132,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,116,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,115,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,107,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,119,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,84,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,106,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,92,2], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,93,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,91,0], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,101,5], +"a00912.html#gab7f613b378e0d01b80703df3ac662d6d":[9,0,100,0], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[7,7,180], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[7,7,182], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[7,7,181], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[9,0,128,14], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[9,0,81,13], +"a00912.html#gab97bfae6ae6051d081edf51bb45eea05":[9,0,97,13], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,154,12], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,155,9], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,156,12], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[7,7,178], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,153,7], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,152,14], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,149,6], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,151,6], +"a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d":[9,0,150,12], +"a00912.html#gabb507252b1011037d6d2cce7d91b01d0":[9,0,81,11], +"a00912.html#gabb507252b1011037d6d2cce7d91b01d0":[7,7,163], +"a00912.html#gabb507252b1011037d6d2cce7d91b01d0":[9,0,97,11], +"a00912.html#gabc65c7c6bd64530b95fa72082f1e0390":[9,0,95,17], +"a00912.html#gabc65c7c6bd64530b95fa72082f1e0390":[7,7,179], +"a00912.html#gabced238b72e636a557d00355a2e44ac9":[9,0,95,13], +"a00912.html#gabced238b72e636a557d00355a2e44ac9":[7,7,130], +"a00912.html#gabd452e3edb32ea0d22653c182b4e1198":[7,7,164], +"a00912.html#gabd452e3edb32ea0d22653c182b4e1198":[9,0,81,12], +"a00912.html#gabd452e3edb32ea0d22653c182b4e1198":[9,0,97,12], +"a00912.html#gabe78755474c1323a5ac7b3dd6d03dedf":[9,0,95,18], +"a00912.html#gabe78755474c1323a5ac7b3dd6d03dedf":[7,7,183], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,89,6], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,100,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,91,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[7,7,115], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,83,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,109,6], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,112,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,118,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,115,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,93,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,106,7], +"a00912.html#gac382cc4431d2d1c721c21a453ba36c22":[9,0,131,7], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[9,0,154,2], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[9,0,152,4], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[7,7,52], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[9,0,156,2], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[7,7,53], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[9,0,150,2], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[7,7,54], +"a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b":[7,7,55], +"a00912.html#gac6afabdc09a49a433ee19d8a9486056d":[9,0,95,1], +"a00912.html#gac6afabdc09a49a433ee19d8a9486056d":[7,7,47], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,91,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[7,7,110], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,93,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,112,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,118,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,115,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,106,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,100,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,109,1], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,83,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,131,2], +"a00912.html#gac7644e62498a596c09952ee3b28017b9":[9,0,89,1], +"a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[7,7,167], +"a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[9,0,138,7], +"a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7":[9,0,139,7], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,149,3], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,155,6], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,156,9], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,151,3], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,152,11], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,154,9], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,150,9], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[7,7,175], +"a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41":[9,0,153,4], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,91,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,93,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[7,7,116], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,100,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,115,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,106,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,131,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,89,7], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,83,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,112,8], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,109,7], +"a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b":[9,0,118,8], +"a00912.html#gad11b8714818c2b05f70593c002fc5945":[7,7,125], +"a00912.html#gad11b8714818c2b05f70593c002fc5945":[9,0,95,8], +"a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994":[9,0,51,8], +"a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994":[7,7,142], +"a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994":[9,0,88,3], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,118,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,83,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[7,7,118], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,93,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,91,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,131,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,100,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,106,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,89,9], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,115,10], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,109,9], +"a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c":[9,0,112,10], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,156,7], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,154,7], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,152,9], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,155,4], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,151,1], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[7,7,173], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,153,2], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,150,7], +"a00912.html#gad640b598d581ee7c8a4c804bee602906":[9,0,149,1], +"a00912.html#gadc1b033607e06cff7464dc0a49df2744":[7,7,27], +"a00912.html#gadc1b033607e06cff7464dc0a49df2744":[9,0,138,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,78], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,80], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,82], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,83], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,84], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,86], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,104,2], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,90,0], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,79], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,75], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,101,4], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,85], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,81], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,116,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,113,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,119,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,84,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,132,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,94,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,107,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,92,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[9,0,110,1], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,76], +"a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98":[7,7,77], +"a00912.html#gae9acffb3ff9a025924457fce5c24a709":[7,7,157], +"a00912.html#gae9acffb3ff9a025924457fce5c24a709":[9,0,138,2], +"a00912.html#gaeaee19ff7623f0eab9839e68dae583af":[7,7,158], +"a00912.html#gaeaee19ff7623f0eab9839e68dae583af":[9,0,138,3], +"a00912.html#gaeaee19ff7623f0eab9839e68dae583af":[9,0,139,3], +"a00912.html#gaeb8b8857192a7710785acce0110e8016":[7,7,150], +"a00912.html#gaeb8b8857192a7710785acce0110e8016":[9,0,121,7], +"a00912.html#gaeb8b8857192a7710785acce0110e8016":[9,0,123,7], +"a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[7,7,155], +"a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[9,0,101,6], +"a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4":[9,0,100,11], +"a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[7,7,146], +"a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[9,0,121,3], +"a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d":[9,0,123,3], +"a00912.html#gaf6054a0c971830411d5008b94923bdd8":[9,0,138,8], +"a00912.html#gaf6054a0c971830411d5008b94923bdd8":[7,7,168], +"a00912.html#gaf6054a0c971830411d5008b94923bdd8":[9,0,139,8], +"a00912.html#gaf7ce58d02b067b956abd32127f5519e9":[7,7,169], +"a00912.html#gaf7ce58d02b067b956abd32127f5519e9":[9,0,139,9], +"a00912.html#gaf7ce58d02b067b956abd32127f5519e9":[9,0,138,9], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,132,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,92,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,37], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,101,3], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,104,1], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,35], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,110,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,41], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,107,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,119,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,113,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,84,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,116,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,33], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[9,0,94,0], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,32], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,34], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,36], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,38], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,39], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,40], +"a00912.html#gaf89a7a4080a47aa10a5504291db285bf":[7,7,42], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[9,0,150,0], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[9,0,152,2], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[7,7,46], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[9,0,156,0], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[9,0,154,0], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[7,7,45], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[7,7,43], +"a00912.html#gaf9d9d027ce20f528edea144203141714":[7,7,44], +"a00912.html#gafa87510c678a9963da73988da4dd44f7":[7,7,21], +"a00912.html#gafa87510c678a9963da73988da4dd44f7":[9,0,128,0], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,131,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[7,7,113], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,115,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,106,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,93,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,118,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,109,4], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,112,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,89,4], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,100,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,83,5], +"a00912.html#gafbe53519362f18c2688d10da6f7c618f":[9,0,91,5], +"a00912.html#gafc428980ec95e37eee94813db229fe70":[7,7,153], +"a00912.html#gafc428980ec95e37eee94813db229fe70":[9,0,121,9], +"a00912.html#gafc428980ec95e37eee94813db229fe70":[9,0,123,10], +"a00912.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd":[7,7,103], +"a00912.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd":[9,0,105,5], +"a00912.html#gaffe776513b24d84b39af8ab0930fef7f":[9,0,95,0], +"a00912.html#gaffe776513b24d84b39af8ab0930fef7f":[7,7,31], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f":[7,7,97,1], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f":[9,0,122,1,1], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7":[7,7,97,3], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7":[9,0,122,1,3], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340":[9,0,122,1,0], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340":[7,7,97,0], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a":[9,0,122,1,2], +"a00912.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a":[7,7,97,2], +"a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8":[7,7,96,1], +"a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8":[9,0,90,1,1], +"a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2":[7,7,96,0], +"a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2":[9,0,90,1,0], +"a00913.html":[7,8], +"a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a":[7,8,2,1], +"a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a":[7,8,82], +"a00913.html#ga02b3479eaee1bd1741675c2a1249ffda":[9,0,54,3], +"a00913.html#ga02b3479eaee1bd1741675c2a1249ffda":[9,0,55,36], +"a00913.html#ga02b3479eaee1bd1741675c2a1249ffda":[7,8,54], +"a00913.html#ga03632bc31f21bec0d13d4f0cab198958":[9,0,54,19], +"a00913.html#ga03632bc31f21bec0d13d4f0cab198958":[9,0,55,52], +"a00913.html#ga03632bc31f21bec0d13d4f0cab198958":[7,8,70], +"a00913.html#ga05323075c94849bf70e84f5a5931f058":[9,0,55,19] }; diff --git a/docs/html/navtreeindex12.js b/docs/html/navtreeindex12.js index 1943b3468..907c07f06 100644 --- a/docs/html/navtreeindex12.js +++ b/docs/html/navtreeindex12.js @@ -1,253 +1,253 @@ var NAVTREEINDEX12 = { -"a03538.html#ga43496218f8a98faad996489af047272f":[6,8,34], -"a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[8,0,49,8], -"a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[8,0,50,41], -"a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[6,8,59], -"a03538.html#ga44361cadf1819cea687208eeadd57059":[6,8,63], -"a03538.html#ga44361cadf1819cea687208eeadd57059":[8,0,49,12], -"a03538.html#ga44361cadf1819cea687208eeadd57059":[8,0,50,45], -"a03538.html#ga47853951c57803eff1432780bf360057":[6,8,71], -"a03538.html#ga47853951c57803eff1432780bf360057":[8,0,49,20], -"a03538.html#ga47853951c57803eff1432780bf360057":[8,0,50,53], -"a03538.html#ga4c89f8023aec521281824c0e35713baa":[8,0,50,48], -"a03538.html#ga4c89f8023aec521281824c0e35713baa":[8,0,49,15], -"a03538.html#ga4c89f8023aec521281824c0e35713baa":[6,8,66], -"a03538.html#ga4ef7d31c60616cf5177f415e32607d10":[8,0,50,4], -"a03538.html#ga4ef7d31c60616cf5177f415e32607d10":[6,8,22], -"a03538.html#ga5398e83ccfca8ada7cb609c1e34d2cc4":[6,8,20], -"a03538.html#ga5398e83ccfca8ada7cb609c1e34d2cc4":[8,0,50,2], -"a03538.html#ga5b457cd0ccba73864eee4030b6079ba7":[8,0,49,0], -"a03538.html#ga5b457cd0ccba73864eee4030b6079ba7":[8,0,50,33], -"a03538.html#ga5b457cd0ccba73864eee4030b6079ba7":[6,8,51], -"a03538.html#ga5e4f22a404b71cabba4fd7085dff5e7c":[6,8,32], -"a03538.html#ga5e4f22a404b71cabba4fd7085dff5e7c":[8,0,50,14], -"a03538.html#ga5ed81b300bd0d04f88708ad122d3a53a":[8,0,50,21], -"a03538.html#ga5ed81b300bd0d04f88708ad122d3a53a":[6,8,39], -"a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[8,0,49,4], -"a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[6,8,55], -"a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[8,0,50,37], -"a03538.html#ga656372cab66beeb5a333e9a33e342017":[8,0,50,6], -"a03538.html#ga656372cab66beeb5a333e9a33e342017":[6,8,24], -"a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[6,8,69], -"a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[8,0,50,51], -"a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[8,0,49,18], -"a03538.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb":[8,0,50,12], -"a03538.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb":[6,8,30], -"a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[8,0,49,6], -"a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[8,0,50,39], -"a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[6,8,57], -"a03538.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c":[8,0,50,1], -"a03538.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c":[6,8,19], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,8,5], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,7,6], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,1,3], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,92], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,94], -"a03538.html#ga7276bd20c5842e712da638d25ceb6d92":[6,8,93], -"a03538.html#ga75f7197e2840bcf9fe00722e739fdd9c":[6,8,2,2], -"a03538.html#ga75f7197e2840bcf9fe00722e739fdd9c":[6,8,88], -"a03538.html#ga787a3ef3bd9a6feaf71b50fc127b619d":[6,8,41], -"a03538.html#ga787a3ef3bd9a6feaf71b50fc127b619d":[8,0,50,23], -"a03538.html#ga804b097bbb0a7086f7d208390689146b":[8,0,50,22], -"a03538.html#ga804b097bbb0a7086f7d208390689146b":[6,8,40], -"a03538.html#ga809ad14c1d8da45d5f74fa4c55373638":[8,0,50,38], -"a03538.html#ga809ad14c1d8da45d5f74fa4c55373638":[8,0,49,5], -"a03538.html#ga809ad14c1d8da45d5f74fa4c55373638":[6,8,56], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,85], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,7,4], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,1,1], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,83], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,8,3], -"a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[6,8,84], -"a03538.html#ga876993158b491f4626155b468ffb6edc":[6,8,2,4], -"a03538.html#ga876993158b491f4626155b468ffb6edc":[6,8,100], -"a03538.html#ga88d82c85f774fa04ccf768e566fec194":[6,8,7,0], -"a03538.html#ga88d82c85f774fa04ccf768e566fec194":[6,8,72], -"a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[6,8,53], -"a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[8,0,50,35], -"a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[8,0,49,2], -"a03538.html#ga897821490d4d10e168f1c94cd67966e7":[8,0,50,20], -"a03538.html#ga897821490d4d10e168f1c94cd67966e7":[6,8,38], -"a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[6,8,7,5], -"a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[6,8,8,4], -"a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[6,8,90], -"a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[6,8,89], -"a03538.html#ga9be4eee4ac6c9248a824d093f165839e":[6,8,74], -"a03538.html#ga9be4eee4ac6c9248a824d093f165839e":[6,8,15,0], -"a03538.html#ga9c24dfde4798589fd98c2583d170aeb1":[8,0,50,11], -"a03538.html#ga9c24dfde4798589fd98c2583d170aeb1":[6,8,29], -"a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[6,8,64], -"a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[8,0,49,13], -"a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[8,0,50,46], -"a03538.html#gaa0df5937081037684ce2894a8cc2c1e5":[8,0,50,44], -"a03538.html#gaa0df5937081037684ce2894a8cc2c1e5":[8,0,49,11], -"a03538.html#gaa0df5937081037684ce2894a8cc2c1e5":[6,8,62], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,15,3], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,95], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,99], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,8,6], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,2,3], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,96], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,98], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,97], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,7,7], -"a03538.html#gaa17e031da4b22938bed1c21161ba371a":[6,8,13,1], -"a03538.html#gaa60674423eaa2e7f37f2c1cf2855f2d7":[8,0,50,26], -"a03538.html#gaa60674423eaa2e7f37f2c1cf2855f2d7":[6,8,44], -"a03538.html#gaa795bec90432fbfa194913d8b4098fab":[8,0,49,16], -"a03538.html#gaa795bec90432fbfa194913d8b4098fab":[6,8,67], -"a03538.html#gaa795bec90432fbfa194913d8b4098fab":[8,0,50,49], -"a03538.html#gab0d96f9d852c2058c2546a1338e87544":[6,8,8,0], -"a03538.html#gab0d96f9d852c2058c2546a1338e87544":[6,8,7,1], -"a03538.html#gab0d96f9d852c2058c2546a1338e87544":[6,8,76], -"a03538.html#gab0d96f9d852c2058c2546a1338e87544":[6,8,75], -"a03538.html#gab17435577e546d2954bd697f21e6d3cc":[8,0,49,9], -"a03538.html#gab17435577e546d2954bd697f21e6d3cc":[6,8,60], -"a03538.html#gab17435577e546d2954bd697f21e6d3cc":[8,0,50,42], -"a03538.html#gab4d485e0545aa3defd75702fe51f9a13":[8,0,50,30], -"a03538.html#gab4d485e0545aa3defd75702fe51f9a13":[6,8,48], -"a03538.html#gab51341e9f564bc8f85c2e822835a8bcb":[8,0,50,0], -"a03538.html#gab51341e9f564bc8f85c2e822835a8bcb":[6,8,18], -"a03538.html#gabf2abd4bd62f47537756c9ab109050c0":[8,0,49,7], -"a03538.html#gabf2abd4bd62f47537756c9ab109050c0":[6,8,58], -"a03538.html#gabf2abd4bd62f47537756c9ab109050c0":[8,0,50,40], -"a03538.html#gac97246a9059d3f687edfcbe5abfc5d8f":[6,8,15,2], -"a03538.html#gac97246a9059d3f687edfcbe5abfc5d8f":[6,8,91], -"a03538.html#gace9a9d1e2e34d294e573098600b6f061":[8,0,50,27], -"a03538.html#gace9a9d1e2e34d294e573098600b6f061":[6,8,45], -"a03538.html#gacea547aa606ca17f8da337a1b58972a1":[6,8,87], -"a03538.html#gacea547aa606ca17f8da337a1b58972a1":[6,8,15,1], -"a03538.html#gad456d2c1172343bb40d8cd0e391d44f4":[6,8,61], -"a03538.html#gad456d2c1172343bb40d8cd0e391d44f4":[8,0,50,43], -"a03538.html#gad456d2c1172343bb40d8cd0e391d44f4":[8,0,49,10], -"a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[8,0,49,17], -"a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[6,8,68], -"a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[8,0,50,50], -"a03538.html#gad87f95f0faf0c6fdfe94040efcb14860":[6,8,1,2], -"a03538.html#gad87f95f0faf0c6fdfe94040efcb14860":[6,8,86], -"a03538.html#gae9245f524128f65f77f65002a5a7265f":[8,0,50,7], -"a03538.html#gae9245f524128f65f77f65002a5a7265f":[6,8,25], -"a03538.html#gae9d8a27e97696e2e02cea680ea44e3f2":[6,8,43], -"a03538.html#gae9d8a27e97696e2e02cea680ea44e3f2":[8,0,50,25], -"a03538.html#gaeb6c1ee0fb04b12d185eee8bb766068c":[6,8,35], -"a03538.html#gaeb6c1ee0fb04b12d185eee8bb766068c":[8,0,50,17], -"a03538.html#gaebdc2d83274268bb48fc45e87aef38af":[6,8,27], -"a03538.html#gaebdc2d83274268bb48fc45e87aef38af":[8,0,50,9], -"a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb":[6,8,65], -"a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb":[8,0,50,47], -"a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb":[8,0,49,14], -"a03538.html#gaf7ec8e72430c612cc936a2ea2f91d6d0":[6,8,36], -"a03538.html#gaf7ec8e72430c612cc936a2ea2f91d6d0":[8,0,50,18], -"a03538.html#gafd8064c07a5f22cdb087c88e1b87c1be":[6,8,23], -"a03538.html#gafd8064c07a5f22cdb087c88e1b87c1be":[8,0,50,5], -"a03538.html#gafdb82fc57fb953626c28c757a5220274":[6,8,46], -"a03538.html#gafdb82fc57fb953626c28c757a5220274":[8,0,50,28], -"a03538.html#gafeefb2141ebb14988f08eb86f7cd6608":[8,0,50,32], -"a03538.html#gafeefb2141ebb14988f08eb86f7cd6608":[6,8,50], -"a03539.html":[6,9], -"a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[8,0,53,5], -"a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[8,0,54,5], -"a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[6,9,6], -"a03539.html#ga167fe35631a0dd191293c6ad3a6485aa":[8,0,54,2], -"a03539.html#ga167fe35631a0dd191293c6ad3a6485aa":[6,9,3], -"a03539.html#ga167fe35631a0dd191293c6ad3a6485aa":[8,0,53,2], -"a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[8,0,53,1], -"a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[8,0,54,1], -"a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[6,9,2], -"a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[8,0,53,3], -"a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[6,9,4], -"a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[8,0,54,3], -"a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[6,9,1], -"a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[8,0,54,0], -"a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[8,0,53,0], -"a03539.html#gad3ea09543f0569a5368130f4a3d7bce0":[6,9,5], -"a03539.html#gad3ea09543f0569a5368130f4a3d7bce0":[8,0,53,4], -"a03539.html#gad3ea09543f0569a5368130f4a3d7bce0":[8,0,54,4], -"a03543.html":[6,1,0], -"a03543.html#a380510ad0d2dbde608f38387436db3bc":[6,1,0,0], -"a03543.html#a77632045612dbd0a5ac4488567c14dd3":[6,1,0,2], -"a03543.html#aebea355958c50f7d6a7d946f33ddc0aa":[6,1,0,1], -"a03547.html":[6,1,1], -"a03547.html#a0a6faa98b4d6b0b87ec0127daee17d11":[6,1,1,1], -"a03547.html#a16a7565b150a9c17a39c80fc932b9514":[6,1,1,5], -"a03547.html#a3c02ddae56a01b6df3be14acf14915a4":[6,1,1,6], -"a03547.html#a5c1b56e6bccc2a95dbddf1a08e56e87d":[6,1,1,3], -"a03547.html#a7f16544e2e38e2a389b69be0a7156986":[6,1,1,2], -"a03547.html#ad64c25d49d8bac111d62c92a0e552289":[6,1,1,0], -"a03547.html#aec4226da1b99c821237b6805c4e31333":[6,1,1,4], -"a03551.html":[6,2,0], -"a03551.html#aac7a3ed180ba0fcf0d86f7b54ebc1379":[6,2,0,0], -"a03551.html#aca75c68806e47e95144dc86a3f50d236":[6,2,0,1], -"a03555.html":[6,3,0], -"a03555.html#a058e797431a238154c5347fa26982044":[6,3,0,28], -"a03555.html#a05f2d72f4feff51d21be443c82d02192":[6,3,0,8], -"a03555.html#a0b39f87d1a01274c9da57768841683c3":[6,3,0,4], -"a03555.html#a18decbd259932bfe1f787dd3d94ee29f":[6,3,0,13], -"a03555.html#a357fd8307ec04fe3026830316fc3b043":[6,3,0,17], -"a03555.html#a3aa29f6db8565f010adbe6b11e203d53":[6,3,0,15], -"a03555.html#a3baf2be3a5e7c59688ede3ffa734f1e1":[6,3,0,11], -"a03555.html#a3d0753b214d2a12df80f22b56bfc6e71":[6,3,0,19], -"a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d":[6,3,0,6], -"a03555.html#a5eb439f0ede23956fde8cd72f41b85ba":[6,3,0,14], -"a03555.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5":[6,3,0,10], -"a03555.html#a63c89c04d1feae07ca35558055155ffb":[6,3,0,23], -"a03555.html#a7add390e5c5e2d9c8f6dadc842a3726e":[6,3,0,16], -"a03555.html#a82498c9417816ef35f75ea8249a3f10a":[6,3,0,12], -"a03555.html#a88f8040c47fc046b2198a26f4ed3faf0":[6,3,0,2], -"a03555.html#a9670d2ececfd8d536f8e6b629ab7b1ed":[6,3,0,3], -"a03555.html#a97e106cc7267316cf40988744b231111":[6,3,0,7], -"a03555.html#a98780fe4ab562a61abfd7870ea0910c3":[6,3,0,27], -"a03555.html#a9de35842403baab5738ea16162012d4f":[6,3,0,26], -"a03555.html#aa0e72b59c63431c62f5b5eba36a65d17":[6,3,0,21], -"a03555.html#aa757f95b731b8dfdd4ce785e26944728":[6,3,0,1], -"a03555.html#aa9ce255f8b9bff64fe261235f9e70c03":[6,3,0,24], -"a03555.html#aba242bb3690d4d5a7de01474f94cb4ab":[6,3,0,20], -"a03555.html#abd8750afb7cb6d240c858a382a210fa7":[6,3,0,0], -"a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1":[6,3,0,5], -"a03555.html#ac93868aeda435dfb685a0a0020e5c7a4":[6,3,0,25], -"a03555.html#ae40354a1051342eb5a9db005715dcfa9":[6,3,0,18], -"a03555.html#ae696a833509f858d17988acdb1deb161":[6,3,0,29], -"a03555.html#aec32162d9dc3fde2c76d766af522dae5":[6,3,0,22], -"a03555.html#af6dd59cf5b43526a4c6ccd515042af73":[6,3,0,9], -"a03583.html":[6,3,1], -"a03583.html#a0dd463e6dbb6121768480ab7b42ba604":[6,3,1,2], -"a03583.html#a343ec53c611863bf30624e5775782ab5":[6,3,1,4], -"a03583.html#a43753a99c2b46caab2ae85d0504f1f84":[6,3,1,1], -"a03583.html#a6cb270146e07d7c258bca835fda84be5":[6,3,1,6], -"a03583.html#a7ebe5db4da26f30972448931b7500546":[6,3,1,3], -"a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a":[6,3,1,9], -"a03583.html#abdd7b8bd26139998d9da63a4fa562735":[6,3,1,8], -"a03583.html#ad33508455720b78cc0fc880cb3f9885e":[6,3,1,7], -"a03583.html#ae643f9f7998343cc33822de00192626b":[6,3,1,5], -"a03583.html#af98425da891944b45d56cebd93b131f6":[6,3,1,0], -"a03587.html":[6,4,0], -"a03587.html#a02048604d30b880033311cf542d63f92":[6,4,0,1], -"a03587.html#a18df301c1a10c8d493da86ce5c2aea78":[6,4,0,4], -"a03587.html#a4d171061df9e012fcfbd1172b8440d5f":[6,4,0,0], -"a03587.html#a987fa9280fe4cd6c6b8f77409f1c1504":[6,4,0,2], -"a03587.html#a994c4f4519ba57e186580d21cc86f9e5":[6,4,0,5], -"a03587.html#ada983deda100b604bee5716512453658":[6,4,0,3], -"a03591.html":[6,4,1], -"a03591.html#a107ad412023faa68c4ac0c7cfd921a02":[6,4,1,4], -"a03591.html#ab0cedc80cd8670d02eee4b6e31500f5f":[6,4,1,1], -"a03591.html#ac681806181c80437cfab37335f62ff39":[6,4,1,2], -"a03591.html#ad23984515efd99983fa4baf3754082a1":[6,4,1,3], -"a03591.html#af6a39bfc7e1dc3b6f9c997c1c43fa996":[6,4,1,0], -"a03595.html":[6,4,2], -"a03595.html#ac681806181c80437cfab37335f62ff39":[6,4,2,1], -"a03595.html#af6a39bfc7e1dc3b6f9c997c1c43fa996":[6,4,2,0], -"a03599.html":[6,4,3], -"a03599.html#a0b1ca4dcd178907e4151c7132e3b55f5":[6,4,3,2], -"a03599.html#aa36729eb861afe13bb70974147bc403b":[6,4,3,1], -"a03599.html#af74e55b0689356f989d8330ae3072376":[6,4,3,0], -"a03603.html":[6,4,4], -"a03603.html#a2d5a033a5aa1227c536ec1aa71a84fa5":[6,4,4,7], -"a03603.html#a3a8aede64cc4e17e9495ada7a64ab24f":[6,4,4,15], -"a03603.html#a44b6808e0d081cb5fd82f58f7de32e4a":[6,4,4,16], -"a03603.html#a61f951f9c4366391012057d591888f32":[6,4,4,10], -"a03603.html#a6367c516be990bdce86047b5d9acda14":[6,4,4,8], -"a03603.html#a641e13598992fc536e70b55cc8ee2ea5":[6,4,4,11], -"a03603.html#a67c40218f646b70740c0d2027eb152a0":[6,4,4,5], -"a03603.html#a7dcbb1ab3db4003c7f2414e262853e6d":[6,4,4,9] +"a00913.html#ga05323075c94849bf70e84f5a5931f058":[7,8,37], +"a00913.html#ga1039bfbe7e13d614814341bdee6afa7b":[9,0,55,10], +"a00913.html#ga1039bfbe7e13d614814341bdee6afa7b":[7,8,28], +"a00913.html#ga1a026ad1d6e4ccd5c32f7f0462877b39":[7,8,31], +"a00913.html#ga1a026ad1d6e4ccd5c32f7f0462877b39":[9,0,55,13], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,79], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,8,2], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,81], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,7,3], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,80], +"a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167":[7,8,2,0], +"a00913.html#ga1f445a11e4da099fec31efd43eadc234":[9,0,55,3], +"a00913.html#ga1f445a11e4da099fec31efd43eadc234":[7,8,21], +"a00913.html#ga21e3f5ec2d0765d3e98432c4e8498350":[9,0,55,24], +"a00913.html#ga21e3f5ec2d0765d3e98432c4e8498350":[7,8,42], +"a00913.html#ga232f0d699ece83f51d63e5a66d254be5":[9,0,55,15], +"a00913.html#ga232f0d699ece83f51d63e5a66d254be5":[7,8,33], +"a00913.html#ga2b5993f5b7254d8c6e50794824cf47b6":[9,0,55,8], +"a00913.html#ga2b5993f5b7254d8c6e50794824cf47b6":[7,8,26], +"a00913.html#ga30bc02410edabefa2e210709b00105de":[9,0,55,29], +"a00913.html#ga30bc02410edabefa2e210709b00105de":[7,8,47], +"a00913.html#ga316e7eeaeedc7a30824294280488e24e":[9,0,55,34], +"a00913.html#ga316e7eeaeedc7a30824294280488e24e":[7,8,52], +"a00913.html#ga316e7eeaeedc7a30824294280488e24e":[9,0,54,1], +"a00913.html#ga39d794a93edb13943760550086940fa4":[7,8,49], +"a00913.html#ga39d794a93edb13943760550086940fa4":[9,0,55,31], +"a00913.html#ga3eedc11953a89e931ede529eb72592ac":[7,8,8,1], +"a00913.html#ga3eedc11953a89e931ede529eb72592ac":[7,8,78], +"a00913.html#ga3eedc11953a89e931ede529eb72592ac":[7,8,7,2], +"a00913.html#ga3eedc11953a89e931ede529eb72592ac":[7,8,77], +"a00913.html#ga4155a23e70d1bf07de5d316efebeaee7":[7,8,13,0], +"a00913.html#ga4155a23e70d1bf07de5d316efebeaee7":[7,8,73], +"a00913.html#ga43496218f8a98faad996489af047272f":[9,0,55,16], +"a00913.html#ga43496218f8a98faad996489af047272f":[7,8,34], +"a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[9,0,54,8], +"a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[9,0,55,41], +"a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c":[7,8,59], +"a00913.html#ga44361cadf1819cea687208eeadd57059":[9,0,54,12], +"a00913.html#ga44361cadf1819cea687208eeadd57059":[9,0,55,45], +"a00913.html#ga44361cadf1819cea687208eeadd57059":[7,8,63], +"a00913.html#ga47853951c57803eff1432780bf360057":[9,0,55,53], +"a00913.html#ga47853951c57803eff1432780bf360057":[9,0,54,20], +"a00913.html#ga47853951c57803eff1432780bf360057":[7,8,71], +"a00913.html#ga4c89f8023aec521281824c0e35713baa":[9,0,54,15], +"a00913.html#ga4c89f8023aec521281824c0e35713baa":[9,0,55,48], +"a00913.html#ga4c89f8023aec521281824c0e35713baa":[7,8,66], +"a00913.html#ga4ef7d31c60616cf5177f415e32607d10":[9,0,55,4], +"a00913.html#ga4ef7d31c60616cf5177f415e32607d10":[7,8,22], +"a00913.html#ga5398e83ccfca8ada7cb609c1e34d2cc4":[7,8,20], +"a00913.html#ga5398e83ccfca8ada7cb609c1e34d2cc4":[9,0,55,2], +"a00913.html#ga5b457cd0ccba73864eee4030b6079ba7":[7,8,51], +"a00913.html#ga5b457cd0ccba73864eee4030b6079ba7":[9,0,54,0], +"a00913.html#ga5b457cd0ccba73864eee4030b6079ba7":[9,0,55,33], +"a00913.html#ga5e4f22a404b71cabba4fd7085dff5e7c":[7,8,32], +"a00913.html#ga5e4f22a404b71cabba4fd7085dff5e7c":[9,0,55,14], +"a00913.html#ga5ed81b300bd0d04f88708ad122d3a53a":[7,8,39], +"a00913.html#ga5ed81b300bd0d04f88708ad122d3a53a":[9,0,55,21], +"a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[9,0,55,37], +"a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[7,8,55], +"a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b":[9,0,54,4], +"a00913.html#ga656372cab66beeb5a333e9a33e342017":[9,0,55,6], +"a00913.html#ga656372cab66beeb5a333e9a33e342017":[7,8,24], +"a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[9,0,55,51], +"a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[9,0,54,18], +"a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e":[7,8,69], +"a00913.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb":[7,8,30], +"a00913.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb":[9,0,55,12], +"a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[7,8,57], +"a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[9,0,54,6], +"a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4":[9,0,55,39], +"a00913.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c":[9,0,55,1], +"a00913.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c":[7,8,19], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,92], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,94], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,1,3], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,7,6], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,8,5], +"a00913.html#ga7276bd20c5842e712da638d25ceb6d92":[7,8,93], +"a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c":[7,8,88], +"a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c":[7,8,2,2], +"a00913.html#ga787a3ef3bd9a6feaf71b50fc127b619d":[9,0,55,23], +"a00913.html#ga787a3ef3bd9a6feaf71b50fc127b619d":[7,8,41], +"a00913.html#ga804b097bbb0a7086f7d208390689146b":[9,0,55,22], +"a00913.html#ga804b097bbb0a7086f7d208390689146b":[7,8,40], +"a00913.html#ga809ad14c1d8da45d5f74fa4c55373638":[7,8,56], +"a00913.html#ga809ad14c1d8da45d5f74fa4c55373638":[9,0,55,38], +"a00913.html#ga809ad14c1d8da45d5f74fa4c55373638":[9,0,54,5], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,7,4], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,84], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,85], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,1,1], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,8,3], +"a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e":[7,8,83], +"a00913.html#ga876993158b491f4626155b468ffb6edc":[7,8,2,4], +"a00913.html#ga876993158b491f4626155b468ffb6edc":[7,8,100], +"a00913.html#ga88d82c85f774fa04ccf768e566fec194":[7,8,7,0], +"a00913.html#ga88d82c85f774fa04ccf768e566fec194":[7,8,72], +"a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[9,0,54,2], +"a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[9,0,55,35], +"a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae":[7,8,53], +"a00913.html#ga897821490d4d10e168f1c94cd67966e7":[9,0,55,20], +"a00913.html#ga897821490d4d10e168f1c94cd67966e7":[7,8,38], +"a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[7,8,7,5], +"a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[7,8,90], +"a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[7,8,8,4], +"a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3":[7,8,89], +"a00913.html#ga9be4eee4ac6c9248a824d093f165839e":[7,8,74], +"a00913.html#ga9be4eee4ac6c9248a824d093f165839e":[7,8,15,0], +"a00913.html#ga9c24dfde4798589fd98c2583d170aeb1":[9,0,55,11], +"a00913.html#ga9c24dfde4798589fd98c2583d170aeb1":[7,8,29], +"a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[9,0,54,13], +"a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[9,0,55,46], +"a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b":[7,8,64], +"a00913.html#gaa0df5937081037684ce2894a8cc2c1e5":[9,0,54,11], +"a00913.html#gaa0df5937081037684ce2894a8cc2c1e5":[9,0,55,44], +"a00913.html#gaa0df5937081037684ce2894a8cc2c1e5":[7,8,62], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,15,3], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,97], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,2,3], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,95], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,99], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,7,7], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,98], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,13,1], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,8,6], +"a00913.html#gaa17e031da4b22938bed1c21161ba371a":[7,8,96], +"a00913.html#gaa60674423eaa2e7f37f2c1cf2855f2d7":[9,0,55,26], +"a00913.html#gaa60674423eaa2e7f37f2c1cf2855f2d7":[7,8,44], +"a00913.html#gaa795bec90432fbfa194913d8b4098fab":[9,0,55,49], +"a00913.html#gaa795bec90432fbfa194913d8b4098fab":[9,0,54,16], +"a00913.html#gaa795bec90432fbfa194913d8b4098fab":[7,8,67], +"a00913.html#gab0d96f9d852c2058c2546a1338e87544":[7,8,8,0], +"a00913.html#gab0d96f9d852c2058c2546a1338e87544":[7,8,7,1], +"a00913.html#gab0d96f9d852c2058c2546a1338e87544":[7,8,76], +"a00913.html#gab0d96f9d852c2058c2546a1338e87544":[7,8,75], +"a00913.html#gab17435577e546d2954bd697f21e6d3cc":[9,0,54,9], +"a00913.html#gab17435577e546d2954bd697f21e6d3cc":[9,0,55,42], +"a00913.html#gab17435577e546d2954bd697f21e6d3cc":[7,8,60], +"a00913.html#gab4d485e0545aa3defd75702fe51f9a13":[9,0,55,30], +"a00913.html#gab4d485e0545aa3defd75702fe51f9a13":[7,8,48], +"a00913.html#gab51341e9f564bc8f85c2e822835a8bcb":[7,8,18], +"a00913.html#gab51341e9f564bc8f85c2e822835a8bcb":[9,0,55,0], +"a00913.html#gabf2abd4bd62f47537756c9ab109050c0":[7,8,58], +"a00913.html#gabf2abd4bd62f47537756c9ab109050c0":[9,0,54,7], +"a00913.html#gabf2abd4bd62f47537756c9ab109050c0":[9,0,55,40], +"a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f":[7,8,15,2], +"a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f":[7,8,91], +"a00913.html#gace9a9d1e2e34d294e573098600b6f061":[9,0,55,27], +"a00913.html#gace9a9d1e2e34d294e573098600b6f061":[7,8,45], +"a00913.html#gacea547aa606ca17f8da337a1b58972a1":[7,8,15,1], +"a00913.html#gacea547aa606ca17f8da337a1b58972a1":[7,8,87], +"a00913.html#gad456d2c1172343bb40d8cd0e391d44f4":[9,0,55,43], +"a00913.html#gad456d2c1172343bb40d8cd0e391d44f4":[9,0,54,10], +"a00913.html#gad456d2c1172343bb40d8cd0e391d44f4":[7,8,61], +"a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[9,0,54,17], +"a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[9,0,55,50], +"a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e":[7,8,68], +"a00913.html#gad87f95f0faf0c6fdfe94040efcb14860":[7,8,86], +"a00913.html#gad87f95f0faf0c6fdfe94040efcb14860":[7,8,1,2], +"a00913.html#gae9245f524128f65f77f65002a5a7265f":[9,0,55,7], +"a00913.html#gae9245f524128f65f77f65002a5a7265f":[7,8,25], +"a00913.html#gae9d8a27e97696e2e02cea680ea44e3f2":[7,8,43], +"a00913.html#gae9d8a27e97696e2e02cea680ea44e3f2":[9,0,55,25], +"a00913.html#gaeb6c1ee0fb04b12d185eee8bb766068c":[9,0,55,17], +"a00913.html#gaeb6c1ee0fb04b12d185eee8bb766068c":[7,8,35], +"a00913.html#gaebdc2d83274268bb48fc45e87aef38af":[7,8,27], +"a00913.html#gaebdc2d83274268bb48fc45e87aef38af":[9,0,55,9], +"a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb":[7,8,65], +"a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb":[9,0,54,14], +"a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb":[9,0,55,47], +"a00913.html#gaf7ec8e72430c612cc936a2ea2f91d6d0":[7,8,36], +"a00913.html#gaf7ec8e72430c612cc936a2ea2f91d6d0":[9,0,55,18], +"a00913.html#gafd8064c07a5f22cdb087c88e1b87c1be":[9,0,55,5], +"a00913.html#gafd8064c07a5f22cdb087c88e1b87c1be":[7,8,23], +"a00913.html#gafdb82fc57fb953626c28c757a5220274":[9,0,55,28], +"a00913.html#gafdb82fc57fb953626c28c757a5220274":[7,8,46], +"a00913.html#gafeefb2141ebb14988f08eb86f7cd6608":[7,8,50], +"a00913.html#gafeefb2141ebb14988f08eb86f7cd6608":[9,0,55,32], +"a00914.html":[7,9], +"a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[9,0,59,5], +"a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[7,9,6], +"a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b":[9,0,58,5], +"a00914.html#ga167fe35631a0dd191293c6ad3a6485aa":[9,0,58,2], +"a00914.html#ga167fe35631a0dd191293c6ad3a6485aa":[9,0,59,2], +"a00914.html#ga167fe35631a0dd191293c6ad3a6485aa":[7,9,3], +"a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[7,9,2], +"a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[9,0,58,1], +"a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff":[9,0,59,1], +"a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[9,0,59,3], +"a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[7,9,4], +"a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b":[9,0,58,3], +"a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[7,9,1], +"a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[9,0,58,0], +"a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad":[9,0,59,0], +"a00914.html#gad3ea09543f0569a5368130f4a3d7bce0":[9,0,58,4], +"a00914.html#gad3ea09543f0569a5368130f4a3d7bce0":[7,9,5], +"a00914.html#gad3ea09543f0569a5368130f4a3d7bce0":[9,0,59,4], +"a00918.html":[7,1,0], +"a00918.html#a380510ad0d2dbde608f38387436db3bc":[7,1,0,0], +"a00918.html#a77632045612dbd0a5ac4488567c14dd3":[7,1,0,2], +"a00918.html#aebea355958c50f7d6a7d946f33ddc0aa":[7,1,0,1], +"a00922.html":[7,1,1], +"a00922.html#a0a6faa98b4d6b0b87ec0127daee17d11":[7,1,1,1], +"a00922.html#a16a7565b150a9c17a39c80fc932b9514":[7,1,1,5], +"a00922.html#a3c02ddae56a01b6df3be14acf14915a4":[7,1,1,6], +"a00922.html#a5c1b56e6bccc2a95dbddf1a08e56e87d":[7,1,1,3], +"a00922.html#a7f16544e2e38e2a389b69be0a7156986":[7,1,1,2], +"a00922.html#ad64c25d49d8bac111d62c92a0e552289":[7,1,1,0], +"a00922.html#aec4226da1b99c821237b6805c4e31333":[7,1,1,4], +"a00926.html":[7,2,0], +"a00926.html#aac7a3ed180ba0fcf0d86f7b54ebc1379":[7,2,0,0], +"a00926.html#aca75c68806e47e95144dc86a3f50d236":[7,2,0,1], +"a00930.html":[7,3,0], +"a00930.html#a058e797431a238154c5347fa26982044":[7,3,0,28], +"a00930.html#a05f2d72f4feff51d21be443c82d02192":[7,3,0,8], +"a00930.html#a0b39f87d1a01274c9da57768841683c3":[7,3,0,4], +"a00930.html#a18decbd259932bfe1f787dd3d94ee29f":[7,3,0,13], +"a00930.html#a357fd8307ec04fe3026830316fc3b043":[7,3,0,17], +"a00930.html#a3aa29f6db8565f010adbe6b11e203d53":[7,3,0,15], +"a00930.html#a3baf2be3a5e7c59688ede3ffa734f1e1":[7,3,0,11], +"a00930.html#a3d0753b214d2a12df80f22b56bfc6e71":[7,3,0,19], +"a00930.html#a5262d4a80e6a0b6dce6fd57d4656786d":[7,3,0,6], +"a00930.html#a5eb439f0ede23956fde8cd72f41b85ba":[7,3,0,14], +"a00930.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5":[7,3,0,10], +"a00930.html#a63c89c04d1feae07ca35558055155ffb":[7,3,0,23], +"a00930.html#a7add390e5c5e2d9c8f6dadc842a3726e":[7,3,0,16], +"a00930.html#a82498c9417816ef35f75ea8249a3f10a":[7,3,0,12], +"a00930.html#a88f8040c47fc046b2198a26f4ed3faf0":[7,3,0,2], +"a00930.html#a9670d2ececfd8d536f8e6b629ab7b1ed":[7,3,0,3], +"a00930.html#a97e106cc7267316cf40988744b231111":[7,3,0,7], +"a00930.html#a98780fe4ab562a61abfd7870ea0910c3":[7,3,0,27], +"a00930.html#a9de35842403baab5738ea16162012d4f":[7,3,0,26], +"a00930.html#aa0e72b59c63431c62f5b5eba36a65d17":[7,3,0,21], +"a00930.html#aa757f95b731b8dfdd4ce785e26944728":[7,3,0,1], +"a00930.html#aa9ce255f8b9bff64fe261235f9e70c03":[7,3,0,24], +"a00930.html#aba242bb3690d4d5a7de01474f94cb4ab":[7,3,0,20], +"a00930.html#abd8750afb7cb6d240c858a382a210fa7":[7,3,0,0], +"a00930.html#ac6e5ec63505c02923d71f7409cdbf1d1":[7,3,0,5], +"a00930.html#ac93868aeda435dfb685a0a0020e5c7a4":[7,3,0,25], +"a00930.html#ae40354a1051342eb5a9db005715dcfa9":[7,3,0,18], +"a00930.html#ae696a833509f858d17988acdb1deb161":[7,3,0,29], +"a00930.html#aec32162d9dc3fde2c76d766af522dae5":[7,3,0,22], +"a00930.html#af6dd59cf5b43526a4c6ccd515042af73":[7,3,0,9], +"a00958.html":[7,3,1], +"a00958.html#a0dd463e6dbb6121768480ab7b42ba604":[7,3,1,2], +"a00958.html#a343ec53c611863bf30624e5775782ab5":[7,3,1,4], +"a00958.html#a43753a99c2b46caab2ae85d0504f1f84":[7,3,1,1], +"a00958.html#a6cb270146e07d7c258bca835fda84be5":[7,3,1,6], +"a00958.html#a7ebe5db4da26f30972448931b7500546":[7,3,1,3], +"a00958.html#ab4f4855cbadf7c7d2d3fb019eded7c8a":[7,3,1,9] }; diff --git a/docs/html/navtreeindex13.js b/docs/html/navtreeindex13.js index eff94e75e..e61d041dd 100644 --- a/docs/html/navtreeindex13.js +++ b/docs/html/navtreeindex13.js @@ -1,253 +1,253 @@ var NAVTREEINDEX13 = { -"a03603.html#a7e2ecd6c0b4cef9637e3b281d29200ce":[6,4,4,14], -"a03603.html#aa5cb3f21e0d4d77567550388a7f08768":[6,4,4,0], -"a03603.html#aa9a44f95411d86a78a93e650a9c19f53":[6,4,4,1], -"a03603.html#ab02a37cdd6671ab98d0124c5b91623b0":[6,4,4,3], -"a03603.html#acb91631744ba06809269dc2f137c835c":[6,4,4,4], -"a03603.html#accd31930a2e1ff0b8122cbaa202127d3":[6,4,4,12], -"a03603.html#ad158ea4479470d5470412d504428459b":[6,4,4,17], -"a03603.html#af383252a42d77882d0f3aac7f6ee5048":[6,4,4,6], -"a03603.html#af44c31e823af19e6efe6b418a13fafe3":[6,4,4,13], -"a03603.html#afe2b347e101c9f7be9f73b8fda53de29":[6,4,4,2], -"a03607.html":[6,4,5], -"a03607.html#a083f29531821a0ef698b452cb2b7f5b4":[6,4,5,2], -"a03607.html#a3969ddf030fd0524b62c572070bb3edc":[6,4,5,4], -"a03607.html#a5aa8a40126b53aa3748ba0d00de61e60":[6,4,5,3], -"a03607.html#aa09eb68c2656a44748cad406cf960f7c":[6,4,5,0], -"a03607.html#abaf4bb65d962f53a31b943c663eaf3b9":[6,4,5,1], -"a03607.html#abbc4bbcc72558a31f830df7df2df53b8":[6,4,5,5], -"a03611.html":[6,5,0], -"a03611.html#a2ec310210422989027a46428a61fb1c1":[6,5,0,1], -"a03611.html#a984a9b23546b1bab664b3a3e721830b7":[6,5,0,0], -"a03611.html#ac21eed4200889cc115d16a781871d01c":[6,5,0,2], -"a03615.html":[6,5,1], -"a03615.html#a9246ae6d7229247b3e9b5e540a26ac05":[6,5,1,2], -"a03615.html#a9e3fb1e50a1c71b2337df296222d9553":[6,5,1,1], -"a03615.html#adae27798b73271394b86837502dfd853":[6,5,1,0], -"a03619.html":[6,5,2], -"a03619.html#a2ec310210422989027a46428a61fb1c1":[6,5,2,2], -"a03619.html#a31dd3906237011822f43dcb64fe58e39":[6,5,2,1], -"a03619.html#ab645bb8a04ce16b6ab3c843dd4d1c177":[6,5,2,0], -"a03619.html#ac21eed4200889cc115d16a781871d01c":[6,5,2,3], -"a03623.html":[6,5,3], -"a03623.html#a407f9109b29f2f3a4c9f7d1de450ad41":[6,5,3,0], -"a03623.html#a8ee7e642376903508dd6b4df9eacc2de":[6,5,3,2], -"a03623.html#a9e3fb1e50a1c71b2337df296222d9553":[6,5,3,1], -"a03627.html":[7,0,45], -"a03627.html#a407f9109b29f2f3a4c9f7d1de450ad41":[7,0,45,0], -"a03627.html#a8ee7e642376903508dd6b4df9eacc2de":[7,0,45,2], -"a03627.html#a9e3fb1e50a1c71b2337df296222d9553":[7,0,45,1], -"a03631.html":[6,6,0], -"a03631.html#a06a3e722d630d33450465af7c41fa708":[6,6,0,0], -"a03635.html":[6,6,1], -"a03635.html#a517ae98c637466c44dc7e26a3abccf02":[6,6,1,0], -"a03639.html":[7,0,42], -"a03639.html#a015ca0a234558a1a0dbfc1e92f547ac0":[7,0,42,3], -"a03639.html#a4f18b15c445fd0f55a0bf182e173d563":[7,0,42,2], -"a03639.html#a7dd834dde7d653957f91657aca4eb124":[7,0,42,1], -"a03639.html#afa9986c74d11cc23893e2de2a505cafe":[7,0,42,0], -"a03643.html":[7,0,50], -"a03643.html#a0559c245b725b5b78057620e9677211e":[7,0,50,0], -"a03643.html#a135f34ef1efee1401582f12744220dbb":[7,0,50,2], -"a03643.html#a8ee7e642376903508dd6b4df9eacc2de":[7,0,50,3], -"a03643.html#a9e3fb1e50a1c71b2337df296222d9553":[7,0,50,1], -"a03647.html":[6,7,0], -"a03647.html#a033c21278fef7771916378cbcf726ae6":[6,7,0,8], -"a03647.html#a3939b643c7f807fc8fe8abcf18e99196":[6,7,0,1], -"a03647.html#a5eb439f0ede23956fde8cd72f41b85ba":[6,7,0,5], -"a03647.html#a6fb3aee6375216c53ef1e5a9df01e074":[6,7,0,6], -"a03647.html#aa020e68c9d18f83f205981fa57107b3c":[6,7,0,2], -"a03647.html#ad2f432748c4d8efe98ec42d5cd1552b5":[6,7,0,7], -"a03647.html#ad33508455720b78cc0fc880cb3f9885e":[6,7,0,0], -"a03647.html#af174424ba7b2d19a74c72f8b4198c26b":[6,7,0,3], -"a03647.html#af95136769fcc864880463d4dcab0c11c":[6,7,0,4], -"a03651.html":[6,7,1], -"a03651.html#a20e678da3f77a9aabd9cb97d5340e502":[6,7,1,0], -"a03651.html#a9bb0ee74044865538adfcc5d5ae8f621":[6,7,1,2], -"a03651.html#aa09aaf9e2fbb91f0cef6b473135d4628":[6,7,1,1], -"a03655.html":[6,7,2], -"a03655.html#a01c1392fd38975adfd6c1c7849b3fa50":[6,7,2,10], -"a03655.html#a0d97fa67bd4aa20fd2835fa5c8076061":[6,7,2,7], -"a03655.html#a0fafe5e32d17ee114246e3ccac81ee9f":[6,7,2,17], -"a03655.html#a10c34d148db33a5f64c3730a163fb7a7":[6,7,2,9], -"a03655.html#a335b4a621ab538c5a42160a5a14c161f":[6,7,2,5], -"a03655.html#a3592aa831cd642b3e53af87537944d5a":[6,7,2,16], -"a03655.html#a386ecc3f01d8b317bc512cab194d844f":[6,7,2,1], -"a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593":[6,7,2,2], -"a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593":[6,7,2,4], -"a03655.html#a7441ef0865bcb3db9b8064dd7375c1ea":[6,7,2,8], -"a03655.html#a8085a25dc89b0a426c762333eb109e38":[6,7,2,15], -"a03655.html#ab04a0cec69f9a7ed47f3f9cb46084e59":[6,7,2,13], -"a03655.html#ac6dd6d226983fb851700119ca6ba3023":[6,7,2,19], -"a03655.html#ac6e800fa8a525e2ac445410a75fe33c5":[6,7,2,14], -"a03655.html#ad60966bca127551f6271719dd9921045":[6,7,2,3], -"a03655.html#ad72ba8c994f4d0e5ce354e17f7c427c0":[6,7,2,12], -"a03655.html#ad9f68faa090564cdbe2d7217be324f16":[6,7,2,18], -"a03655.html#ada591700ce06dd3a6bb9722a6eba38c4":[6,7,2,11], -"a03655.html#af47d648cf53d85c997e715a25fea0372":[6,7,2,6], -"a03655.html#af5c011e6c2e8d49675f7029e8ec2c0a6":[6,7,2,0], -"a03659.html":[6,7,3], -"a03659.html#a79525e0d472c02e26e7c4aa4a780c1d9":[6,7,3,0], -"a03659.html#af11a0103eb96a026ea6782bfcad7548e":[6,7,3,1], -"a03663.html":[6,7,4], -"a03663.html#a90743aa58e9f430c381d56eb373edef4":[6,7,4,0], -"a03663.html#a9bb0ee74044865538adfcc5d5ae8f621":[6,7,4,1], -"a03667.html":[6,7,5], -"a03667.html#a72bac4e370ad82aef68188c521d2020d":[6,7,5,0], -"a03667.html#a79525e0d472c02e26e7c4aa4a780c1d9":[6,7,5,1], -"a03667.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0":[6,7,5,2], -"a03667.html#af11a0103eb96a026ea6782bfcad7548e":[6,7,5,3], -"a03671.html":[6,7,6], -"a03671.html#a61f012e6351d468a23da071e8ee588b6":[6,7,6,2], -"a03671.html#ae40d3e07534bf6cb2e78c329983048c7":[6,7,6,0], -"a03671.html#af8b2d2e531312c0b6adda321a50fabc7":[6,7,6,1], -"a03675.html":[6,7,7], -"a03675.html#a2d29ab9b8f0842ee9a2906302b20011d":[6,7,7,5], -"a03675.html#a7758bb1b871f6094e6d2f0c2ce10b18c":[6,7,7,6], -"a03675.html#ab04a0cec69f9a7ed47f3f9cb46084e59":[6,7,7,3], -"a03675.html#ad1dd3236df177255a91b568170b70a74":[6,7,7,4], -"a03675.html#ad72ba8c994f4d0e5ce354e17f7c427c0":[6,7,7,2], -"a03675.html#af5c011e6c2e8d49675f7029e8ec2c0a6":[6,7,7,0], -"a03675.html#afd6d53ef6b697533839248b40bc97861":[6,7,7,1], -"a03679.html":[7,0,46], -"a03679.html#a396018ddf66ce0e1263ed2b4729dc9b9":[7,0,46,1], -"a03679.html#acddd0c9305a0f679828010052db4f184":[7,0,46,0], -"a03683.html":[7,0,51], -"a03683.html#a7d0970077e95bd9d8ed8aac6b3e115ee":[7,0,51,0], -"a03687.html":[6,8,0], -"a03687.html#a0ea476753a7de128cb33adb56e0692c6":[6,8,0,0], -"a03687.html#a1f0f70b7f0590654fde170e1e392b4f7":[6,8,0,1], -"a03687.html#a2ffc3c1a03eda290c709dc78b7e8b51e":[6,8,0,5], -"a03687.html#a3f6d684924e3635e6e57441b66b98978":[6,8,0,2], -"a03687.html#a6b455a7e89f8a891cd7e3b66d1b17b67":[6,8,0,6], -"a03687.html#a7e432dd218a88686e01e0c43cda30d2b":[6,8,0,4], -"a03687.html#a9d39af90116e75f8805942afa953046f":[6,8,0,7], -"a03687.html#ae687014ee9436f24d700229432e7edfd":[6,8,0,3], -"a03691.html":[6,8,1], -"a03691.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,1,0], -"a03695.html":[6,8,2], -"a03699.html":[6,8,3], -"a03699.html#a130c5ab3a3f978b77641faa7813aa5d2":[6,8,3,2], -"a03699.html#a70a057043fcc9f4dc22455f6df43d710":[6,8,3,3], -"a03699.html#abe222f6d3581e7920dcad5306cc906a8":[6,8,3,0], -"a03699.html#ad6bc120bffc64dfc5230863a8ba96596":[6,8,3,1], -"a03703.html":[6,8,4], -"a03703.html#a130c5ab3a3f978b77641faa7813aa5d2":[6,8,4,0], -"a03703.html#a35388d4dff80916a7409fd0554ac58b6":[6,8,4,6], -"a03703.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,4,3], -"a03703.html#a7a67318a2d1cde0794d2d1ae152c93cf":[6,8,4,8], -"a03703.html#aa5a9ad86915dfcef6db90b858690212a":[6,8,4,2], -"a03703.html#abb42a6a187e06500b79b8bdbf097ef1c":[6,8,4,4], -"a03703.html#ac21eed4200889cc115d16a781871d01c":[6,8,4,1], -"a03703.html#ac76ac607fd679316fc17b16039a86b9c":[6,8,4,5], -"a03703.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,4,7], -"a03707.html":[6,8,5], -"a03707.html#a130c5ab3a3f978b77641faa7813aa5d2":[6,8,5,3], -"a03707.html#a4e3f2b3f58d04cbc9d85d936b039170e":[6,8,5,2], -"a03707.html#a714b07e0515fd9d20714a4fc2a16c03e":[6,8,5,4], -"a03707.html#aa9a9b371e24a757dba2cf1f87d03b31e":[6,8,5,1], -"a03707.html#aff3a2b64b0d86058508f766de59438d1":[6,8,5,0], -"a03711.html":[6,8,6], -"a03711.html#a16a7565b150a9c17a39c80fc932b9514":[6,8,6,4], -"a03711.html#a1f1ddb903087eec963d0faf82a3283a4":[6,8,6,1], -"a03711.html#a35388d4dff80916a7409fd0554ac58b6":[6,8,6,6], -"a03711.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,6,3], -"a03711.html#a6abd57960eb27eecadcf1163a1441fb1":[6,8,6,5], -"a03711.html#aa5a9ad86915dfcef6db90b858690212a":[6,8,6,2], -"a03711.html#aff3a2b64b0d86058508f766de59438d1":[6,8,6,0], -"a03715.html":[6,8,7], -"a03719.html":[6,8,8], -"a03723.html":[6,8,9], -"a03723.html#a6ab45b7847bf9d25cc2be99b11641e5f":[6,8,9,0], -"a03723.html#a72fae3d62889ef224f09c57a7646e061":[6,8,9,5], -"a03723.html#a7871fda0cd5698905bc3aa8fe8a99808":[6,8,9,4], -"a03723.html#ac21eed4200889cc115d16a781871d01c":[6,8,9,1], -"a03723.html#ac746c3d65092170bfaf5b0d9950d8438":[6,8,9,6], -"a03723.html#ac76ac607fd679316fc17b16039a86b9c":[6,8,9,2], -"a03723.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,9,3], -"a03727.html":[6,8,10], -"a03727.html#a699b6e4448b505a2664025ccca3522f5":[6,8,10,2], -"a03727.html#a72fae3d62889ef224f09c57a7646e061":[6,8,10,5], -"a03727.html#a8c2a094baeab96152cea462ba9677887":[6,8,10,1], -"a03727.html#a9f11512564ff4aeaf5f9d0646d971ed2":[6,8,10,0], -"a03727.html#ac21eed4200889cc115d16a781871d01c":[6,8,10,3], -"a03727.html#ac746c3d65092170bfaf5b0d9950d8438":[6,8,10,6], -"a03727.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,10,4], -"a03731.html":[6,8,11], -"a03731.html#a000599eef5677ed1279b025c42ae260e":[6,8,11,1], -"a03731.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,11,0], -"a03731.html#a41104a8c85cd12c0fde0d791c3276a48":[6,8,11,4], -"a03731.html#a72fae3d62889ef224f09c57a7646e061":[6,8,11,5], -"a03731.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,11,2], -"a03731.html#afca67d3e5d5a7c772262731cc08880b1":[6,8,11,3], -"a03735.html":[6,8,12], -"a03735.html#a000599eef5677ed1279b025c42ae260e":[6,8,12,2], -"a03735.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,12,1], -"a03735.html#a41104a8c85cd12c0fde0d791c3276a48":[6,8,12,4], -"a03735.html#aa5a9ad86915dfcef6db90b858690212a":[6,8,12,0], -"a03735.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,12,3], -"a03739.html":[6,8,13], -"a03743.html":[6,8,14], -"a03743.html#a218f1c30c4a21b348dbe1817a2c14896":[6,8,14,0], -"a03743.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,14,3], -"a03743.html#a430a448768d687a94e3daaa00dce63ce":[6,8,14,1], -"a03743.html#a4510889ef4b42470bf1a1d4e940a19a9":[6,8,14,5], -"a03743.html#a72fae3d62889ef224f09c57a7646e061":[6,8,14,9], -"a03743.html#aa23b467edf1809a2a8b1b530a0159c45":[6,8,14,6], -"a03743.html#ab15c5e89189b9eea6fab7da58cc03967":[6,8,14,8], -"a03743.html#ac21eed4200889cc115d16a781871d01c":[6,8,14,2], -"a03743.html#ac76ac607fd679316fc17b16039a86b9c":[6,8,14,4], -"a03743.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,14,7], -"a03747.html":[6,8,15], -"a03751.html":[6,8,16], -"a03751.html#a122aff75e4ff5cd19542117ba3fdb855":[6,8,16,3], -"a03751.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,16,1], -"a03751.html#a72fae3d62889ef224f09c57a7646e061":[6,8,16,6], -"a03751.html#ac21eed4200889cc115d16a781871d01c":[6,8,16,0], -"a03751.html#ac76ac607fd679316fc17b16039a86b9c":[6,8,16,2], -"a03751.html#aeaa21ee86ed67c665d190be7d12293c7":[6,8,16,4], -"a03751.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,16,5], -"a03755.html":[6,8,17], -"a03755.html#a04c0e9b276020bed4ed3d7d670ed3881":[6,8,17,12], -"a03755.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05":[6,8,17,11], -"a03755.html#a0b448fbaa0c4f1770b7c3f53acf265c5":[6,8,17,0], -"a03755.html#a35f4a3225daf3021decdc4ecea74fa46":[6,8,17,5], -"a03755.html#a37e90f5e3bd99fac2021fb3a326607d4":[6,8,17,6], -"a03755.html#a4a25483bf435220f212cbe8f0327b0a6":[6,8,17,10], -"a03755.html#a547704fabd162cdaa3d5ce84a111a3fc":[6,8,17,7], -"a03755.html#a714b07e0515fd9d20714a4fc2a16c03e":[6,8,17,9], -"a03755.html#ac21eed4200889cc115d16a781871d01c":[6,8,17,4], -"a03755.html#ac3544274ceb4f8950b3a5fe6640be634":[6,8,17,1], -"a03755.html#aef45bac2efcd5394c4ed79f73ee16d23":[6,8,17,8], -"a03755.html#af209160ffa65b538728640eb34e4be75":[6,8,17,3], -"a03755.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8":[6,8,17,2], -"a03759.html":[6,9,0], -"a03759.html#a1fe855c208bc17a51a4d34fefdb2d5b1":[6,9,0,0], -"a03759.html#a892366b22e8ea42d95e49308022eef4d":[6,9,0,1], -"a03759.html#aee7e8f6f5f1a4b5b402473cf99d3042a":[6,9,0,2], -"a03763.html":[7,0,48], -"a03763.html#a0d4d608806c7df6022d7e08df3ead4f3":[7,0,48,2], -"a03763.html#a159545ee58a6feff4210207e945ed8a6":[7,0,48,0], -"a03763.html#a29997e53feca6ea2ceb53bd12ccb7397":[7,0,48,1], -"a03763.html#a454c1e8a0b9b0c4b56aa415ad1856889":[7,0,48,6], -"a03763.html#ad94b92f8d5650653e8b6d7d3c9e50ba4":[7,0,48,5], -"a03763.html#aef6eee6b683ef0108fca05b531719f86":[7,0,48,4], -"a03763.html#af0322cbed208460dead1ab2aaf42f35e":[7,0,48,3], -"a03767.html":[7,0,49], -"a03767.html#a15de5c1cdbe015c9927c51026a44c15d":[7,0,49,0], -"a03767.html#a42beed23912c5ea5307c11701c6883ab":[7,0,49,1], -"a03767.html#af9fb5ef2eb0843381351919dc0f7cafd":[7,0,49,2], -"a03771.html":[7,0,47], -"a03771.html#a01b0fa1db9552c97809fd700aaf9464c":[7,0,47,1], -"a03771.html#a4f871aacf3b86f107114a6ca1f19a13a":[7,0,47,2], -"a03771.html#abe5b74a6bf41557a5ae72460fa563219":[7,0,47,3], -"a03771.html#aea79a9ccd71a91f69bb5773f43350f14":[7,0,47,4], -"a03771.html#afa720d7b457a80ef9f27d644a51ad157":[7,0,47,0], -"a03772.html":[1], -"a03773.html":[2], -"a03774.html":[3], -"a03775.html":[4], -"a03776.html":[5], -"annotated.html":[7,0] +"a00958.html#abdd7b8bd26139998d9da63a4fa562735":[7,3,1,8], +"a00958.html#ad33508455720b78cc0fc880cb3f9885e":[7,3,1,7], +"a00958.html#ae643f9f7998343cc33822de00192626b":[7,3,1,5], +"a00958.html#af98425da891944b45d56cebd93b131f6":[7,3,1,0], +"a00962.html":[7,4,0], +"a00962.html#a02048604d30b880033311cf542d63f92":[7,4,0,1], +"a00962.html#a18df301c1a10c8d493da86ce5c2aea78":[7,4,0,4], +"a00962.html#a4d171061df9e012fcfbd1172b8440d5f":[7,4,0,0], +"a00962.html#a987fa9280fe4cd6c6b8f77409f1c1504":[7,4,0,2], +"a00962.html#a994c4f4519ba57e186580d21cc86f9e5":[7,4,0,5], +"a00962.html#ada983deda100b604bee5716512453658":[7,4,0,3], +"a00966.html":[7,4,1], +"a00966.html#a107ad412023faa68c4ac0c7cfd921a02":[7,4,1,4], +"a00966.html#ab0cedc80cd8670d02eee4b6e31500f5f":[7,4,1,1], +"a00966.html#ac681806181c80437cfab37335f62ff39":[7,4,1,2], +"a00966.html#ad23984515efd99983fa4baf3754082a1":[7,4,1,3], +"a00966.html#af6a39bfc7e1dc3b6f9c997c1c43fa996":[7,4,1,0], +"a00970.html":[7,4,2], +"a00970.html#ac681806181c80437cfab37335f62ff39":[7,4,2,1], +"a00970.html#af6a39bfc7e1dc3b6f9c997c1c43fa996":[7,4,2,0], +"a00974.html":[7,4,3], +"a00974.html#a0b1ca4dcd178907e4151c7132e3b55f5":[7,4,3,2], +"a00974.html#aa36729eb861afe13bb70974147bc403b":[7,4,3,1], +"a00974.html#af74e55b0689356f989d8330ae3072376":[7,4,3,0], +"a00978.html":[7,4,4], +"a00978.html#a2d5a033a5aa1227c536ec1aa71a84fa5":[7,4,4,7], +"a00978.html#a3a8aede64cc4e17e9495ada7a64ab24f":[7,4,4,15], +"a00978.html#a44b6808e0d081cb5fd82f58f7de32e4a":[7,4,4,16], +"a00978.html#a61f951f9c4366391012057d591888f32":[7,4,4,10], +"a00978.html#a6367c516be990bdce86047b5d9acda14":[7,4,4,8], +"a00978.html#a641e13598992fc536e70b55cc8ee2ea5":[7,4,4,11], +"a00978.html#a67c40218f646b70740c0d2027eb152a0":[7,4,4,5], +"a00978.html#a7dcbb1ab3db4003c7f2414e262853e6d":[7,4,4,9], +"a00978.html#a7e2ecd6c0b4cef9637e3b281d29200ce":[7,4,4,14], +"a00978.html#aa5cb3f21e0d4d77567550388a7f08768":[7,4,4,0], +"a00978.html#aa9a44f95411d86a78a93e650a9c19f53":[7,4,4,1], +"a00978.html#ab02a37cdd6671ab98d0124c5b91623b0":[7,4,4,3], +"a00978.html#acb91631744ba06809269dc2f137c835c":[7,4,4,4], +"a00978.html#accd31930a2e1ff0b8122cbaa202127d3":[7,4,4,12], +"a00978.html#ad158ea4479470d5470412d504428459b":[7,4,4,17], +"a00978.html#af383252a42d77882d0f3aac7f6ee5048":[7,4,4,6], +"a00978.html#af44c31e823af19e6efe6b418a13fafe3":[7,4,4,13], +"a00978.html#afe2b347e101c9f7be9f73b8fda53de29":[7,4,4,2], +"a00982.html":[7,4,5], +"a00982.html#a083f29531821a0ef698b452cb2b7f5b4":[7,4,5,2], +"a00982.html#a3969ddf030fd0524b62c572070bb3edc":[7,4,5,4], +"a00982.html#a5aa8a40126b53aa3748ba0d00de61e60":[7,4,5,3], +"a00982.html#aa09eb68c2656a44748cad406cf960f7c":[7,4,5,0], +"a00982.html#abaf4bb65d962f53a31b943c663eaf3b9":[7,4,5,1], +"a00982.html#abbc4bbcc72558a31f830df7df2df53b8":[7,4,5,5], +"a00986.html":[7,5,0], +"a00986.html#a2ec310210422989027a46428a61fb1c1":[7,5,0,1], +"a00986.html#a984a9b23546b1bab664b3a3e721830b7":[7,5,0,0], +"a00986.html#ac21eed4200889cc115d16a781871d01c":[7,5,0,2], +"a00990.html":[7,5,1], +"a00990.html#a9246ae6d7229247b3e9b5e540a26ac05":[7,5,1,2], +"a00990.html#a9e3fb1e50a1c71b2337df296222d9553":[7,5,1,1], +"a00990.html#adae27798b73271394b86837502dfd853":[7,5,1,0], +"a00994.html":[7,5,2], +"a00994.html#a2ec310210422989027a46428a61fb1c1":[7,5,2,2], +"a00994.html#a5af729786916ea6a413d85fb8bba87f1":[7,5,2,0], +"a00994.html#ab645bb8a04ce16b6ab3c843dd4d1c177":[7,5,2,1], +"a00994.html#ac21eed4200889cc115d16a781871d01c":[7,5,2,3], +"a00998.html":[7,5,3], +"a00998.html#a407f9109b29f2f3a4c9f7d1de450ad41":[7,5,3,0], +"a00998.html#a8ee7e642376903508dd6b4df9eacc2de":[7,5,3,2], +"a00998.html#a9e3fb1e50a1c71b2337df296222d9553":[7,5,3,1], +"a01002.html":[8,0,3], +"a01002.html#a021e62aff4a11dd8a3d2dcc9f39b961a":[8,0,3,4], +"a01002.html#a2ec310210422989027a46428a61fb1c1":[8,0,3,7], +"a01002.html#a54771a0ca82f1089cc420f3fc1ef7f79":[8,0,3,0], +"a01002.html#a5af729786916ea6a413d85fb8bba87f1":[8,0,3,1], +"a01002.html#a9c1e7c3354912a5ef370b17e583c48f7":[8,0,3,11], +"a01002.html#aa63a85c57bd002717a92339b122ada8d":[8,0,3,2], +"a01002.html#aabae58f8680f6b319b78afa08d7a29d1":[8,0,3,5], +"a01002.html#ab670c6c21aced4765ecd6b29283f22b0":[8,0,3,3], +"a01002.html#ac21eed4200889cc115d16a781871d01c":[8,0,3,8], +"a01002.html#ac2b7024847bacd5b8ccc5e2c910e8ee2":[8,0,3,9], +"a01002.html#ad5160410fcca9e4ab8e9b2479bbd8110":[8,0,3,10], +"a01002.html#adf8d225c61055fd7e514ede2b7d9af91":[8,0,3,6], +"a01006.html":[8,0,46], +"a01006.html#a407f9109b29f2f3a4c9f7d1de450ad41":[8,0,46,0], +"a01006.html#a8ee7e642376903508dd6b4df9eacc2de":[8,0,46,2], +"a01006.html#a9e3fb1e50a1c71b2337df296222d9553":[8,0,46,1], +"a01010.html":[7,6,0], +"a01010.html#a06a3e722d630d33450465af7c41fa708":[7,6,0,0], +"a01014.html":[7,6,1], +"a01014.html#a517ae98c637466c44dc7e26a3abccf02":[7,6,1,0], +"a01018.html":[8,0,43], +"a01018.html#a015ca0a234558a1a0dbfc1e92f547ac0":[8,0,43,3], +"a01018.html#a4f18b15c445fd0f55a0bf182e173d563":[8,0,43,2], +"a01018.html#a7dd834dde7d653957f91657aca4eb124":[8,0,43,1], +"a01018.html#afa9986c74d11cc23893e2de2a505cafe":[8,0,43,0], +"a01022.html":[8,0,51], +"a01022.html#a0559c245b725b5b78057620e9677211e":[8,0,51,0], +"a01022.html#a135f34ef1efee1401582f12744220dbb":[8,0,51,2], +"a01022.html#a8ee7e642376903508dd6b4df9eacc2de":[8,0,51,3], +"a01022.html#a9e3fb1e50a1c71b2337df296222d9553":[8,0,51,1], +"a01026.html":[7,7,0], +"a01026.html#a033c21278fef7771916378cbcf726ae6":[7,7,0,8], +"a01026.html#a3939b643c7f807fc8fe8abcf18e99196":[7,7,0,1], +"a01026.html#a5eb439f0ede23956fde8cd72f41b85ba":[7,7,0,5], +"a01026.html#a6fb3aee6375216c53ef1e5a9df01e074":[7,7,0,6], +"a01026.html#aa020e68c9d18f83f205981fa57107b3c":[7,7,0,2], +"a01026.html#ad2f432748c4d8efe98ec42d5cd1552b5":[7,7,0,7], +"a01026.html#ad33508455720b78cc0fc880cb3f9885e":[7,7,0,0], +"a01026.html#af174424ba7b2d19a74c72f8b4198c26b":[7,7,0,3], +"a01026.html#af95136769fcc864880463d4dcab0c11c":[7,7,0,4], +"a01030.html":[7,7,1], +"a01030.html#a20e678da3f77a9aabd9cb97d5340e502":[7,7,1,0], +"a01030.html#a9bb0ee74044865538adfcc5d5ae8f621":[7,7,1,2], +"a01030.html#aa09aaf9e2fbb91f0cef6b473135d4628":[7,7,1,1], +"a01034.html":[7,7,2], +"a01034.html#a01c1392fd38975adfd6c1c7849b3fa50":[7,7,2,10], +"a01034.html#a0d97fa67bd4aa20fd2835fa5c8076061":[7,7,2,7], +"a01034.html#a0fafe5e32d17ee114246e3ccac81ee9f":[7,7,2,17], +"a01034.html#a10c34d148db33a5f64c3730a163fb7a7":[7,7,2,9], +"a01034.html#a335b4a621ab538c5a42160a5a14c161f":[7,7,2,5], +"a01034.html#a3592aa831cd642b3e53af87537944d5a":[7,7,2,16], +"a01034.html#a386ecc3f01d8b317bc512cab194d844f":[7,7,2,1], +"a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593":[7,7,2,2], +"a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593":[7,7,2,4], +"a01034.html#a7441ef0865bcb3db9b8064dd7375c1ea":[7,7,2,8], +"a01034.html#a8085a25dc89b0a426c762333eb109e38":[7,7,2,15], +"a01034.html#ab04a0cec69f9a7ed47f3f9cb46084e59":[7,7,2,13], +"a01034.html#ac6dd6d226983fb851700119ca6ba3023":[7,7,2,19], +"a01034.html#ac6e800fa8a525e2ac445410a75fe33c5":[7,7,2,14], +"a01034.html#ad60966bca127551f6271719dd9921045":[7,7,2,3], +"a01034.html#ad72ba8c994f4d0e5ce354e17f7c427c0":[7,7,2,12], +"a01034.html#ad9f68faa090564cdbe2d7217be324f16":[7,7,2,18], +"a01034.html#ada591700ce06dd3a6bb9722a6eba38c4":[7,7,2,11], +"a01034.html#af47d648cf53d85c997e715a25fea0372":[7,7,2,6], +"a01034.html#af5c011e6c2e8d49675f7029e8ec2c0a6":[7,7,2,0], +"a01038.html":[7,7,3], +"a01038.html#a79525e0d472c02e26e7c4aa4a780c1d9":[7,7,3,0], +"a01038.html#af11a0103eb96a026ea6782bfcad7548e":[7,7,3,1], +"a01042.html":[7,7,4], +"a01042.html#a90743aa58e9f430c381d56eb373edef4":[7,7,4,0], +"a01042.html#a9bb0ee74044865538adfcc5d5ae8f621":[7,7,4,1], +"a01046.html":[7,7,5], +"a01046.html#a72bac4e370ad82aef68188c521d2020d":[7,7,5,0], +"a01046.html#a79525e0d472c02e26e7c4aa4a780c1d9":[7,7,5,1], +"a01046.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0":[7,7,5,2], +"a01046.html#af11a0103eb96a026ea6782bfcad7548e":[7,7,5,3], +"a01050.html":[7,7,6], +"a01050.html#a61f012e6351d468a23da071e8ee588b6":[7,7,6,2], +"a01050.html#ae40d3e07534bf6cb2e78c329983048c7":[7,7,6,0], +"a01050.html#af8b2d2e531312c0b6adda321a50fabc7":[7,7,6,1], +"a01054.html":[7,7,7], +"a01054.html#a2d29ab9b8f0842ee9a2906302b20011d":[7,7,7,5], +"a01054.html#a7758bb1b871f6094e6d2f0c2ce10b18c":[7,7,7,6], +"a01054.html#ab04a0cec69f9a7ed47f3f9cb46084e59":[7,7,7,3], +"a01054.html#ad1dd3236df177255a91b568170b70a74":[7,7,7,4], +"a01054.html#ad72ba8c994f4d0e5ce354e17f7c427c0":[7,7,7,2], +"a01054.html#af5c011e6c2e8d49675f7029e8ec2c0a6":[7,7,7,0], +"a01054.html#afd6d53ef6b697533839248b40bc97861":[7,7,7,1], +"a01058.html":[8,0,47], +"a01058.html#a396018ddf66ce0e1263ed2b4729dc9b9":[8,0,47,1], +"a01058.html#acddd0c9305a0f679828010052db4f184":[8,0,47,0], +"a01062.html":[8,0,52], +"a01062.html#a7d0970077e95bd9d8ed8aac6b3e115ee":[8,0,52,0], +"a01066.html":[7,8,0], +"a01066.html#a0ea476753a7de128cb33adb56e0692c6":[7,8,0,0], +"a01066.html#a1f0f70b7f0590654fde170e1e392b4f7":[7,8,0,1], +"a01066.html#a2ffc3c1a03eda290c709dc78b7e8b51e":[7,8,0,5], +"a01066.html#a3f6d684924e3635e6e57441b66b98978":[7,8,0,2], +"a01066.html#a6b455a7e89f8a891cd7e3b66d1b17b67":[7,8,0,6], +"a01066.html#a7e432dd218a88686e01e0c43cda30d2b":[7,8,0,4], +"a01066.html#a9d39af90116e75f8805942afa953046f":[7,8,0,7], +"a01066.html#ae687014ee9436f24d700229432e7edfd":[7,8,0,3], +"a01070.html":[7,8,1], +"a01070.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,1,0], +"a01074.html":[7,8,2], +"a01078.html":[7,8,3], +"a01078.html#a130c5ab3a3f978b77641faa7813aa5d2":[7,8,3,2], +"a01078.html#a70a057043fcc9f4dc22455f6df43d710":[7,8,3,3], +"a01078.html#abe222f6d3581e7920dcad5306cc906a8":[7,8,3,0], +"a01078.html#ad6bc120bffc64dfc5230863a8ba96596":[7,8,3,1], +"a01082.html":[7,8,4], +"a01082.html#a130c5ab3a3f978b77641faa7813aa5d2":[7,8,4,0], +"a01082.html#a35388d4dff80916a7409fd0554ac58b6":[7,8,4,6], +"a01082.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,4,3], +"a01082.html#a7a67318a2d1cde0794d2d1ae152c93cf":[7,8,4,8], +"a01082.html#aa5a9ad86915dfcef6db90b858690212a":[7,8,4,2], +"a01082.html#abb42a6a187e06500b79b8bdbf097ef1c":[7,8,4,4], +"a01082.html#ac21eed4200889cc115d16a781871d01c":[7,8,4,1], +"a01082.html#ac76ac607fd679316fc17b16039a86b9c":[7,8,4,5], +"a01082.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,4,7], +"a01086.html":[7,8,5], +"a01086.html#a130c5ab3a3f978b77641faa7813aa5d2":[7,8,5,3], +"a01086.html#a4e3f2b3f58d04cbc9d85d936b039170e":[7,8,5,2], +"a01086.html#a714b07e0515fd9d20714a4fc2a16c03e":[7,8,5,4], +"a01086.html#aa9a9b371e24a757dba2cf1f87d03b31e":[7,8,5,1], +"a01086.html#aff3a2b64b0d86058508f766de59438d1":[7,8,5,0], +"a01090.html":[7,8,6], +"a01090.html#a16a7565b150a9c17a39c80fc932b9514":[7,8,6,4], +"a01090.html#a1f1ddb903087eec963d0faf82a3283a4":[7,8,6,1], +"a01090.html#a35388d4dff80916a7409fd0554ac58b6":[7,8,6,6], +"a01090.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,6,3], +"a01090.html#a6abd57960eb27eecadcf1163a1441fb1":[7,8,6,5], +"a01090.html#aa5a9ad86915dfcef6db90b858690212a":[7,8,6,2], +"a01090.html#aff3a2b64b0d86058508f766de59438d1":[7,8,6,0], +"a01094.html":[7,8,7], +"a01098.html":[7,8,8], +"a01102.html":[7,8,9], +"a01102.html#a6ab45b7847bf9d25cc2be99b11641e5f":[7,8,9,0], +"a01102.html#a72fae3d62889ef224f09c57a7646e061":[7,8,9,5], +"a01102.html#a7871fda0cd5698905bc3aa8fe8a99808":[7,8,9,4], +"a01102.html#ac21eed4200889cc115d16a781871d01c":[7,8,9,1], +"a01102.html#ac746c3d65092170bfaf5b0d9950d8438":[7,8,9,6], +"a01102.html#ac76ac607fd679316fc17b16039a86b9c":[7,8,9,2], +"a01102.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,9,3], +"a01106.html":[7,8,10], +"a01106.html#a699b6e4448b505a2664025ccca3522f5":[7,8,10,2], +"a01106.html#a72fae3d62889ef224f09c57a7646e061":[7,8,10,5], +"a01106.html#a8c2a094baeab96152cea462ba9677887":[7,8,10,1], +"a01106.html#a9f11512564ff4aeaf5f9d0646d971ed2":[7,8,10,0], +"a01106.html#ac21eed4200889cc115d16a781871d01c":[7,8,10,3], +"a01106.html#ac746c3d65092170bfaf5b0d9950d8438":[7,8,10,6], +"a01106.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,10,4], +"a01110.html":[7,8,11], +"a01110.html#a000599eef5677ed1279b025c42ae260e":[7,8,11,1], +"a01110.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,11,0], +"a01110.html#a41104a8c85cd12c0fde0d791c3276a48":[7,8,11,4], +"a01110.html#a72fae3d62889ef224f09c57a7646e061":[7,8,11,5], +"a01110.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,11,2], +"a01110.html#afca67d3e5d5a7c772262731cc08880b1":[7,8,11,3], +"a01114.html":[7,8,12], +"a01114.html#a000599eef5677ed1279b025c42ae260e":[7,8,12,2], +"a01114.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,12,1], +"a01114.html#a41104a8c85cd12c0fde0d791c3276a48":[7,8,12,4], +"a01114.html#aa5a9ad86915dfcef6db90b858690212a":[7,8,12,0], +"a01114.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,12,3], +"a01118.html":[7,8,13], +"a01122.html":[7,8,14], +"a01122.html#a218f1c30c4a21b348dbe1817a2c14896":[7,8,14,0], +"a01122.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,14,3], +"a01122.html#a430a448768d687a94e3daaa00dce63ce":[7,8,14,1], +"a01122.html#a4510889ef4b42470bf1a1d4e940a19a9":[7,8,14,5], +"a01122.html#a72fae3d62889ef224f09c57a7646e061":[7,8,14,9], +"a01122.html#aa23b467edf1809a2a8b1b530a0159c45":[7,8,14,6], +"a01122.html#ab15c5e89189b9eea6fab7da58cc03967":[7,8,14,8], +"a01122.html#ac21eed4200889cc115d16a781871d01c":[7,8,14,2], +"a01122.html#ac76ac607fd679316fc17b16039a86b9c":[7,8,14,4], +"a01122.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,14,7], +"a01126.html":[7,8,15], +"a01130.html":[7,8,16], +"a01130.html#a122aff75e4ff5cd19542117ba3fdb855":[7,8,16,3], +"a01130.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,16,1], +"a01130.html#a72fae3d62889ef224f09c57a7646e061":[7,8,16,6] }; diff --git a/docs/html/navtreeindex14.js b/docs/html/navtreeindex14.js index f4021a911..c8aceee31 100644 --- a/docs/html/navtreeindex14.js +++ b/docs/html/navtreeindex14.js @@ -1,123 +1,174 @@ var NAVTREEINDEX14 = { -"classes.html":[7,1], -"files.html":[8,0], -"functions.html":[7,2,0,0], -"functions.html":[7,2,0], -"functions_a.html":[7,2,0,1], -"functions_b.html":[7,2,0,2], -"functions_c.html":[7,2,0,3], -"functions_d.html":[7,2,0,4], -"functions_e.html":[7,2,0,5], -"functions_f.html":[7,2,0,6], -"functions_g.html":[7,2,0,7], -"functions_h.html":[7,2,0,8], -"functions_i.html":[7,2,0,9], -"functions_k.html":[7,2,0,10], -"functions_m.html":[7,2,0,11], -"functions_n.html":[7,2,0,12], -"functions_o.html":[7,2,0,13], -"functions_p.html":[7,2,0,14], -"functions_r.html":[7,2,0,15], -"functions_s.html":[7,2,0,16], -"functions_t.html":[7,2,0,17], -"functions_u.html":[7,2,0,18], -"functions_v.html":[7,2,0,19], -"functions_vars.html":[7,2,1], -"functions_vars.html":[7,2,1,0], -"functions_vars_a.html":[7,2,1,1], -"functions_vars_b.html":[7,2,1,2], -"functions_vars_c.html":[7,2,1,3], -"functions_vars_d.html":[7,2,1,4], -"functions_vars_e.html":[7,2,1,5], -"functions_vars_f.html":[7,2,1,6], -"functions_vars_g.html":[7,2,1,7], -"functions_vars_h.html":[7,2,1,8], -"functions_vars_i.html":[7,2,1,9], -"functions_vars_k.html":[7,2,1,10], -"functions_vars_m.html":[7,2,1,11], -"functions_vars_n.html":[7,2,1,12], -"functions_vars_o.html":[7,2,1,13], -"functions_vars_p.html":[7,2,1,14], -"functions_vars_r.html":[7,2,1,15], -"functions_vars_s.html":[7,2,1,16], -"functions_vars_t.html":[7,2,1,17], -"functions_vars_u.html":[7,2,1,18], -"functions_vars_v.html":[7,2,1,19], -"functions_vars_w.html":[7,2,1,20], -"functions_vars_z.html":[7,2,1,21], -"functions_w.html":[7,2,0,20], -"functions_z.html":[7,2,0,21], -"globals.html":[8,1,0,0], -"globals.html":[8,1,0], -"globals_a.html":[8,1,0,1], -"globals_b.html":[8,1,0,2], -"globals_c.html":[8,1,0,3], -"globals_d.html":[8,1,0,4], -"globals_defs.html":[8,1,6], -"globals_defs.html":[8,1,6,0], -"globals_defs_a.html":[8,1,6,1], -"globals_defs_b.html":[8,1,6,2], -"globals_defs_c.html":[8,1,6,3], -"globals_defs_d.html":[8,1,6,4], -"globals_defs_e.html":[8,1,6,5], -"globals_defs_f.html":[8,1,6,6], -"globals_defs_g.html":[8,1,6,7], -"globals_defs_h.html":[8,1,6,8], -"globals_defs_i.html":[8,1,6,9], -"globals_defs_k.html":[8,1,6,10], -"globals_defs_l.html":[8,1,6,11], -"globals_defs_m.html":[8,1,6,12], -"globals_defs_n.html":[8,1,6,13], -"globals_defs_o.html":[8,1,6,14], -"globals_defs_p.html":[8,1,6,15], -"globals_defs_r.html":[8,1,6,16], -"globals_defs_s.html":[8,1,6,17], -"globals_defs_t.html":[8,1,6,18], -"globals_defs_u.html":[8,1,6,19], -"globals_defs_v.html":[8,1,6,20], -"globals_defs_w.html":[8,1,6,21], -"globals_defs_z.html":[8,1,6,22], -"globals_e.html":[8,1,0,5], -"globals_enum.html":[8,1,4], -"globals_eval.html":[8,1,5], -"globals_f.html":[8,1,0,6], -"globals_func.html":[8,1,1,0], -"globals_func.html":[8,1,1], -"globals_func_a.html":[8,1,1,1], -"globals_func_b.html":[8,1,1,2], -"globals_func_c.html":[8,1,1,3], -"globals_func_d.html":[8,1,1,4], -"globals_func_e.html":[8,1,1,5], -"globals_func_h.html":[8,1,1,6], -"globals_func_i.html":[8,1,1,7], -"globals_func_k.html":[8,1,1,8], -"globals_func_n.html":[8,1,1,9], -"globals_func_o.html":[8,1,1,10], -"globals_func_p.html":[8,1,1,11], -"globals_func_r.html":[8,1,1,12], -"globals_func_s.html":[8,1,1,13], -"globals_func_t.html":[8,1,1,14], -"globals_g.html":[8,1,0,7], -"globals_h.html":[8,1,0,8], -"globals_i.html":[8,1,0,9], -"globals_k.html":[8,1,0,10], -"globals_l.html":[8,1,0,11], -"globals_m.html":[8,1,0,12], -"globals_n.html":[8,1,0,13], -"globals_o.html":[8,1,0,14], -"globals_p.html":[8,1,0,15], -"globals_r.html":[8,1,0,16], -"globals_s.html":[8,1,0,17], -"globals_t.html":[8,1,0,18], -"globals_type.html":[8,1,3], -"globals_u.html":[8,1,0,19], -"globals_v.html":[8,1,0,20], -"globals_vars.html":[8,1,2], -"globals_w.html":[8,1,0,21], -"globals_z.html":[8,1,0,22], +"a01130.html#ac21eed4200889cc115d16a781871d01c":[7,8,16,0], +"a01130.html#ac76ac607fd679316fc17b16039a86b9c":[7,8,16,2], +"a01130.html#aeaa21ee86ed67c665d190be7d12293c7":[7,8,16,4], +"a01130.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,16,5], +"a01134.html":[7,8,17], +"a01134.html#a04c0e9b276020bed4ed3d7d670ed3881":[7,8,17,12], +"a01134.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05":[7,8,17,11], +"a01134.html#a0b448fbaa0c4f1770b7c3f53acf265c5":[7,8,17,0], +"a01134.html#a35f4a3225daf3021decdc4ecea74fa46":[7,8,17,5], +"a01134.html#a37e90f5e3bd99fac2021fb3a326607d4":[7,8,17,6], +"a01134.html#a4a25483bf435220f212cbe8f0327b0a6":[7,8,17,10], +"a01134.html#a547704fabd162cdaa3d5ce84a111a3fc":[7,8,17,7], +"a01134.html#a714b07e0515fd9d20714a4fc2a16c03e":[7,8,17,9], +"a01134.html#ac21eed4200889cc115d16a781871d01c":[7,8,17,4], +"a01134.html#ac3544274ceb4f8950b3a5fe6640be634":[7,8,17,1], +"a01134.html#aef45bac2efcd5394c4ed79f73ee16d23":[7,8,17,8], +"a01134.html#af209160ffa65b538728640eb34e4be75":[7,8,17,3], +"a01134.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8":[7,8,17,2], +"a01138.html":[7,9,0], +"a01138.html#a1fe855c208bc17a51a4d34fefdb2d5b1":[7,9,0,0], +"a01138.html#a892366b22e8ea42d95e49308022eef4d":[7,9,0,1], +"a01138.html#aee7e8f6f5f1a4b5b402473cf99d3042a":[7,9,0,2], +"a01142.html":[8,0,49], +"a01142.html#a0d4d608806c7df6022d7e08df3ead4f3":[8,0,49,2], +"a01142.html#a159545ee58a6feff4210207e945ed8a6":[8,0,49,0], +"a01142.html#a29997e53feca6ea2ceb53bd12ccb7397":[8,0,49,1], +"a01142.html#a454c1e8a0b9b0c4b56aa415ad1856889":[8,0,49,6], +"a01142.html#ad94b92f8d5650653e8b6d7d3c9e50ba4":[8,0,49,5], +"a01142.html#aef6eee6b683ef0108fca05b531719f86":[8,0,49,4], +"a01142.html#af0322cbed208460dead1ab2aaf42f35e":[8,0,49,3], +"a01146.html":[8,0,50], +"a01146.html#a15de5c1cdbe015c9927c51026a44c15d":[8,0,50,0], +"a01146.html#a42beed23912c5ea5307c11701c6883ab":[8,0,50,1], +"a01146.html#af9fb5ef2eb0843381351919dc0f7cafd":[8,0,50,2], +"a01150.html":[8,0,48], +"a01150.html#a01b0fa1db9552c97809fd700aaf9464c":[8,0,48,1], +"a01150.html#a4f871aacf3b86f107114a6ca1f19a13a":[8,0,48,2], +"a01150.html#abe5b74a6bf41557a5ae72460fa563219":[8,0,48,3], +"a01150.html#aea79a9ccd71a91f69bb5773f43350f14":[8,0,48,4], +"a01150.html#afa720d7b457a80ef9f27d644a51ad157":[8,0,48,0], +"a01151.html":[1], +"a01152.html":[2], +"a01153.html":[3], +"a01154.html":[4], +"a01155.html":[5], +"a01156.html":[6], +"annotated.html":[8,0], +"classes.html":[8,1], +"files.html":[9,0], +"functions.html":[8,2,0], +"functions.html":[8,2,0,0], +"functions_a.html":[8,2,0,1], +"functions_b.html":[8,2,0,2], +"functions_c.html":[8,2,0,3], +"functions_d.html":[8,2,0,4], +"functions_e.html":[8,2,0,5], +"functions_f.html":[8,2,0,6], +"functions_g.html":[8,2,0,7], +"functions_h.html":[8,2,0,8], +"functions_i.html":[8,2,0,9], +"functions_j.html":[8,2,0,10], +"functions_k.html":[8,2,0,11], +"functions_m.html":[8,2,0,12], +"functions_n.html":[8,2,0,13], +"functions_o.html":[8,2,0,14], +"functions_p.html":[8,2,0,15], +"functions_r.html":[8,2,0,16], +"functions_s.html":[8,2,0,17], +"functions_t.html":[8,2,0,18], +"functions_u.html":[8,2,0,19], +"functions_v.html":[8,2,0,20], +"functions_vars.html":[8,2,1,0], +"functions_vars.html":[8,2,1], +"functions_vars_a.html":[8,2,1,1], +"functions_vars_b.html":[8,2,1,2], +"functions_vars_c.html":[8,2,1,3], +"functions_vars_d.html":[8,2,1,4], +"functions_vars_e.html":[8,2,1,5], +"functions_vars_f.html":[8,2,1,6], +"functions_vars_g.html":[8,2,1,7], +"functions_vars_h.html":[8,2,1,8], +"functions_vars_i.html":[8,2,1,9], +"functions_vars_j.html":[8,2,1,10], +"functions_vars_k.html":[8,2,1,11], +"functions_vars_m.html":[8,2,1,12], +"functions_vars_n.html":[8,2,1,13], +"functions_vars_o.html":[8,2,1,14], +"functions_vars_p.html":[8,2,1,15], +"functions_vars_r.html":[8,2,1,16], +"functions_vars_s.html":[8,2,1,17], +"functions_vars_t.html":[8,2,1,18], +"functions_vars_u.html":[8,2,1,19], +"functions_vars_v.html":[8,2,1,20], +"functions_vars_w.html":[8,2,1,21], +"functions_vars_y.html":[8,2,1,22], +"functions_vars_z.html":[8,2,1,23], +"functions_w.html":[8,2,0,21], +"functions_y.html":[8,2,0,22], +"functions_z.html":[8,2,0,23], +"globals.html":[9,1,0,0], +"globals.html":[9,1,0], +"globals_a.html":[9,1,0,1], +"globals_b.html":[9,1,0,2], +"globals_c.html":[9,1,0,3], +"globals_d.html":[9,1,0,4], +"globals_defs.html":[9,1,6], +"globals_defs.html":[9,1,6,0], +"globals_defs_a.html":[9,1,6,1], +"globals_defs_b.html":[9,1,6,2], +"globals_defs_c.html":[9,1,6,3], +"globals_defs_d.html":[9,1,6,4], +"globals_defs_e.html":[9,1,6,5], +"globals_defs_f.html":[9,1,6,6], +"globals_defs_g.html":[9,1,6,7], +"globals_defs_h.html":[9,1,6,8], +"globals_defs_i.html":[9,1,6,9], +"globals_defs_k.html":[9,1,6,10], +"globals_defs_l.html":[9,1,6,11], +"globals_defs_m.html":[9,1,6,12], +"globals_defs_n.html":[9,1,6,13], +"globals_defs_o.html":[9,1,6,14], +"globals_defs_p.html":[9,1,6,15], +"globals_defs_r.html":[9,1,6,16], +"globals_defs_s.html":[9,1,6,17], +"globals_defs_t.html":[9,1,6,18], +"globals_defs_u.html":[9,1,6,19], +"globals_defs_v.html":[9,1,6,20], +"globals_defs_w.html":[9,1,6,21], +"globals_defs_z.html":[9,1,6,22], +"globals_e.html":[9,1,0,5], +"globals_enum.html":[9,1,4], +"globals_eval.html":[9,1,5], +"globals_f.html":[9,1,0,6], +"globals_func.html":[9,1,1], +"globals_func.html":[9,1,1,0], +"globals_func_a.html":[9,1,1,1], +"globals_func_b.html":[9,1,1,2], +"globals_func_c.html":[9,1,1,3], +"globals_func_d.html":[9,1,1,4], +"globals_func_e.html":[9,1,1,5], +"globals_func_h.html":[9,1,1,6], +"globals_func_i.html":[9,1,1,7], +"globals_func_k.html":[9,1,1,8], +"globals_func_n.html":[9,1,1,9], +"globals_func_o.html":[9,1,1,10], +"globals_func_p.html":[9,1,1,11], +"globals_func_r.html":[9,1,1,12], +"globals_func_s.html":[9,1,1,13], +"globals_func_t.html":[9,1,1,14], +"globals_g.html":[9,1,0,7], +"globals_h.html":[9,1,0,8], +"globals_i.html":[9,1,0,9], +"globals_k.html":[9,1,0,10], +"globals_l.html":[9,1,0,11], +"globals_m.html":[9,1,0,12], +"globals_n.html":[9,1,0,13], +"globals_o.html":[9,1,0,14], +"globals_p.html":[9,1,0,15], +"globals_r.html":[9,1,0,16], +"globals_s.html":[9,1,0,17], +"globals_t.html":[9,1,0,18], +"globals_type.html":[9,1,3], +"globals_u.html":[9,1,0,19], +"globals_v.html":[9,1,0,20], +"globals_vars.html":[9,1,2], +"globals_w.html":[9,1,0,21], +"globals_z.html":[9,1,0,22], "index.html":[], "index.html":[0], -"modules.html":[6], +"modules.html":[7], "pages.html":[] }; diff --git a/docs/html/navtreeindex2.js b/docs/html/navtreeindex2.js index 3c6f5953a..7b6f11743 100644 --- a/docs/html/navtreeindex2.js +++ b/docs/html/navtreeindex2.js @@ -1,253 +1,253 @@ var NAVTREEINDEX2 = { -"a00491.html#a076fc28889d32327dd3372538106da92":[8,0,142,6], -"a00491.html#a1c5ab22e67923ee54eef0e33b227be0b":[8,0,142,3], -"a00491.html#a79bc8f2b72647fce853274cf8474b41e":[8,0,142,7], -"a00491.html#a8ba5507b651724b4cdc74106a16b025c":[8,0,142,8], -"a00491.html#ad78929b51b34df503a37b4961577d5ce":[8,0,142,1], -"a00491.html#ada6b4629603758b67820568677ab2a19":[8,0,142,5], -"a00491.html#af016fffdce9f520096de8631e6692707":[8,0,142,0], -"a00491.html#af0382e26c4d83b0762b39d12c772dd2e":[8,0,142,4], -"a00491.html#afa009f7d683cb82293570a27d1f8ee10":[8,0,142,2], -"a00494.html":[8,0,143], -"a00494.html#a076fc28889d32327dd3372538106da92":[8,0,143,15], -"a00494.html#a1c5ab22e67923ee54eef0e33b227be0b":[8,0,143,12], -"a00494.html#a1ce4882b7d053eafcec22cd84fb5727d":[8,0,143,1], -"a00494.html#a2ced4699fc4ab5162dbb9453edecb32e":[8,0,143,3], -"a00494.html#a60ba93807a2c0ea2ce1432245f3f7da0":[8,0,143,6], -"a00494.html#a79bc8f2b72647fce853274cf8474b41e":[8,0,143,16], -"a00494.html#a8ba5507b651724b4cdc74106a16b025c":[8,0,143,17], -"a00494.html#ab10604796b42fb6b8eed23fc88ebd47f":[8,0,143,7], -"a00494.html#abd0d20a34060650b8a2895c17f842f44":[8,0,143,4], -"a00494.html#ad78929b51b34df503a37b4961577d5ce":[8,0,143,10], -"a00494.html#ad884cf7d66d88b38180369a791a9824b":[8,0,143,2], -"a00494.html#ad935b86cd295ba61924231e29033c55b":[8,0,143,8], -"a00494.html#ada6b4629603758b67820568677ab2a19":[8,0,143,14], -"a00494.html#af016fffdce9f520096de8631e6692707":[8,0,143,9], -"a00494.html#af0382e26c4d83b0762b39d12c772dd2e":[8,0,143,13], -"a00494.html#af9d9d027ce20f528edea144203141714":[8,0,143,5], -"a00494.html#afa009f7d683cb82293570a27d1f8ee10":[8,0,143,11], -"a00494_source.html":[8,0,143], -"a00497.html":[8,0,144], -"a00500.html":[8,0,145], -"a00500_source.html":[8,0,145], -"a00503.html":[8,0,146], -"a00506.html":[8,0,147], -"a00506_source.html":[8,0,147], -"a00509.html":[8,0,148], -"a00509.html#ad462f78bb4839d01e6066bdac14a6680":[8,0,148,0], -"a00512.html":[8,0,149], -"a00512_source.html":[8,0,149], -"a00515.html":[8,0,150], -"a00515.html#a6a2579114d13238c7ba20d147a74090a":[8,0,150,2], -"a00515.html#aac77b9d8c3b5ebb1caa337b6896c7080":[8,0,150,0], -"a00515.html#ab12a92582aefe426bb194e0c298e8f98":[8,0,150,1], -"a00518.html":[8,0,151], -"a00518_source.html":[8,0,151], -"a00521.html":[8,0,49], -"a00524.html":[8,0,50], -"a00524_source.html":[8,0,50], -"a00527.html":[8,0,53], -"a00530.html":[8,0,54], -"a00530_source.html":[8,0,54], -"a03530.html":[6,0], -"a03530.html#ga010430b93521c09efec9e5913ce769c1":[8,0,26,5], -"a03530.html#ga010430b93521c09efec9e5913ce769c1":[6,0,5], -"a03530.html#ga010430b93521c09efec9e5913ce769c1":[8,0,27,5], -"a03530.html#ga1f5e0890694189d4ce70f19b207eb070":[6,0,2], -"a03530.html#ga1f5e0890694189d4ce70f19b207eb070":[8,0,26,2], -"a03530.html#ga1f5e0890694189d4ce70f19b207eb070":[8,0,27,2], -"a03530.html#ga5624aa554e1964981b794e2295b9432c":[8,0,27,3], -"a03530.html#ga5624aa554e1964981b794e2295b9432c":[8,0,26,3], -"a03530.html#ga5624aa554e1964981b794e2295b9432c":[6,0,3], -"a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[8,0,27,1], -"a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[6,0,1], -"a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[8,0,26,1], -"a03530.html#ga9fe83141d8e44bf623e624a72901832c":[8,0,27,4], -"a03530.html#ga9fe83141d8e44bf623e624a72901832c":[8,0,26,4], -"a03530.html#ga9fe83141d8e44bf623e624a72901832c":[6,0,4], -"a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[6,0,6], -"a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[8,0,26,6], -"a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[8,0,27,6], -"a03530.html#gae5e766a819c7920470b456238cbef70d":[6,0,7], -"a03530.html#gae5e766a819c7920470b456238cbef70d":[8,0,26,7], -"a03530.html#gae5e766a819c7920470b456238cbef70d":[8,0,27,7], -"a03530.html#gafcb056718eb34ec3a612d550208e49cc":[6,0,0], -"a03530.html#gafcb056718eb34ec3a612d550208e49cc":[8,0,27,0], -"a03530.html#gafcb056718eb34ec3a612d550208e49cc":[8,0,26,0], -"a03531.html":[6,1], -"a03531.html#ga01cd269d08661e645b4caee850424130":[6,1,6], -"a03531.html#ga01cd269d08661e645b4caee850424130":[8,0,29,4], -"a03531.html#ga01d7437a14fd35ccc926168fb4ca2ca7":[8,0,29,352], -"a03531.html#ga01d7437a14fd35ccc926168fb4ca2ca7":[6,1,354], -"a03531.html#ga027d5e8ae4a55db4ae52a41f3214c861":[6,1,208], -"a03531.html#ga027d5e8ae4a55db4ae52a41f3214c861":[8,0,29,206], -"a03531.html#ga03e556ba7849f28ee8c58df8921cba66":[6,1,180], -"a03531.html#ga03e556ba7849f28ee8c58df8921cba66":[8,0,29,178], -"a03531.html#ga041cfaec382d0a67dcfe36d43332da48":[8,0,29,323], -"a03531.html#ga041cfaec382d0a67dcfe36d43332da48":[6,1,325], -"a03531.html#ga041d4cd845319ea0a693a1c4008b2a06":[6,1,185], -"a03531.html#ga041d4cd845319ea0a693a1c4008b2a06":[8,0,29,183], -"a03531.html#ga0543a644422ffc7460eeeb78799bde16":[6,1,184], -"a03531.html#ga0543a644422ffc7460eeeb78799bde16":[8,0,29,182], -"a03531.html#ga05c0e401be347897d9573ba58492e570":[6,1,249], -"a03531.html#ga05c0e401be347897d9573ba58492e570":[8,0,29,247], -"a03531.html#ga05ece414a0596ec9bb75c0ca8ca731dc":[8,0,29,371], -"a03531.html#ga05ece414a0596ec9bb75c0ca8ca731dc":[6,1,373], -"a03531.html#ga06c1c02df3023d78b6b224060966460f":[6,1,44], -"a03531.html#ga06c1c02df3023d78b6b224060966460f":[8,0,29,42], -"a03531.html#ga07089e8e8b1aa335ddfd37e591f64ebb":[6,1,69], -"a03531.html#ga07089e8e8b1aa335ddfd37e591f64ebb":[8,0,29,67], -"a03531.html#ga071a95b4b2048e0d879e6e13984e38fd":[8,0,29,292], -"a03531.html#ga071a95b4b2048e0d879e6e13984e38fd":[6,1,294], -"a03531.html#ga07289de41178ecfb6392da31e31e27c3":[6,1,172], -"a03531.html#ga07289de41178ecfb6392da31e31e27c3":[8,0,29,170], -"a03531.html#ga08326ee33be4faaec3be800e80c1cc17":[6,1,192], -"a03531.html#ga08326ee33be4faaec3be800e80c1cc17":[8,0,29,190], -"a03531.html#ga08e8a80be2717ece7c5ed5cc0a27fbab":[6,1,183], -"a03531.html#ga08e8a80be2717ece7c5ed5cc0a27fbab":[8,0,29,181], -"a03531.html#ga090c04fed9d153a97fb77195c7eb2f56":[6,1,63], -"a03531.html#ga090c04fed9d153a97fb77195c7eb2f56":[8,0,29,61], -"a03531.html#ga09ab7fb893534775d506020643820939":[8,0,29,25], -"a03531.html#ga09ab7fb893534775d506020643820939":[6,1,27], -"a03531.html#ga09b26b691e29966bcec1513edf819efe":[6,1,108], -"a03531.html#ga09b26b691e29966bcec1513edf819efe":[8,0,29,106], -"a03531.html#ga09e4830c78dedfa2ce662e0fdbe430e3":[6,1,207], -"a03531.html#ga09e4830c78dedfa2ce662e0fdbe430e3":[8,0,29,205], -"a03531.html#ga0aac7fbfd425112b4b1e922876532a9e":[6,1,36], -"a03531.html#ga0aac7fbfd425112b4b1e922876532a9e":[8,0,29,34], -"a03531.html#ga0b47a5e9928b7f3c91db64a9b80fde8b":[6,1,230], -"a03531.html#ga0b47a5e9928b7f3c91db64a9b80fde8b":[8,0,29,228], -"a03531.html#ga0b96c7eee244d44c648245421745db12":[6,1,41], -"a03531.html#ga0b96c7eee244d44c648245421745db12":[8,0,29,39], -"a03531.html#ga0bd9324a824410d7787c6fcd6e29d8a2":[6,1,270], -"a03531.html#ga0bd9324a824410d7787c6fcd6e29d8a2":[8,0,29,268], -"a03531.html#ga0be09b502137446daedc43f1d3e85f86":[6,1,73], -"a03531.html#ga0be09b502137446daedc43f1d3e85f86":[8,0,29,71], -"a03531.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5":[6,1,211], -"a03531.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5":[8,0,29,209], -"a03531.html#ga0c738f2cc7bf063582c34188f85ddc3c":[6,1,79], -"a03531.html#ga0c738f2cc7bf063582c34188f85ddc3c":[8,0,29,77], -"a03531.html#ga0c9c951895abf02992e41c617702c2ea":[8,0,29,347], -"a03531.html#ga0c9c951895abf02992e41c617702c2ea":[6,1,349], -"a03531.html#ga0e360558cd7cb842198cd8cd5d7a3da6":[6,1,147], -"a03531.html#ga0e360558cd7cb842198cd8cd5d7a3da6":[8,0,29,145], -"a03531.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f":[6,1,48], -"a03531.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f":[8,0,29,46], -"a03531.html#ga0e98e55c91c7559f57fdef4c9969c188":[8,0,29,368], -"a03531.html#ga0e98e55c91c7559f57fdef4c9969c188":[6,1,370], -"a03531.html#ga0ea0e257512fa047f26910c6605a9769":[6,1,153], -"a03531.html#ga0ea0e257512fa047f26910c6605a9769":[8,0,29,151], -"a03531.html#ga0f2c0b2e264a88b766811fe4ea0de88f":[6,1,103], -"a03531.html#ga0f2c0b2e264a88b766811fe4ea0de88f":[8,0,29,101], -"a03531.html#ga0f2fc749d3d196477b22cbceee856dfb":[8,0,29,369], -"a03531.html#ga0f2fc749d3d196477b22cbceee856dfb":[6,1,371], -"a03531.html#ga10795619d6fb78965b7e78996261f6cd":[8,0,29,28], -"a03531.html#ga10795619d6fb78965b7e78996261f6cd":[6,1,30], -"a03531.html#ga122f4b7b9f1011c04385a7caccc2d536":[8,0,29,334], -"a03531.html#ga122f4b7b9f1011c04385a7caccc2d536":[6,1,336], -"a03531.html#ga1519bbd506095c4db25aad15bbc0735b":[6,1,227], -"a03531.html#ga1519bbd506095c4db25aad15bbc0735b":[8,0,29,225], -"a03531.html#ga15c3e02dd629f85722f4b74e61f3adca":[6,1,58], -"a03531.html#ga15c3e02dd629f85722f4b74e61f3adca":[8,0,29,56], -"a03531.html#ga15cc6f16cdb8f11b60981af7c3b15ef8":[6,1,75], -"a03531.html#ga15cc6f16cdb8f11b60981af7c3b15ef8":[8,0,29,73], -"a03531.html#ga167bc588244395e98461008070fee8f3":[6,1,99], -"a03531.html#ga167bc588244395e98461008070fee8f3":[8,0,29,97], -"a03531.html#ga16f1550cc792fa205acef2106f2fcf54":[6,1,21], -"a03531.html#ga16f1550cc792fa205acef2106f2fcf54":[8,0,29,19], -"a03531.html#ga170c911bfe1a20e3572bdc5c2cd80c9d":[6,1,106], -"a03531.html#ga170c911bfe1a20e3572bdc5c2cd80c9d":[8,0,29,104], -"a03531.html#ga17980d6743441fa2afd71523006ae058":[8,0,29,307], -"a03531.html#ga17980d6743441fa2afd71523006ae058":[6,1,309], -"a03531.html#ga17f002359b157bee44a3c071a5a206db":[6,1,46], -"a03531.html#ga17f002359b157bee44a3c071a5a206db":[8,0,29,44], -"a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[8,0,29,462], -"a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[6,1,404], -"a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[8,0,28,21], -"a03531.html#ga17ffd71c28597552f5c4517096ef1fb8":[8,0,29,441], -"a03531.html#ga17ffd71c28597552f5c4517096ef1fb8":[6,1,383], -"a03531.html#ga17ffd71c28597552f5c4517096ef1fb8":[8,0,28,0], -"a03531.html#ga1887d11853092541df18c2a04fb6b87a":[8,0,29,84], -"a03531.html#ga1887d11853092541df18c2a04fb6b87a":[6,1,86], -"a03531.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2":[8,0,29,91], -"a03531.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2":[6,1,93], -"a03531.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2":[6,1,111], -"a03531.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2":[8,0,29,109], -"a03531.html#ga1c0632a1eabc73aaebcb4c7f265b8a00":[6,1,50], -"a03531.html#ga1c0632a1eabc73aaebcb4c7f265b8a00":[8,0,29,48], -"a03531.html#ga1d6d2f2713e845ec3b3bf465025d6858":[6,1,100], -"a03531.html#ga1d6d2f2713e845ec3b3bf465025d6858":[8,0,29,98], -"a03531.html#ga1db673cb318ec36ebd0c9c1a5ce301ad":[6,1,109], -"a03531.html#ga1db673cb318ec36ebd0c9c1a5ce301ad":[8,0,29,107], -"a03531.html#ga1dedbfae86a6c38085070160696e00bb":[6,1,256], -"a03531.html#ga1dedbfae86a6c38085070160696e00bb":[8,0,29,254], -"a03531.html#ga1e34a5e5e8b86355569f958ecbaff3d4":[6,1,277], -"a03531.html#ga1e34a5e5e8b86355569f958ecbaff3d4":[8,0,29,275], -"a03531.html#ga1ed0d355896761d1cfef4d3b225fefae":[6,1,266], -"a03531.html#ga1ed0d355896761d1cfef4d3b225fefae":[8,0,29,264], -"a03531.html#ga1ef61cb184d3ff5ef2f8bf9db6521888":[8,0,29,351], -"a03531.html#ga1ef61cb184d3ff5ef2f8bf9db6521888":[6,1,353], -"a03531.html#ga1f9bb707789dc9194b06403113c9dfaf":[6,1,23], -"a03531.html#ga1f9bb707789dc9194b06403113c9dfaf":[8,0,29,21], -"a03531.html#ga2071156124a692a5f2a5c764c923f731":[8,0,29,365], -"a03531.html#ga2071156124a692a5f2a5c764c923f731":[6,1,367], -"a03531.html#ga20afccf35c609f05a3d7dc70687baa2e":[8,0,29,309], -"a03531.html#ga20afccf35c609f05a3d7dc70687baa2e":[6,1,311], -"a03531.html#ga20f86d5c7f97f2513eebddce69917fbf":[6,1,128], -"a03531.html#ga20f86d5c7f97f2513eebddce69917fbf":[8,0,29,126], -"a03531.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab":[8,0,29,318], -"a03531.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab":[6,1,320], -"a03531.html#ga232e4a2b3f189cc2c3594ce5f18da3aa":[6,1,57], -"a03531.html#ga232e4a2b3f189cc2c3594ce5f18da3aa":[8,0,29,55], -"a03531.html#ga235eb9557fa074bf152f9ce9c5844058":[6,1,160], -"a03531.html#ga235eb9557fa074bf152f9ce9c5844058":[8,0,29,158], -"a03531.html#ga23673926f1dd2464bd20f6512985d855":[6,1,187], -"a03531.html#ga23673926f1dd2464bd20f6512985d855":[8,0,29,185], -"a03531.html#ga249c12b69d65f6c33568c78b9d9b127d":[6,1,200], -"a03531.html#ga249c12b69d65f6c33568c78b9d9b127d":[8,0,29,198], -"a03531.html#ga269bd52a7856116ebce13c1072f56d9e":[6,1,129], -"a03531.html#ga269bd52a7856116ebce13c1072f56d9e":[8,0,29,127], -"a03531.html#ga276faf364bbb0e27819842111e08842f":[6,1,39], -"a03531.html#ga276faf364bbb0e27819842111e08842f":[8,0,29,37], -"a03531.html#ga2809c87d994c49b53e039f752834fc97":[6,1,5], -"a03531.html#ga2809c87d994c49b53e039f752834fc97":[8,0,29,3], -"a03531.html#ga28cccb87be4305fa9469c26b0ca341e8":[6,1,248], -"a03531.html#ga28cccb87be4305fa9469c26b0ca341e8":[8,0,29,246], -"a03531.html#ga29b582e5069538ee92f5bcd6d1356255":[6,1,260], -"a03531.html#ga29b582e5069538ee92f5bcd6d1356255":[8,0,29,258], -"a03531.html#ga2a2b74db24609199702267614fc31990":[8,0,29,301], -"a03531.html#ga2a2b74db24609199702267614fc31990":[6,1,303], -"a03531.html#ga2aac76b15694b82fda038e127d152297":[8,0,29,336], -"a03531.html#ga2aac76b15694b82fda038e127d152297":[6,1,338], -"a03531.html#ga2aba96712a9932d61146c43289e9d808":[8,0,29,349], -"a03531.html#ga2aba96712a9932d61146c43289e9d808":[6,1,351], -"a03531.html#ga2b2c07254f098dc8f8d87f2e09703adb":[6,1,154], -"a03531.html#ga2b2c07254f098dc8f8d87f2e09703adb":[8,0,29,152], -"a03531.html#ga2b70682af491ce76c45505cabafcf9c0":[6,1,205], -"a03531.html#ga2b70682af491ce76c45505cabafcf9c0":[8,0,29,203], -"a03531.html#ga2b86bf6731827368bf66eec960c35a32":[8,0,29,344], -"a03531.html#ga2b86bf6731827368bf66eec960c35a32":[6,1,346], -"a03531.html#ga2beb9e8360555ededb666ad845219fce":[8,0,29,468], -"a03531.html#ga2beb9e8360555ededb666ad845219fce":[8,0,28,27], -"a03531.html#ga2beb9e8360555ededb666ad845219fce":[6,1,410], -"a03531.html#ga2c26247a084a027f06a2aaf692313f12":[6,1,163], -"a03531.html#ga2c26247a084a027f06a2aaf692313f12":[8,0,29,161], -"a03531.html#ga2d04ced68d56c0db40b93b767de02089":[8,0,29,339], -"a03531.html#ga2d04ced68d56c0db40b93b767de02089":[6,1,341], -"a03531.html#ga2e025044ab9693b267e79f80e0a69cb1":[6,1,232], -"a03531.html#ga2e025044ab9693b267e79f80e0a69cb1":[8,0,29,230], -"a03531.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675":[8,0,29,298], -"a03531.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675":[6,1,300], -"a03531.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6":[6,1,198], -"a03531.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6":[8,0,29,196], -"a03531.html#ga3171c7ab4447a2e752706bed1072e694":[6,1,67], -"a03531.html#ga3171c7ab4447a2e752706bed1072e694":[8,0,29,65], -"a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814":[8,0,29,451], -"a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814":[6,1,393], -"a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814":[8,0,28,10], -"a03531.html#ga32c642907f4f326893fb6fccfce18707":[6,1,231], -"a03531.html#ga32c642907f4f326893fb6fccfce18707":[8,0,29,229], -"a03531.html#ga32d53cee52cd042a31f1adc934ad7a5a":[6,1,16], -"a03531.html#ga32d53cee52cd042a31f1adc934ad7a5a":[8,0,29,14] +"a00500.html#a560b261db9a1d59e1cd72a73da03d06c":[9,0,135,19], +"a00500.html#a5a1923e2271df541e858cb4e05d7b895":[9,0,135,24], +"a00500.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9":[9,0,135,8], +"a00500.html#a67750a8227bb7dffd95a6bb04821194f":[9,0,135,12], +"a00500.html#a690ed5c65fe26bbbdf166bbaaf177fc9":[9,0,135,26], +"a00500.html#a6b267a18dae3dc4d7a2a0b8fdb38e701":[9,0,135,2], +"a00500.html#a704e88e63280d2b338c6d5aaa287ded6":[9,0,135,18], +"a00500.html#a73ff0687b7b8e875a604eb441e30603b":[9,0,135,10], +"a00500.html#a8bafe0ef98693ff1f6e1a5239f397397":[9,0,135,9], +"a00500.html#a97f972cfc30401e08fe25de26fcb3812":[9,0,135,11], +"a00500.html#a9b2c622317087560cb142947b325cbe9":[9,0,135,20], +"a00500.html#aacc56272d59b9d3ebd0e6837727b81d8":[9,0,135,4], +"a00500.html#abe70f8fe4c72329b89ec526c749f50d7":[9,0,135,22], +"a00500.html#abeb77b3a0a6fe395e8b7ecf498850cd7":[9,0,135,7], +"a00500.html#ac7dccc9e88a018aa5e25ae1ffa955e04":[9,0,135,15], +"a00500.html#ad2e9f2387bb528f37bceb48cd88af3d0":[9,0,135,35], +"a00500.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d":[9,0,135,34], +"a00500.html#af89a7a4080a47aa10a5504291db285bf":[9,0,135,21], +"a00500.html#afcbe5a222e1facc4e8023c326ca8430c":[9,0,135,16], +"a00500.html#afce97c373c5ec7dff5b99e462bb8443d":[9,0,135,13], +"a00500.html#afd6d53ef6b697533839248b40bc97861":[9,0,135,37], +"a00500_source.html":[9,0,135], +"a00503.html":[9,0,137], +"a00503_source.html":[9,0,137], +"a00506.html":[9,0,138], +"a00509.html":[9,0,139], +"a00509_source.html":[9,0,139], +"a00512.html":[9,0,147], +"a00512.html#a076fc28889d32327dd3372538106da92":[9,0,147,6], +"a00512.html#a1c5ab22e67923ee54eef0e33b227be0b":[9,0,147,3], +"a00512.html#a79bc8f2b72647fce853274cf8474b41e":[9,0,147,7], +"a00512.html#a8ba5507b651724b4cdc74106a16b025c":[9,0,147,8], +"a00512.html#ad78929b51b34df503a37b4961577d5ce":[9,0,147,1], +"a00512.html#ada6b4629603758b67820568677ab2a19":[9,0,147,5], +"a00512.html#af016fffdce9f520096de8631e6692707":[9,0,147,0], +"a00512.html#af0382e26c4d83b0762b39d12c772dd2e":[9,0,147,4], +"a00512.html#afa009f7d683cb82293570a27d1f8ee10":[9,0,147,2], +"a00515.html":[9,0,148], +"a00515.html#a076fc28889d32327dd3372538106da92":[9,0,148,15], +"a00515.html#a1c5ab22e67923ee54eef0e33b227be0b":[9,0,148,12], +"a00515.html#a1ce4882b7d053eafcec22cd84fb5727d":[9,0,148,1], +"a00515.html#a2ced4699fc4ab5162dbb9453edecb32e":[9,0,148,3], +"a00515.html#a60ba93807a2c0ea2ce1432245f3f7da0":[9,0,148,6], +"a00515.html#a79bc8f2b72647fce853274cf8474b41e":[9,0,148,16], +"a00515.html#a8ba5507b651724b4cdc74106a16b025c":[9,0,148,17], +"a00515.html#ab10604796b42fb6b8eed23fc88ebd47f":[9,0,148,7], +"a00515.html#abd0d20a34060650b8a2895c17f842f44":[9,0,148,4], +"a00515.html#ad78929b51b34df503a37b4961577d5ce":[9,0,148,10], +"a00515.html#ad884cf7d66d88b38180369a791a9824b":[9,0,148,2], +"a00515.html#ad935b86cd295ba61924231e29033c55b":[9,0,148,8], +"a00515.html#ada6b4629603758b67820568677ab2a19":[9,0,148,14], +"a00515.html#af016fffdce9f520096de8631e6692707":[9,0,148,9], +"a00515.html#af0382e26c4d83b0762b39d12c772dd2e":[9,0,148,13], +"a00515.html#af9d9d027ce20f528edea144203141714":[9,0,148,5], +"a00515.html#afa009f7d683cb82293570a27d1f8ee10":[9,0,148,11], +"a00515_source.html":[9,0,148], +"a00518.html":[9,0,149], +"a00521.html":[9,0,150], +"a00521_source.html":[9,0,150], +"a00524.html":[9,0,151], +"a00527.html":[9,0,152], +"a00527_source.html":[9,0,152], +"a00530.html":[9,0,153], +"a00530.html#ad462f78bb4839d01e6066bdac14a6680":[9,0,153,0], +"a00533.html":[9,0,154], +"a00533_source.html":[9,0,154], +"a00536.html":[9,0,155], +"a00536.html#a6a2579114d13238c7ba20d147a74090a":[9,0,155,2], +"a00536.html#aac77b9d8c3b5ebb1caa337b6896c7080":[9,0,155,0], +"a00536.html#ab12a92582aefe426bb194e0c298e8f98":[9,0,155,1], +"a00539.html":[9,0,156], +"a00539_source.html":[9,0,156], +"a00542.html":[9,0,54], +"a00545.html":[9,0,55], +"a00545_source.html":[9,0,55], +"a00548.html":[9,0,58], +"a00551.html":[9,0,59], +"a00551_source.html":[9,0,59], +"a00905.html":[7,0], +"a00905.html#ga010430b93521c09efec9e5913ce769c1":[7,0,5], +"a00905.html#ga010430b93521c09efec9e5913ce769c1":[9,0,31,5], +"a00905.html#ga010430b93521c09efec9e5913ce769c1":[9,0,32,5], +"a00905.html#ga1f5e0890694189d4ce70f19b207eb070":[7,0,2], +"a00905.html#ga1f5e0890694189d4ce70f19b207eb070":[9,0,31,2], +"a00905.html#ga1f5e0890694189d4ce70f19b207eb070":[9,0,32,2], +"a00905.html#ga5624aa554e1964981b794e2295b9432c":[9,0,31,3], +"a00905.html#ga5624aa554e1964981b794e2295b9432c":[9,0,32,3], +"a00905.html#ga5624aa554e1964981b794e2295b9432c":[7,0,3], +"a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[9,0,31,1], +"a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[9,0,32,1], +"a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3":[7,0,1], +"a00905.html#ga9fe83141d8e44bf623e624a72901832c":[7,0,4], +"a00905.html#ga9fe83141d8e44bf623e624a72901832c":[9,0,31,4], +"a00905.html#ga9fe83141d8e44bf623e624a72901832c":[9,0,32,4], +"a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[7,0,6], +"a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[9,0,32,6], +"a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c":[9,0,31,6], +"a00905.html#gae5e766a819c7920470b456238cbef70d":[7,0,7], +"a00905.html#gae5e766a819c7920470b456238cbef70d":[9,0,31,7], +"a00905.html#gae5e766a819c7920470b456238cbef70d":[9,0,32,7], +"a00905.html#gafcb056718eb34ec3a612d550208e49cc":[7,0,0], +"a00905.html#gafcb056718eb34ec3a612d550208e49cc":[9,0,31,0], +"a00905.html#gafcb056718eb34ec3a612d550208e49cc":[9,0,32,0], +"a00906.html":[7,1], +"a00906.html#ga01cd269d08661e645b4caee850424130":[7,1,6], +"a00906.html#ga01cd269d08661e645b4caee850424130":[9,0,34,4], +"a00906.html#ga01d7437a14fd35ccc926168fb4ca2ca7":[9,0,34,352], +"a00906.html#ga01d7437a14fd35ccc926168fb4ca2ca7":[7,1,354], +"a00906.html#ga027d5e8ae4a55db4ae52a41f3214c861":[7,1,208], +"a00906.html#ga027d5e8ae4a55db4ae52a41f3214c861":[9,0,34,206], +"a00906.html#ga03e556ba7849f28ee8c58df8921cba66":[7,1,180], +"a00906.html#ga03e556ba7849f28ee8c58df8921cba66":[9,0,34,178], +"a00906.html#ga041cfaec382d0a67dcfe36d43332da48":[9,0,34,323], +"a00906.html#ga041cfaec382d0a67dcfe36d43332da48":[7,1,325], +"a00906.html#ga041d4cd845319ea0a693a1c4008b2a06":[7,1,185], +"a00906.html#ga041d4cd845319ea0a693a1c4008b2a06":[9,0,34,183], +"a00906.html#ga0543a644422ffc7460eeeb78799bde16":[7,1,184], +"a00906.html#ga0543a644422ffc7460eeeb78799bde16":[9,0,34,182], +"a00906.html#ga05c0e401be347897d9573ba58492e570":[7,1,249], +"a00906.html#ga05c0e401be347897d9573ba58492e570":[9,0,34,247], +"a00906.html#ga05ece414a0596ec9bb75c0ca8ca731dc":[9,0,34,371], +"a00906.html#ga05ece414a0596ec9bb75c0ca8ca731dc":[7,1,373], +"a00906.html#ga06c1c02df3023d78b6b224060966460f":[7,1,44], +"a00906.html#ga06c1c02df3023d78b6b224060966460f":[9,0,34,42], +"a00906.html#ga07089e8e8b1aa335ddfd37e591f64ebb":[7,1,69], +"a00906.html#ga07089e8e8b1aa335ddfd37e591f64ebb":[9,0,34,67], +"a00906.html#ga071a95b4b2048e0d879e6e13984e38fd":[9,0,34,292], +"a00906.html#ga071a95b4b2048e0d879e6e13984e38fd":[7,1,294], +"a00906.html#ga07289de41178ecfb6392da31e31e27c3":[7,1,172], +"a00906.html#ga07289de41178ecfb6392da31e31e27c3":[9,0,34,170], +"a00906.html#ga08326ee33be4faaec3be800e80c1cc17":[7,1,192], +"a00906.html#ga08326ee33be4faaec3be800e80c1cc17":[9,0,34,190], +"a00906.html#ga08e8a80be2717ece7c5ed5cc0a27fbab":[7,1,183], +"a00906.html#ga08e8a80be2717ece7c5ed5cc0a27fbab":[9,0,34,181], +"a00906.html#ga090c04fed9d153a97fb77195c7eb2f56":[7,1,63], +"a00906.html#ga090c04fed9d153a97fb77195c7eb2f56":[9,0,34,61], +"a00906.html#ga09ab7fb893534775d506020643820939":[9,0,34,25], +"a00906.html#ga09ab7fb893534775d506020643820939":[7,1,27], +"a00906.html#ga09b26b691e29966bcec1513edf819efe":[7,1,108], +"a00906.html#ga09b26b691e29966bcec1513edf819efe":[9,0,34,106], +"a00906.html#ga09e4830c78dedfa2ce662e0fdbe430e3":[7,1,207], +"a00906.html#ga09e4830c78dedfa2ce662e0fdbe430e3":[9,0,34,205], +"a00906.html#ga0aac7fbfd425112b4b1e922876532a9e":[7,1,36], +"a00906.html#ga0aac7fbfd425112b4b1e922876532a9e":[9,0,34,34], +"a00906.html#ga0b47a5e9928b7f3c91db64a9b80fde8b":[7,1,230], +"a00906.html#ga0b47a5e9928b7f3c91db64a9b80fde8b":[9,0,34,228], +"a00906.html#ga0b96c7eee244d44c648245421745db12":[7,1,41], +"a00906.html#ga0b96c7eee244d44c648245421745db12":[9,0,34,39], +"a00906.html#ga0bd9324a824410d7787c6fcd6e29d8a2":[9,0,34,268], +"a00906.html#ga0bd9324a824410d7787c6fcd6e29d8a2":[7,1,270], +"a00906.html#ga0be09b502137446daedc43f1d3e85f86":[7,1,73], +"a00906.html#ga0be09b502137446daedc43f1d3e85f86":[9,0,34,71], +"a00906.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5":[7,1,211], +"a00906.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5":[9,0,34,209], +"a00906.html#ga0c738f2cc7bf063582c34188f85ddc3c":[7,1,79], +"a00906.html#ga0c738f2cc7bf063582c34188f85ddc3c":[9,0,34,77], +"a00906.html#ga0c9c951895abf02992e41c617702c2ea":[9,0,34,347], +"a00906.html#ga0c9c951895abf02992e41c617702c2ea":[7,1,349], +"a00906.html#ga0e360558cd7cb842198cd8cd5d7a3da6":[7,1,147], +"a00906.html#ga0e360558cd7cb842198cd8cd5d7a3da6":[9,0,34,145], +"a00906.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f":[7,1,48], +"a00906.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f":[9,0,34,46], +"a00906.html#ga0e98e55c91c7559f57fdef4c9969c188":[9,0,34,368], +"a00906.html#ga0e98e55c91c7559f57fdef4c9969c188":[7,1,370], +"a00906.html#ga0ea0e257512fa047f26910c6605a9769":[7,1,153], +"a00906.html#ga0ea0e257512fa047f26910c6605a9769":[9,0,34,151], +"a00906.html#ga0f2c0b2e264a88b766811fe4ea0de88f":[7,1,103], +"a00906.html#ga0f2c0b2e264a88b766811fe4ea0de88f":[9,0,34,101], +"a00906.html#ga0f2fc749d3d196477b22cbceee856dfb":[9,0,34,369], +"a00906.html#ga0f2fc749d3d196477b22cbceee856dfb":[7,1,371], +"a00906.html#ga10795619d6fb78965b7e78996261f6cd":[9,0,34,28], +"a00906.html#ga10795619d6fb78965b7e78996261f6cd":[7,1,30], +"a00906.html#ga122f4b7b9f1011c04385a7caccc2d536":[9,0,34,334], +"a00906.html#ga122f4b7b9f1011c04385a7caccc2d536":[7,1,336], +"a00906.html#ga1519bbd506095c4db25aad15bbc0735b":[7,1,227], +"a00906.html#ga1519bbd506095c4db25aad15bbc0735b":[9,0,34,225], +"a00906.html#ga15c3e02dd629f85722f4b74e61f3adca":[7,1,58], +"a00906.html#ga15c3e02dd629f85722f4b74e61f3adca":[9,0,34,56], +"a00906.html#ga15cc6f16cdb8f11b60981af7c3b15ef8":[7,1,75], +"a00906.html#ga15cc6f16cdb8f11b60981af7c3b15ef8":[9,0,34,73], +"a00906.html#ga167bc588244395e98461008070fee8f3":[7,1,99], +"a00906.html#ga167bc588244395e98461008070fee8f3":[9,0,34,97], +"a00906.html#ga16f1550cc792fa205acef2106f2fcf54":[7,1,21], +"a00906.html#ga16f1550cc792fa205acef2106f2fcf54":[9,0,34,19], +"a00906.html#ga170c911bfe1a20e3572bdc5c2cd80c9d":[7,1,106], +"a00906.html#ga170c911bfe1a20e3572bdc5c2cd80c9d":[9,0,34,104], +"a00906.html#ga17980d6743441fa2afd71523006ae058":[9,0,34,307], +"a00906.html#ga17980d6743441fa2afd71523006ae058":[7,1,309], +"a00906.html#ga17f002359b157bee44a3c071a5a206db":[7,1,46], +"a00906.html#ga17f002359b157bee44a3c071a5a206db":[9,0,34,44], +"a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[9,0,34,462], +"a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[7,1,404], +"a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4":[9,0,33,21], +"a00906.html#ga17ffd71c28597552f5c4517096ef1fb8":[9,0,34,441], +"a00906.html#ga17ffd71c28597552f5c4517096ef1fb8":[7,1,383], +"a00906.html#ga17ffd71c28597552f5c4517096ef1fb8":[9,0,33,0], +"a00906.html#ga1887d11853092541df18c2a04fb6b87a":[9,0,34,84], +"a00906.html#ga1887d11853092541df18c2a04fb6b87a":[7,1,86], +"a00906.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2":[9,0,34,91], +"a00906.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2":[7,1,93], +"a00906.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2":[7,1,111], +"a00906.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2":[9,0,34,109], +"a00906.html#ga1c0632a1eabc73aaebcb4c7f265b8a00":[7,1,50], +"a00906.html#ga1c0632a1eabc73aaebcb4c7f265b8a00":[9,0,34,48], +"a00906.html#ga1d6d2f2713e845ec3b3bf465025d6858":[7,1,100], +"a00906.html#ga1d6d2f2713e845ec3b3bf465025d6858":[9,0,34,98], +"a00906.html#ga1db673cb318ec36ebd0c9c1a5ce301ad":[7,1,109], +"a00906.html#ga1db673cb318ec36ebd0c9c1a5ce301ad":[9,0,34,107], +"a00906.html#ga1dedbfae86a6c38085070160696e00bb":[9,0,34,254], +"a00906.html#ga1dedbfae86a6c38085070160696e00bb":[7,1,256], +"a00906.html#ga1e34a5e5e8b86355569f958ecbaff3d4":[9,0,34,275], +"a00906.html#ga1e34a5e5e8b86355569f958ecbaff3d4":[7,1,277], +"a00906.html#ga1ed0d355896761d1cfef4d3b225fefae":[9,0,34,264], +"a00906.html#ga1ed0d355896761d1cfef4d3b225fefae":[7,1,266], +"a00906.html#ga1ef61cb184d3ff5ef2f8bf9db6521888":[9,0,34,351], +"a00906.html#ga1ef61cb184d3ff5ef2f8bf9db6521888":[7,1,353], +"a00906.html#ga1f9bb707789dc9194b06403113c9dfaf":[7,1,23], +"a00906.html#ga1f9bb707789dc9194b06403113c9dfaf":[9,0,34,21], +"a00906.html#ga2071156124a692a5f2a5c764c923f731":[9,0,34,365], +"a00906.html#ga2071156124a692a5f2a5c764c923f731":[7,1,367], +"a00906.html#ga20afccf35c609f05a3d7dc70687baa2e":[9,0,34,309], +"a00906.html#ga20afccf35c609f05a3d7dc70687baa2e":[7,1,311], +"a00906.html#ga20f86d5c7f97f2513eebddce69917fbf":[7,1,128], +"a00906.html#ga20f86d5c7f97f2513eebddce69917fbf":[9,0,34,126], +"a00906.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab":[9,0,34,318], +"a00906.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab":[7,1,320], +"a00906.html#ga232e4a2b3f189cc2c3594ce5f18da3aa":[7,1,57], +"a00906.html#ga232e4a2b3f189cc2c3594ce5f18da3aa":[9,0,34,55], +"a00906.html#ga235eb9557fa074bf152f9ce9c5844058":[7,1,160], +"a00906.html#ga235eb9557fa074bf152f9ce9c5844058":[9,0,34,158], +"a00906.html#ga23673926f1dd2464bd20f6512985d855":[7,1,187], +"a00906.html#ga23673926f1dd2464bd20f6512985d855":[9,0,34,185], +"a00906.html#ga249c12b69d65f6c33568c78b9d9b127d":[7,1,200], +"a00906.html#ga249c12b69d65f6c33568c78b9d9b127d":[9,0,34,198], +"a00906.html#ga269bd52a7856116ebce13c1072f56d9e":[7,1,129], +"a00906.html#ga269bd52a7856116ebce13c1072f56d9e":[9,0,34,127], +"a00906.html#ga276faf364bbb0e27819842111e08842f":[7,1,39], +"a00906.html#ga276faf364bbb0e27819842111e08842f":[9,0,34,37], +"a00906.html#ga2809c87d994c49b53e039f752834fc97":[7,1,5], +"a00906.html#ga2809c87d994c49b53e039f752834fc97":[9,0,34,3], +"a00906.html#ga28cccb87be4305fa9469c26b0ca341e8":[9,0,34,246], +"a00906.html#ga28cccb87be4305fa9469c26b0ca341e8":[7,1,248], +"a00906.html#ga29b582e5069538ee92f5bcd6d1356255":[9,0,34,258], +"a00906.html#ga29b582e5069538ee92f5bcd6d1356255":[7,1,260], +"a00906.html#ga2a2b74db24609199702267614fc31990":[9,0,34,301], +"a00906.html#ga2a2b74db24609199702267614fc31990":[7,1,303], +"a00906.html#ga2aac76b15694b82fda038e127d152297":[9,0,34,336], +"a00906.html#ga2aac76b15694b82fda038e127d152297":[7,1,338], +"a00906.html#ga2aba96712a9932d61146c43289e9d808":[9,0,34,349], +"a00906.html#ga2aba96712a9932d61146c43289e9d808":[7,1,351] }; diff --git a/docs/html/navtreeindex3.js b/docs/html/navtreeindex3.js index b3034e1e9..7903c6a05 100644 --- a/docs/html/navtreeindex3.js +++ b/docs/html/navtreeindex3.js @@ -1,253 +1,253 @@ var NAVTREEINDEX3 = { -"a03531.html#ga3495c2fd81985342858bac47300bcdc8":[6,1,142], -"a03531.html#ga3495c2fd81985342858bac47300bcdc8":[8,0,29,140], -"a03531.html#ga34be98ca6fb22f331eb62cfc4104ded6":[6,1,190], -"a03531.html#ga34be98ca6fb22f331eb62cfc4104ded6":[8,0,29,188], -"a03531.html#ga34ec73cf7504b560883a5d192fe88793":[6,1,8], -"a03531.html#ga34ec73cf7504b560883a5d192fe88793":[8,0,29,6], -"a03531.html#ga36122a4f84ec0c31330c3c0458304029":[6,1,47], -"a03531.html#ga36122a4f84ec0c31330c3c0458304029":[8,0,29,45], -"a03531.html#ga376a70cf087e157cbb914d9ca2e5b989":[8,0,29,313], -"a03531.html#ga376a70cf087e157cbb914d9ca2e5b989":[6,1,315], -"a03531.html#ga3785654ccbe309a87213aedb001ca39d":[6,1,244], -"a03531.html#ga3785654ccbe309a87213aedb001ca39d":[8,0,29,242], -"a03531.html#ga37e24393c3e995d47a09ad962b6b83de":[6,1,45], -"a03531.html#ga37e24393c3e995d47a09ad962b6b83de":[8,0,29,43], -"a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[8,0,29,467], -"a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[6,1,409], -"a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[8,0,28,26], -"a03531.html#ga3a3d3289c719d81f95b3d025a2564c9f":[6,1,137], -"a03531.html#ga3a3d3289c719d81f95b3d025a2564c9f":[8,0,29,135], -"a03531.html#ga3b69501fcc3e0cea0197fc0f6107916a":[6,1,242], -"a03531.html#ga3b69501fcc3e0cea0197fc0f6107916a":[8,0,29,240], -"a03531.html#ga3c7444c099cf0f89f754fd3cbec77bf4":[6,1,104], -"a03531.html#ga3c7444c099cf0f89f754fd3cbec77bf4":[8,0,29,102], -"a03531.html#ga3caf91c8e7ec183e0ad7b93dad9cb548":[6,1,66], -"a03531.html#ga3caf91c8e7ec183e0ad7b93dad9cb548":[8,0,29,64], -"a03531.html#ga3d287922c127b599204ea3bc64d4a825":[8,0,29,335], -"a03531.html#ga3d287922c127b599204ea3bc64d4a825":[6,1,337], -"a03531.html#ga3d37a5da1c43d44e49c4e6614d133c7e":[8,0,29,358], -"a03531.html#ga3d37a5da1c43d44e49c4e6614d133c7e":[6,1,360], -"a03531.html#ga3db7049de685080f046f0b4221de461b":[8,0,29,340], -"a03531.html#ga3db7049de685080f046f0b4221de461b":[6,1,342], -"a03531.html#ga3f54bd6d53a687ae3660196497e8faa1":[8,0,29,319], -"a03531.html#ga3f54bd6d53a687ae3660196497e8faa1":[6,1,321], -"a03531.html#ga3f7b636ed69136b5e5aa6d172cfd34e9":[6,1,34], -"a03531.html#ga3f7b636ed69136b5e5aa6d172cfd34e9":[8,0,29,32], -"a03531.html#ga40d926e0e037fc8bb265bb19f57e5d1a":[6,1,114], -"a03531.html#ga40d926e0e037fc8bb265bb19f57e5d1a":[8,0,29,112], -"a03531.html#ga41ad765834ce2cf37241f79b80857f79":[6,1,238], -"a03531.html#ga41ad765834ce2cf37241f79b80857f79":[8,0,29,236], -"a03531.html#ga41beaf29ad684f5fae6046c689d6bcf1":[6,1,274], -"a03531.html#ga41beaf29ad684f5fae6046c689d6bcf1":[8,0,29,272], -"a03531.html#ga4203bbb296cd67d035066979657cf979":[6,1,112], -"a03531.html#ga4203bbb296cd67d035066979657cf979":[8,0,29,110], -"a03531.html#ga427e37c74bad23b251deb2274de6d703":[6,1,261], -"a03531.html#ga427e37c74bad23b251deb2274de6d703":[8,0,29,259], -"a03531.html#ga43bb6027c548274980a3ba42bdef51c9":[8,0,29,346], -"a03531.html#ga43bb6027c548274980a3ba42bdef51c9":[6,1,348], -"a03531.html#ga43cad9606d9b7c0e5875b1fa66108eb8":[6,1,243], -"a03531.html#ga43cad9606d9b7c0e5875b1fa66108eb8":[8,0,29,241], -"a03531.html#ga444d3fe4302ca95080d919dc89b1bc52":[8,0,29,317], -"a03531.html#ga444d3fe4302ca95080d919dc89b1bc52":[6,1,319], -"a03531.html#ga44ad135152469c980f9bf36a5f1477bb":[8,0,29,465], -"a03531.html#ga44ad135152469c980f9bf36a5f1477bb":[6,1,407], -"a03531.html#ga44ad135152469c980f9bf36a5f1477bb":[8,0,28,24], -"a03531.html#ga44cee4dee17a7c1a2618d11e8e5774dd":[6,1,123], -"a03531.html#ga44cee4dee17a7c1a2618d11e8e5774dd":[8,0,29,121], -"a03531.html#ga47c96fd19a050247f7c06e20c296b958":[8,0,29,464], -"a03531.html#ga47c96fd19a050247f7c06e20c296b958":[6,1,406], -"a03531.html#ga47c96fd19a050247f7c06e20c296b958":[8,0,28,23], -"a03531.html#ga49923a8835f64294a5e9b3660c80dc7e":[6,1,170], -"a03531.html#ga49923a8835f64294a5e9b3660c80dc7e":[8,0,29,168], -"a03531.html#ga49e390c29b6fc05df227604c169b86b0":[8,0,29,360], -"a03531.html#ga49e390c29b6fc05df227604c169b86b0":[6,1,362], -"a03531.html#ga49f538b630cc416a8ad1f6d784e3a1e4":[8,0,29,306], -"a03531.html#ga49f538b630cc416a8ad1f6d784e3a1e4":[6,1,308], -"a03531.html#ga4aa5b68bbd7847f53444608615653832":[8,0,29,308], -"a03531.html#ga4aa5b68bbd7847f53444608615653832":[6,1,310], -"a03531.html#ga4abde1839cbeb254d79f1deac8d42c9e":[6,1,148], -"a03531.html#ga4abde1839cbeb254d79f1deac8d42c9e":[8,0,29,146], -"a03531.html#ga4b1f89e4c4a24c058fddb3d936e76017":[6,1,269], -"a03531.html#ga4b1f89e4c4a24c058fddb3d936e76017":[8,0,29,267], -"a03531.html#ga4c05f7bd221df19c5c6ad1fe1f4709be":[6,1,60], -"a03531.html#ga4c05f7bd221df19c5c6ad1fe1f4709be":[8,0,29,58], -"a03531.html#ga4c65b241280290fae9fd4faa9d7a292b":[6,1,98], -"a03531.html#ga4c65b241280290fae9fd4faa9d7a292b":[8,0,29,96], -"a03531.html#ga4c987156ced719bbcf398ab6c76289c0":[6,1,278], -"a03531.html#ga4c987156ced719bbcf398ab6c76289c0":[8,0,29,276], -"a03531.html#ga4c998ee3d596f3006a4488bd8657df33":[6,1,110], -"a03531.html#ga4c998ee3d596f3006a4488bd8657df33":[8,0,29,108], -"a03531.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e":[8,0,29,329], -"a03531.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e":[6,1,331], -"a03531.html#ga4e3355c5ab7c48cfe466c9374ccc698e":[6,1,134], -"a03531.html#ga4e3355c5ab7c48cfe466c9374ccc698e":[8,0,29,132], -"a03531.html#ga4edf9367ffdc790e886166890fc814c1":[6,1,18], -"a03531.html#ga4edf9367ffdc790e886166890fc814c1":[8,0,29,16], -"a03531.html#ga4f6024d4d7e0fcd026fac40297db4c96":[6,1,150], -"a03531.html#ga4f6024d4d7e0fcd026fac40297db4c96":[8,0,29,148], -"a03531.html#ga516dbf4bbd2c4b366e0306890d0bca56":[8,0,29,88], -"a03531.html#ga516dbf4bbd2c4b366e0306890d0bca56":[6,1,90], -"a03531.html#ga51bd4fe709f11b3b50f47c2fb18976ca":[8,0,29,342], -"a03531.html#ga51bd4fe709f11b3b50f47c2fb18976ca":[6,1,344], -"a03531.html#ga53650471a7eef96ce0ef00cb6b8a6a9b":[6,1,215], -"a03531.html#ga53650471a7eef96ce0ef00cb6b8a6a9b":[8,0,29,213], -"a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[8,0,29,446], -"a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[6,1,388], -"a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[8,0,28,5], -"a03531.html#ga54155caf79f004ccf0a875cf3a0ef05b":[8,0,29,90], -"a03531.html#ga54155caf79f004ccf0a875cf3a0ef05b":[6,1,92], -"a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c":[8,0,29,442], -"a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c":[6,1,384], -"a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c":[8,0,28,1], -"a03531.html#ga5460e5bb2178eb95a3b8db8018d30617":[8,0,29,448], -"a03531.html#ga5460e5bb2178eb95a3b8db8018d30617":[6,1,390], -"a03531.html#ga5460e5bb2178eb95a3b8db8018d30617":[8,0,28,7], -"a03531.html#ga547efc6fa3cb0501b2e53f80023dff7e":[6,1,101], -"a03531.html#ga547efc6fa3cb0501b2e53f80023dff7e":[8,0,29,99], -"a03531.html#ga54f085984c6aaf826263a755fd3243d7":[8,0,29,283], -"a03531.html#ga54f085984c6aaf826263a755fd3243d7":[6,1,285], -"a03531.html#ga555bdf8fa32d4d47577f7748ca928389":[8,0,29,93], -"a03531.html#ga555bdf8fa32d4d47577f7748ca928389":[6,1,95], -"a03531.html#ga56306fca73ae0f43053787bafdac6a94":[8,0,29,218], -"a03531.html#ga56306fca73ae0f43053787bafdac6a94":[6,1,220], -"a03531.html#ga56448f81a8d04c6871b3422c496bf8b6":[8,0,29,87], -"a03531.html#ga56448f81a8d04c6871b3422c496bf8b6":[6,1,89], -"a03531.html#ga564f52346bfc03bdd50aa7d03974efe7":[6,1,188], -"a03531.html#ga564f52346bfc03bdd50aa7d03974efe7":[8,0,29,186], -"a03531.html#ga56e3f8d816e2068d80003fdee7d58763":[6,1,17], -"a03531.html#ga56e3f8d816e2068d80003fdee7d58763":[8,0,29,15], -"a03531.html#ga579676fd500ded40bc49dc53231fa658":[6,1,15], -"a03531.html#ga579676fd500ded40bc49dc53231fa658":[8,0,29,13], -"a03531.html#ga5859f9a2eb99b4636c894705047e9344":[8,0,29,305], -"a03531.html#ga5859f9a2eb99b4636c894705047e9344":[6,1,307], -"a03531.html#ga59b230043c3cd1fa0deafac6225238cb":[6,1,236], -"a03531.html#ga59b230043c3cd1fa0deafac6225238cb":[8,0,29,234], -"a03531.html#ga5b7ad7c3c75639352af5ad3b1298500c":[6,1,76], -"a03531.html#ga5b7ad7c3c75639352af5ad3b1298500c":[8,0,29,74], -"a03531.html#ga5cacc01be37cebf35e300be96893477e":[6,1,174], -"a03531.html#ga5cacc01be37cebf35e300be96893477e":[8,0,29,172], -"a03531.html#ga5da5f8005c1b2612b998afcbd823c716":[6,1,52], -"a03531.html#ga5da5f8005c1b2612b998afcbd823c716":[8,0,29,50], -"a03531.html#ga5dcc70feddb0b97c6fa779c6c3c819e6":[6,1,210], -"a03531.html#ga5dcc70feddb0b97c6fa779c6c3c819e6":[8,0,29,208], -"a03531.html#ga5ebee4d7d2d30a88ded25f9a6feecc52":[6,1,7], -"a03531.html#ga5ebee4d7d2d30a88ded25f9a6feecc52":[8,0,29,5], -"a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809":[8,0,29,463], -"a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809":[6,1,405], -"a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809":[8,0,28,22], -"a03531.html#ga609531b6e844f5a9eebd7c4dcd869b16":[6,1,175], -"a03531.html#ga609531b6e844f5a9eebd7c4dcd869b16":[8,0,29,173], -"a03531.html#ga612cbf6171e9a0a176e0bd2844f49528":[8,0,29,366], -"a03531.html#ga612cbf6171e9a0a176e0bd2844f49528":[6,1,368], -"a03531.html#ga6132b175668ba4d6efecca5986c007c0":[8,0,29,288], -"a03531.html#ga6132b175668ba4d6efecca5986c007c0":[6,1,290], -"a03531.html#ga62261a1c6f121c296dce7e0f697c9a4a":[6,1,189], -"a03531.html#ga62261a1c6f121c296dce7e0f697c9a4a":[8,0,29,187], -"a03531.html#ga625604e07a0618bd7d514faee5e42fba":[8,0,29,362], -"a03531.html#ga625604e07a0618bd7d514faee5e42fba":[6,1,364], -"a03531.html#ga62644ffb962c56fbea154526a2a84b40":[6,1,181], -"a03531.html#ga62644ffb962c56fbea154526a2a84b40":[8,0,29,179], -"a03531.html#ga62c9e80674303aea5f92d76c92d30d2b":[6,1,13], -"a03531.html#ga62c9e80674303aea5f92d76c92d30d2b":[8,0,29,11], -"a03531.html#ga6375d9724ac9ec208e22224c0a210fb3":[8,0,29,457], -"a03531.html#ga6375d9724ac9ec208e22224c0a210fb3":[6,1,399], -"a03531.html#ga6375d9724ac9ec208e22224c0a210fb3":[8,0,28,16], -"a03531.html#ga66287a8b6f625f866b5cecc4845993ed":[6,1,135], -"a03531.html#ga66287a8b6f625f866b5cecc4845993ed":[8,0,29,133], -"a03531.html#ga66a410dde8f388c582495ba315284276":[6,1,53], -"a03531.html#ga66a410dde8f388c582495ba315284276":[8,0,29,51], -"a03531.html#ga67ca82b396385dd18790b48d731dfe15":[6,1,77], -"a03531.html#ga67ca82b396385dd18790b48d731dfe15":[8,0,29,75], -"a03531.html#ga67e74cb132024711cf064ff98021d71f":[6,1,118], -"a03531.html#ga67e74cb132024711cf064ff98021d71f":[8,0,29,116], -"a03531.html#ga696c55d8590e9d1ac2571d6921f27573":[8,0,29,221], -"a03531.html#ga696c55d8590e9d1ac2571d6921f27573":[6,1,223], -"a03531.html#ga6a6daf9c5640ad80e7af330daad1f6ea":[6,1,122], -"a03531.html#ga6a6daf9c5640ad80e7af330daad1f6ea":[8,0,29,120], -"a03531.html#ga6bd6b85614792b8dabb6432f7a48151e":[6,1,254], -"a03531.html#ga6bd6b85614792b8dabb6432f7a48151e":[8,0,29,252], -"a03531.html#ga6ce84aad51d25e05139f83ac9ca2b162":[6,1,19], -"a03531.html#ga6ce84aad51d25e05139f83ac9ca2b162":[8,0,29,17], -"a03531.html#ga6e53cd97c61a185ca397ebed8dc3edcb":[6,1,61], -"a03531.html#ga6e53cd97c61a185ca397ebed8dc3edcb":[8,0,29,59], -"a03531.html#ga6e6b931cf58debb1a23b87c16c7b4d47":[6,1,273], -"a03531.html#ga6e6b931cf58debb1a23b87c16c7b4d47":[8,0,29,271], -"a03531.html#ga6eaf90b702c122de71a18a9b2bd43ba7":[8,0,29,27], -"a03531.html#ga6eaf90b702c122de71a18a9b2bd43ba7":[6,1,29], -"a03531.html#ga6f746e9967643e3234727eaa5a0b274b":[6,1,199], -"a03531.html#ga6f746e9967643e3234727eaa5a0b274b":[8,0,29,197], -"a03531.html#ga70457c61d44fbac0cb48727f53c39388":[6,1,212], -"a03531.html#ga70457c61d44fbac0cb48727f53c39388":[8,0,29,210], -"a03531.html#ga70f88a123587c96ad7affc1e5dae9002":[8,0,29,372], -"a03531.html#ga70f88a123587c96ad7affc1e5dae9002":[6,1,374], -"a03531.html#ga71b3c35d021e0ac507fdd6cd9538467f":[6,1,259], -"a03531.html#ga71b3c35d021e0ac507fdd6cd9538467f":[8,0,29,257], -"a03531.html#ga71bd7b920718c3bbf99d78eda569018c":[8,0,29,219], -"a03531.html#ga71bd7b920718c3bbf99d78eda569018c":[6,1,221], -"a03531.html#ga7216bb6f51f67f09e5372c7f731bf23a":[6,1,144], -"a03531.html#ga7216bb6f51f67f09e5372c7f731bf23a":[8,0,29,142], -"a03531.html#ga72cc5ecbdfa169d282776461ce48fda6":[6,1,2], -"a03531.html#ga72cc5ecbdfa169d282776461ce48fda6":[8,0,29,0], -"a03531.html#ga7432ca6b291e32e962fabaa6d604a8bc":[6,1,202], -"a03531.html#ga7432ca6b291e32e962fabaa6d604a8bc":[8,0,29,200], -"a03531.html#ga74490b179b34f9925e9fe00675e53713":[8,0,29,379], -"a03531.html#ga74490b179b34f9925e9fe00675e53713":[6,1,381], -"a03531.html#ga74a13b4b6304a02b4e006901b6ac1de5":[8,0,29,26], -"a03531.html#ga74a13b4b6304a02b4e006901b6ac1de5":[6,1,28], -"a03531.html#ga756539af7bcadf33dd3a9b2f60763f7a":[6,1,40], -"a03531.html#ga756539af7bcadf33dd3a9b2f60763f7a":[8,0,29,38], -"a03531.html#ga7599639f80f3ac2a0d22f2857138cb87":[8,0,29,357], -"a03531.html#ga7599639f80f3ac2a0d22f2857138cb87":[6,1,359], -"a03531.html#ga766a94a7e38b558e1165b24de78d21db":[6,1,143], -"a03531.html#ga766a94a7e38b558e1165b24de78d21db":[8,0,29,141], -"a03531.html#ga76bf5d4ce89c95c658328fe8e66669e7":[8,0,29,343], -"a03531.html#ga76bf5d4ce89c95c658328fe8e66669e7":[6,1,345], -"a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a":[8,0,29,443], -"a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a":[6,1,385], -"a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a":[8,0,28,2], -"a03531.html#ga773dce573d9ff453d2f49aa7fc48e210":[6,1,253], -"a03531.html#ga773dce573d9ff453d2f49aa7fc48e210":[8,0,29,251], -"a03531.html#ga77402cc8f4efbba6119bd57717c34ce4":[8,0,29,220], -"a03531.html#ga77402cc8f4efbba6119bd57717c34ce4":[6,1,222], -"a03531.html#ga77a516ab645b681ad7861d8b74e4a115":[6,1,213], -"a03531.html#ga77a516ab645b681ad7861d8b74e4a115":[8,0,29,211], -"a03531.html#ga798018a4ef489e8fb0a02b5edf7e9d55":[8,0,29,289], -"a03531.html#ga798018a4ef489e8fb0a02b5edf7e9d55":[6,1,291], -"a03531.html#ga7a57365768506315a6e3a6276508762c":[6,1,234], -"a03531.html#ga7a57365768506315a6e3a6276508762c":[8,0,29,232], -"a03531.html#ga7ae9dcc07ca9d990e9db6d8949ac935a":[8,0,29,297], -"a03531.html#ga7ae9dcc07ca9d990e9db6d8949ac935a":[6,1,299], -"a03531.html#ga7b24dc2030441b0bf952d8c297b22a41":[6,1,156], -"a03531.html#ga7b24dc2030441b0bf952d8c297b22a41":[8,0,29,154], -"a03531.html#ga7b2f5fb4edfbf4cb719aedbd7215b863":[6,1,12], -"a03531.html#ga7b2f5fb4edfbf4cb719aedbd7215b863":[8,0,29,10], -"a03531.html#ga7b7c499931480a88f6a106644c3d2185":[8,0,29,376], -"a03531.html#ga7b7c499931480a88f6a106644c3d2185":[6,1,378], -"a03531.html#ga7b90ca417a76facaeec91d8f2c10f860":[6,1,133], -"a03531.html#ga7b90ca417a76facaeec91d8f2c10f860":[8,0,29,131], -"a03531.html#ga7c365741639a5c7dc29267a130e8d827":[6,1,120], -"a03531.html#ga7c365741639a5c7dc29267a130e8d827":[8,0,29,118], -"a03531.html#ga7c675071c7fd650a29594c5fcc9882a1":[8,0,29,285], -"a03531.html#ga7c675071c7fd650a29594c5fcc9882a1":[6,1,287], -"a03531.html#ga7d786006183912073939b3f62075dd27":[6,1,65], -"a03531.html#ga7d786006183912073939b3f62075dd27":[8,0,29,63], -"a03531.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500":[6,1,151], -"a03531.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500":[8,0,29,149], -"a03531.html#ga7ff1918de6f8238ba4f67d9368e3587d":[8,0,29,337], -"a03531.html#ga7ff1918de6f8238ba4f67d9368e3587d":[6,1,339], -"a03531.html#ga80b8b54f333be5a587f22e2d04812de6":[8,0,29,300], -"a03531.html#ga80b8b54f333be5a587f22e2d04812de6":[6,1,302], -"a03531.html#ga814ad478cb05af339635633cbcd495b7":[8,0,29,30], -"a03531.html#ga814ad478cb05af339635633cbcd495b7":[6,1,32], -"a03531.html#ga8250b0997534871fdd6ead1c3aa220ba":[6,1,194], -"a03531.html#ga8250b0997534871fdd6ead1c3aa220ba":[8,0,29,192], -"a03531.html#ga8335b06c5f49c384e2c2f31861865a54":[6,1,20], -"a03531.html#ga8335b06c5f49c384e2c2f31861865a54":[8,0,29,18], -"a03531.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7":[6,1,131], -"a03531.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7":[8,0,29,129], -"a03531.html#ga84f07835d69fed7484299c78f4971a3e":[6,1,165], -"a03531.html#ga84f07835d69fed7484299c78f4971a3e":[8,0,29,163], -"a03531.html#ga84f7e63b8711e799da259862b170fd75":[8,0,29,24] +"a00906.html#ga2b2c07254f098dc8f8d87f2e09703adb":[7,1,154], +"a00906.html#ga2b2c07254f098dc8f8d87f2e09703adb":[9,0,34,152], +"a00906.html#ga2b70682af491ce76c45505cabafcf9c0":[7,1,205], +"a00906.html#ga2b70682af491ce76c45505cabafcf9c0":[9,0,34,203], +"a00906.html#ga2b86bf6731827368bf66eec960c35a32":[9,0,34,344], +"a00906.html#ga2b86bf6731827368bf66eec960c35a32":[7,1,346], +"a00906.html#ga2beb9e8360555ededb666ad845219fce":[9,0,34,468], +"a00906.html#ga2beb9e8360555ededb666ad845219fce":[7,1,410], +"a00906.html#ga2beb9e8360555ededb666ad845219fce":[9,0,33,27], +"a00906.html#ga2c26247a084a027f06a2aaf692313f12":[7,1,163], +"a00906.html#ga2c26247a084a027f06a2aaf692313f12":[9,0,34,161], +"a00906.html#ga2d04ced68d56c0db40b93b767de02089":[9,0,34,339], +"a00906.html#ga2d04ced68d56c0db40b93b767de02089":[7,1,341], +"a00906.html#ga2e025044ab9693b267e79f80e0a69cb1":[7,1,232], +"a00906.html#ga2e025044ab9693b267e79f80e0a69cb1":[9,0,34,230], +"a00906.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675":[9,0,34,298], +"a00906.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675":[7,1,300], +"a00906.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6":[7,1,198], +"a00906.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6":[9,0,34,196], +"a00906.html#ga3171c7ab4447a2e752706bed1072e694":[7,1,67], +"a00906.html#ga3171c7ab4447a2e752706bed1072e694":[9,0,34,65], +"a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814":[9,0,34,451], +"a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814":[7,1,393], +"a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814":[9,0,33,10], +"a00906.html#ga32c642907f4f326893fb6fccfce18707":[7,1,231], +"a00906.html#ga32c642907f4f326893fb6fccfce18707":[9,0,34,229], +"a00906.html#ga32d53cee52cd042a31f1adc934ad7a5a":[7,1,16], +"a00906.html#ga32d53cee52cd042a31f1adc934ad7a5a":[9,0,34,14], +"a00906.html#ga3495c2fd81985342858bac47300bcdc8":[7,1,142], +"a00906.html#ga3495c2fd81985342858bac47300bcdc8":[9,0,34,140], +"a00906.html#ga34be98ca6fb22f331eb62cfc4104ded6":[7,1,190], +"a00906.html#ga34be98ca6fb22f331eb62cfc4104ded6":[9,0,34,188], +"a00906.html#ga34ec73cf7504b560883a5d192fe88793":[7,1,8], +"a00906.html#ga34ec73cf7504b560883a5d192fe88793":[9,0,34,6], +"a00906.html#ga36122a4f84ec0c31330c3c0458304029":[7,1,47], +"a00906.html#ga36122a4f84ec0c31330c3c0458304029":[9,0,34,45], +"a00906.html#ga376a70cf087e157cbb914d9ca2e5b989":[9,0,34,313], +"a00906.html#ga376a70cf087e157cbb914d9ca2e5b989":[7,1,315], +"a00906.html#ga3785654ccbe309a87213aedb001ca39d":[9,0,34,242], +"a00906.html#ga3785654ccbe309a87213aedb001ca39d":[7,1,244], +"a00906.html#ga37e24393c3e995d47a09ad962b6b83de":[7,1,45], +"a00906.html#ga37e24393c3e995d47a09ad962b6b83de":[9,0,34,43], +"a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[9,0,34,467], +"a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[7,1,409], +"a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23":[9,0,33,26], +"a00906.html#ga3a3d3289c719d81f95b3d025a2564c9f":[7,1,137], +"a00906.html#ga3a3d3289c719d81f95b3d025a2564c9f":[9,0,34,135], +"a00906.html#ga3b69501fcc3e0cea0197fc0f6107916a":[9,0,34,240], +"a00906.html#ga3b69501fcc3e0cea0197fc0f6107916a":[7,1,242], +"a00906.html#ga3c7444c099cf0f89f754fd3cbec77bf4":[7,1,104], +"a00906.html#ga3c7444c099cf0f89f754fd3cbec77bf4":[9,0,34,102], +"a00906.html#ga3caf91c8e7ec183e0ad7b93dad9cb548":[7,1,66], +"a00906.html#ga3caf91c8e7ec183e0ad7b93dad9cb548":[9,0,34,64], +"a00906.html#ga3d287922c127b599204ea3bc64d4a825":[9,0,34,335], +"a00906.html#ga3d287922c127b599204ea3bc64d4a825":[7,1,337], +"a00906.html#ga3d37a5da1c43d44e49c4e6614d133c7e":[9,0,34,358], +"a00906.html#ga3d37a5da1c43d44e49c4e6614d133c7e":[7,1,360], +"a00906.html#ga3db7049de685080f046f0b4221de461b":[9,0,34,340], +"a00906.html#ga3db7049de685080f046f0b4221de461b":[7,1,342], +"a00906.html#ga3f54bd6d53a687ae3660196497e8faa1":[9,0,34,319], +"a00906.html#ga3f54bd6d53a687ae3660196497e8faa1":[7,1,321], +"a00906.html#ga3f7b636ed69136b5e5aa6d172cfd34e9":[7,1,34], +"a00906.html#ga3f7b636ed69136b5e5aa6d172cfd34e9":[9,0,34,32], +"a00906.html#ga40d926e0e037fc8bb265bb19f57e5d1a":[7,1,114], +"a00906.html#ga40d926e0e037fc8bb265bb19f57e5d1a":[9,0,34,112], +"a00906.html#ga41ad765834ce2cf37241f79b80857f79":[9,0,34,236], +"a00906.html#ga41ad765834ce2cf37241f79b80857f79":[7,1,238], +"a00906.html#ga41beaf29ad684f5fae6046c689d6bcf1":[9,0,34,272], +"a00906.html#ga41beaf29ad684f5fae6046c689d6bcf1":[7,1,274], +"a00906.html#ga4203bbb296cd67d035066979657cf979":[7,1,112], +"a00906.html#ga4203bbb296cd67d035066979657cf979":[9,0,34,110], +"a00906.html#ga427e37c74bad23b251deb2274de6d703":[9,0,34,259], +"a00906.html#ga427e37c74bad23b251deb2274de6d703":[7,1,261], +"a00906.html#ga43bb6027c548274980a3ba42bdef51c9":[9,0,34,346], +"a00906.html#ga43bb6027c548274980a3ba42bdef51c9":[7,1,348], +"a00906.html#ga43cad9606d9b7c0e5875b1fa66108eb8":[9,0,34,241], +"a00906.html#ga43cad9606d9b7c0e5875b1fa66108eb8":[7,1,243], +"a00906.html#ga444d3fe4302ca95080d919dc89b1bc52":[9,0,34,317], +"a00906.html#ga444d3fe4302ca95080d919dc89b1bc52":[7,1,319], +"a00906.html#ga44ad135152469c980f9bf36a5f1477bb":[9,0,34,465], +"a00906.html#ga44ad135152469c980f9bf36a5f1477bb":[7,1,407], +"a00906.html#ga44ad135152469c980f9bf36a5f1477bb":[9,0,33,24], +"a00906.html#ga44cee4dee17a7c1a2618d11e8e5774dd":[7,1,123], +"a00906.html#ga44cee4dee17a7c1a2618d11e8e5774dd":[9,0,34,121], +"a00906.html#ga47c96fd19a050247f7c06e20c296b958":[9,0,34,464], +"a00906.html#ga47c96fd19a050247f7c06e20c296b958":[7,1,406], +"a00906.html#ga47c96fd19a050247f7c06e20c296b958":[9,0,33,23], +"a00906.html#ga49923a8835f64294a5e9b3660c80dc7e":[7,1,170], +"a00906.html#ga49923a8835f64294a5e9b3660c80dc7e":[9,0,34,168], +"a00906.html#ga49e390c29b6fc05df227604c169b86b0":[9,0,34,360], +"a00906.html#ga49e390c29b6fc05df227604c169b86b0":[7,1,362], +"a00906.html#ga49f538b630cc416a8ad1f6d784e3a1e4":[9,0,34,306], +"a00906.html#ga49f538b630cc416a8ad1f6d784e3a1e4":[7,1,308], +"a00906.html#ga4aa5b68bbd7847f53444608615653832":[9,0,34,308], +"a00906.html#ga4aa5b68bbd7847f53444608615653832":[7,1,310], +"a00906.html#ga4abde1839cbeb254d79f1deac8d42c9e":[7,1,148], +"a00906.html#ga4abde1839cbeb254d79f1deac8d42c9e":[9,0,34,146], +"a00906.html#ga4b1f89e4c4a24c058fddb3d936e76017":[9,0,34,267], +"a00906.html#ga4b1f89e4c4a24c058fddb3d936e76017":[7,1,269], +"a00906.html#ga4c05f7bd221df19c5c6ad1fe1f4709be":[7,1,60], +"a00906.html#ga4c05f7bd221df19c5c6ad1fe1f4709be":[9,0,34,58], +"a00906.html#ga4c65b241280290fae9fd4faa9d7a292b":[7,1,98], +"a00906.html#ga4c65b241280290fae9fd4faa9d7a292b":[9,0,34,96], +"a00906.html#ga4c987156ced719bbcf398ab6c76289c0":[9,0,34,276], +"a00906.html#ga4c987156ced719bbcf398ab6c76289c0":[7,1,278], +"a00906.html#ga4c998ee3d596f3006a4488bd8657df33":[7,1,110], +"a00906.html#ga4c998ee3d596f3006a4488bd8657df33":[9,0,34,108], +"a00906.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e":[9,0,34,329], +"a00906.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e":[7,1,331], +"a00906.html#ga4e3355c5ab7c48cfe466c9374ccc698e":[7,1,134], +"a00906.html#ga4e3355c5ab7c48cfe466c9374ccc698e":[9,0,34,132], +"a00906.html#ga4edf9367ffdc790e886166890fc814c1":[7,1,18], +"a00906.html#ga4edf9367ffdc790e886166890fc814c1":[9,0,34,16], +"a00906.html#ga4f6024d4d7e0fcd026fac40297db4c96":[7,1,150], +"a00906.html#ga4f6024d4d7e0fcd026fac40297db4c96":[9,0,34,148], +"a00906.html#ga516dbf4bbd2c4b366e0306890d0bca56":[9,0,34,88], +"a00906.html#ga516dbf4bbd2c4b366e0306890d0bca56":[7,1,90], +"a00906.html#ga51bd4fe709f11b3b50f47c2fb18976ca":[9,0,34,342], +"a00906.html#ga51bd4fe709f11b3b50f47c2fb18976ca":[7,1,344], +"a00906.html#ga53650471a7eef96ce0ef00cb6b8a6a9b":[7,1,215], +"a00906.html#ga53650471a7eef96ce0ef00cb6b8a6a9b":[9,0,34,213], +"a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[9,0,34,446], +"a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[7,1,388], +"a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6":[9,0,33,5], +"a00906.html#ga54155caf79f004ccf0a875cf3a0ef05b":[9,0,34,90], +"a00906.html#ga54155caf79f004ccf0a875cf3a0ef05b":[7,1,92], +"a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c":[9,0,34,442], +"a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c":[9,0,33,1], +"a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c":[7,1,384], +"a00906.html#ga5460e5bb2178eb95a3b8db8018d30617":[9,0,34,448], +"a00906.html#ga5460e5bb2178eb95a3b8db8018d30617":[7,1,390], +"a00906.html#ga5460e5bb2178eb95a3b8db8018d30617":[9,0,33,7], +"a00906.html#ga547efc6fa3cb0501b2e53f80023dff7e":[7,1,101], +"a00906.html#ga547efc6fa3cb0501b2e53f80023dff7e":[9,0,34,99], +"a00906.html#ga54f085984c6aaf826263a755fd3243d7":[9,0,34,283], +"a00906.html#ga54f085984c6aaf826263a755fd3243d7":[7,1,285], +"a00906.html#ga555bdf8fa32d4d47577f7748ca928389":[9,0,34,93], +"a00906.html#ga555bdf8fa32d4d47577f7748ca928389":[7,1,95], +"a00906.html#ga56306fca73ae0f43053787bafdac6a94":[7,1,220], +"a00906.html#ga56306fca73ae0f43053787bafdac6a94":[9,0,34,218], +"a00906.html#ga56448f81a8d04c6871b3422c496bf8b6":[9,0,34,87], +"a00906.html#ga56448f81a8d04c6871b3422c496bf8b6":[7,1,89], +"a00906.html#ga564f52346bfc03bdd50aa7d03974efe7":[7,1,188], +"a00906.html#ga564f52346bfc03bdd50aa7d03974efe7":[9,0,34,186], +"a00906.html#ga56e3f8d816e2068d80003fdee7d58763":[7,1,17], +"a00906.html#ga56e3f8d816e2068d80003fdee7d58763":[9,0,34,15], +"a00906.html#ga579676fd500ded40bc49dc53231fa658":[7,1,15], +"a00906.html#ga579676fd500ded40bc49dc53231fa658":[9,0,34,13], +"a00906.html#ga5859f9a2eb99b4636c894705047e9344":[9,0,34,305], +"a00906.html#ga5859f9a2eb99b4636c894705047e9344":[7,1,307], +"a00906.html#ga59b230043c3cd1fa0deafac6225238cb":[7,1,236], +"a00906.html#ga59b230043c3cd1fa0deafac6225238cb":[9,0,34,234], +"a00906.html#ga5b7ad7c3c75639352af5ad3b1298500c":[7,1,76], +"a00906.html#ga5b7ad7c3c75639352af5ad3b1298500c":[9,0,34,74], +"a00906.html#ga5cacc01be37cebf35e300be96893477e":[7,1,174], +"a00906.html#ga5cacc01be37cebf35e300be96893477e":[9,0,34,172], +"a00906.html#ga5da5f8005c1b2612b998afcbd823c716":[7,1,52], +"a00906.html#ga5da5f8005c1b2612b998afcbd823c716":[9,0,34,50], +"a00906.html#ga5dcc70feddb0b97c6fa779c6c3c819e6":[7,1,210], +"a00906.html#ga5dcc70feddb0b97c6fa779c6c3c819e6":[9,0,34,208], +"a00906.html#ga5ebee4d7d2d30a88ded25f9a6feecc52":[7,1,7], +"a00906.html#ga5ebee4d7d2d30a88ded25f9a6feecc52":[9,0,34,5], +"a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809":[9,0,34,463], +"a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809":[7,1,405], +"a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809":[9,0,33,22], +"a00906.html#ga609531b6e844f5a9eebd7c4dcd869b16":[7,1,175], +"a00906.html#ga609531b6e844f5a9eebd7c4dcd869b16":[9,0,34,173], +"a00906.html#ga612cbf6171e9a0a176e0bd2844f49528":[9,0,34,366], +"a00906.html#ga612cbf6171e9a0a176e0bd2844f49528":[7,1,368], +"a00906.html#ga6132b175668ba4d6efecca5986c007c0":[9,0,34,288], +"a00906.html#ga6132b175668ba4d6efecca5986c007c0":[7,1,290], +"a00906.html#ga62261a1c6f121c296dce7e0f697c9a4a":[7,1,189], +"a00906.html#ga62261a1c6f121c296dce7e0f697c9a4a":[9,0,34,187], +"a00906.html#ga625604e07a0618bd7d514faee5e42fba":[9,0,34,362], +"a00906.html#ga625604e07a0618bd7d514faee5e42fba":[7,1,364], +"a00906.html#ga62644ffb962c56fbea154526a2a84b40":[7,1,181], +"a00906.html#ga62644ffb962c56fbea154526a2a84b40":[9,0,34,179], +"a00906.html#ga62c9e80674303aea5f92d76c92d30d2b":[7,1,13], +"a00906.html#ga62c9e80674303aea5f92d76c92d30d2b":[9,0,34,11], +"a00906.html#ga6375d9724ac9ec208e22224c0a210fb3":[9,0,34,457], +"a00906.html#ga6375d9724ac9ec208e22224c0a210fb3":[7,1,399], +"a00906.html#ga6375d9724ac9ec208e22224c0a210fb3":[9,0,33,16], +"a00906.html#ga66287a8b6f625f866b5cecc4845993ed":[7,1,135], +"a00906.html#ga66287a8b6f625f866b5cecc4845993ed":[9,0,34,133], +"a00906.html#ga66a410dde8f388c582495ba315284276":[7,1,53], +"a00906.html#ga66a410dde8f388c582495ba315284276":[9,0,34,51], +"a00906.html#ga67ca82b396385dd18790b48d731dfe15":[7,1,77], +"a00906.html#ga67ca82b396385dd18790b48d731dfe15":[9,0,34,75], +"a00906.html#ga67e74cb132024711cf064ff98021d71f":[7,1,118], +"a00906.html#ga67e74cb132024711cf064ff98021d71f":[9,0,34,116], +"a00906.html#ga696c55d8590e9d1ac2571d6921f27573":[7,1,223], +"a00906.html#ga696c55d8590e9d1ac2571d6921f27573":[9,0,34,221], +"a00906.html#ga6a6daf9c5640ad80e7af330daad1f6ea":[7,1,122], +"a00906.html#ga6a6daf9c5640ad80e7af330daad1f6ea":[9,0,34,120], +"a00906.html#ga6bd6b85614792b8dabb6432f7a48151e":[9,0,34,252], +"a00906.html#ga6bd6b85614792b8dabb6432f7a48151e":[7,1,254], +"a00906.html#ga6ce84aad51d25e05139f83ac9ca2b162":[7,1,19], +"a00906.html#ga6ce84aad51d25e05139f83ac9ca2b162":[9,0,34,17], +"a00906.html#ga6e53cd97c61a185ca397ebed8dc3edcb":[7,1,61], +"a00906.html#ga6e53cd97c61a185ca397ebed8dc3edcb":[9,0,34,59], +"a00906.html#ga6e6b931cf58debb1a23b87c16c7b4d47":[9,0,34,271], +"a00906.html#ga6e6b931cf58debb1a23b87c16c7b4d47":[7,1,273], +"a00906.html#ga6eaf90b702c122de71a18a9b2bd43ba7":[9,0,34,27], +"a00906.html#ga6eaf90b702c122de71a18a9b2bd43ba7":[7,1,29], +"a00906.html#ga6f746e9967643e3234727eaa5a0b274b":[7,1,199], +"a00906.html#ga6f746e9967643e3234727eaa5a0b274b":[9,0,34,197], +"a00906.html#ga70457c61d44fbac0cb48727f53c39388":[7,1,212], +"a00906.html#ga70457c61d44fbac0cb48727f53c39388":[9,0,34,210], +"a00906.html#ga70f88a123587c96ad7affc1e5dae9002":[9,0,34,372], +"a00906.html#ga70f88a123587c96ad7affc1e5dae9002":[7,1,374], +"a00906.html#ga71b3c35d021e0ac507fdd6cd9538467f":[9,0,34,257], +"a00906.html#ga71b3c35d021e0ac507fdd6cd9538467f":[7,1,259], +"a00906.html#ga71bd7b920718c3bbf99d78eda569018c":[7,1,221], +"a00906.html#ga71bd7b920718c3bbf99d78eda569018c":[9,0,34,219], +"a00906.html#ga7216bb6f51f67f09e5372c7f731bf23a":[7,1,144], +"a00906.html#ga7216bb6f51f67f09e5372c7f731bf23a":[9,0,34,142], +"a00906.html#ga72cc5ecbdfa169d282776461ce48fda6":[7,1,2], +"a00906.html#ga72cc5ecbdfa169d282776461ce48fda6":[9,0,34,0], +"a00906.html#ga7432ca6b291e32e962fabaa6d604a8bc":[7,1,202], +"a00906.html#ga7432ca6b291e32e962fabaa6d604a8bc":[9,0,34,200], +"a00906.html#ga74490b179b34f9925e9fe00675e53713":[9,0,34,379], +"a00906.html#ga74490b179b34f9925e9fe00675e53713":[7,1,381], +"a00906.html#ga74a13b4b6304a02b4e006901b6ac1de5":[9,0,34,26], +"a00906.html#ga74a13b4b6304a02b4e006901b6ac1de5":[7,1,28], +"a00906.html#ga756539af7bcadf33dd3a9b2f60763f7a":[7,1,40], +"a00906.html#ga756539af7bcadf33dd3a9b2f60763f7a":[9,0,34,38], +"a00906.html#ga7599639f80f3ac2a0d22f2857138cb87":[9,0,34,357], +"a00906.html#ga7599639f80f3ac2a0d22f2857138cb87":[7,1,359], +"a00906.html#ga766a94a7e38b558e1165b24de78d21db":[7,1,143], +"a00906.html#ga766a94a7e38b558e1165b24de78d21db":[9,0,34,141], +"a00906.html#ga76bf5d4ce89c95c658328fe8e66669e7":[9,0,34,343], +"a00906.html#ga76bf5d4ce89c95c658328fe8e66669e7":[7,1,345], +"a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a":[9,0,34,443], +"a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a":[7,1,385], +"a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a":[9,0,33,2], +"a00906.html#ga773dce573d9ff453d2f49aa7fc48e210":[9,0,34,251], +"a00906.html#ga773dce573d9ff453d2f49aa7fc48e210":[7,1,253], +"a00906.html#ga77402cc8f4efbba6119bd57717c34ce4":[7,1,222], +"a00906.html#ga77402cc8f4efbba6119bd57717c34ce4":[9,0,34,220], +"a00906.html#ga77a516ab645b681ad7861d8b74e4a115":[7,1,213], +"a00906.html#ga77a516ab645b681ad7861d8b74e4a115":[9,0,34,211], +"a00906.html#ga798018a4ef489e8fb0a02b5edf7e9d55":[9,0,34,289], +"a00906.html#ga798018a4ef489e8fb0a02b5edf7e9d55":[7,1,291], +"a00906.html#ga7a57365768506315a6e3a6276508762c":[7,1,234], +"a00906.html#ga7a57365768506315a6e3a6276508762c":[9,0,34,232], +"a00906.html#ga7ae9dcc07ca9d990e9db6d8949ac935a":[9,0,34,297], +"a00906.html#ga7ae9dcc07ca9d990e9db6d8949ac935a":[7,1,299], +"a00906.html#ga7b24dc2030441b0bf952d8c297b22a41":[7,1,156], +"a00906.html#ga7b24dc2030441b0bf952d8c297b22a41":[9,0,34,154], +"a00906.html#ga7b2f5fb4edfbf4cb719aedbd7215b863":[7,1,12] }; diff --git a/docs/html/navtreeindex4.js b/docs/html/navtreeindex4.js index 0aa9b25f1..0c7928540 100644 --- a/docs/html/navtreeindex4.js +++ b/docs/html/navtreeindex4.js @@ -1,253 +1,253 @@ var NAVTREEINDEX4 = { -"a03531.html#ga84f7e63b8711e799da259862b170fd75":[6,1,26], -"a03531.html#ga850ec56b408fccccaea5826d452c3a64":[8,0,29,375], -"a03531.html#ga850ec56b408fccccaea5826d452c3a64":[6,1,377], -"a03531.html#ga85c326c023bdc268c499eb33375f2270":[6,1,126], -"a03531.html#ga85c326c023bdc268c499eb33375f2270":[8,0,29,124], -"a03531.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c":[6,1,85], -"a03531.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c":[8,0,29,83], -"a03531.html#ga8760372110d92cea3570a5720db05de2":[6,1,71], -"a03531.html#ga8760372110d92cea3570a5720db05de2":[8,0,29,69], -"a03531.html#ga876298788a9270561dc279b7d4c92cb8":[6,1,268], -"a03531.html#ga876298788a9270561dc279b7d4c92cb8":[8,0,29,266], -"a03531.html#ga881ba1c37e33cf65c17983e93dd8c677":[8,0,29,455], -"a03531.html#ga881ba1c37e33cf65c17983e93dd8c677":[6,1,397], -"a03531.html#ga881ba1c37e33cf65c17983e93dd8c677":[8,0,28,14], -"a03531.html#ga882f14cac02df8282ccad2a43afc8a23":[6,1,80], -"a03531.html#ga882f14cac02df8282ccad2a43afc8a23":[8,0,29,78], -"a03531.html#ga890e2e40916e88caf596cff43be8ab23":[6,1,9], -"a03531.html#ga890e2e40916e88caf596cff43be8ab23":[8,0,29,7], -"a03531.html#ga8a5a586bdb0194be827417658836bf9c":[8,0,29,377], -"a03531.html#ga8a5a586bdb0194be827417658836bf9c":[6,1,379], -"a03531.html#ga8a5cce3cbccf46b91c8065559ad1a082":[6,1,252], -"a03531.html#ga8a5cce3cbccf46b91c8065559ad1a082":[8,0,29,250], -"a03531.html#ga8a61451b473025766f0b8aaf8cbe8878":[8,0,29,445], -"a03531.html#ga8a61451b473025766f0b8aaf8cbe8878":[6,1,387], -"a03531.html#ga8a61451b473025766f0b8aaf8cbe8878":[8,0,28,4], -"a03531.html#ga8ad263b7b321311a57db7600f18a555f":[8,0,29,290], -"a03531.html#ga8ad263b7b321311a57db7600f18a555f":[6,1,292], -"a03531.html#ga8cbce00b91b0ddfb3264c9c367a3699a":[6,1,3], -"a03531.html#ga8cbce00b91b0ddfb3264c9c367a3699a":[8,0,29,1], -"a03531.html#ga8d5f52e7dbb1ea5308517365bbec87b5":[6,1,217], -"a03531.html#ga8d5f52e7dbb1ea5308517365bbec87b5":[8,0,29,215], -"a03531.html#ga8d9a1e331d54bffb36f7b4e97af5d161":[6,1,179], -"a03531.html#ga8d9a1e331d54bffb36f7b4e97af5d161":[8,0,29,177], -"a03531.html#ga8e357a6e926176155fe47aba97d915fb":[8,0,29,92], -"a03531.html#ga8e357a6e926176155fe47aba97d915fb":[6,1,94], -"a03531.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b":[6,1,84], -"a03531.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b":[8,0,29,82], -"a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158":[8,0,29,447], -"a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158":[6,1,389], -"a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158":[8,0,28,6], -"a03531.html#ga9088fc1b89c3ca9b58901de000d8d55d":[6,1,113], -"a03531.html#ga9088fc1b89c3ca9b58901de000d8d55d":[8,0,29,111], -"a03531.html#ga908aece3a9501eb14a70c2b24a3e4089":[6,1,78], -"a03531.html#ga908aece3a9501eb14a70c2b24a3e4089":[8,0,29,76], -"a03531.html#ga90f529642e87edae132421b3777ec4b1":[6,1,237], -"a03531.html#ga90f529642e87edae132421b3777ec4b1":[8,0,29,235], -"a03531.html#ga9163acda5dd0653f40b6ad445f2c972d":[6,1,173], -"a03531.html#ga9163acda5dd0653f40b6ad445f2c972d":[8,0,29,171], -"a03531.html#ga91ebd87544ccdab3670cfbec8d23bd4a":[8,0,29,350], -"a03531.html#ga91ebd87544ccdab3670cfbec8d23bd4a":[6,1,352], -"a03531.html#ga921afead5f0a35822bc8263c3a1e1761":[6,1,262], -"a03531.html#ga921afead5f0a35822bc8263c3a1e1761":[8,0,29,260], -"a03531.html#ga9257968de99742ec468463a72588820f":[8,0,29,331], -"a03531.html#ga9257968de99742ec468463a72588820f":[6,1,333], -"a03531.html#ga928b142d4f3727104100dee0d0330f83":[6,1,158], -"a03531.html#ga928b142d4f3727104100dee0d0330f83":[8,0,29,156], -"a03531.html#ga93cb0fdfc89b69cb1c4670f30288f2ad":[6,1,107], -"a03531.html#ga93cb0fdfc89b69cb1c4670f30288f2ad":[8,0,29,105], -"a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9":[8,0,29,470], -"a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9":[8,0,28,29], -"a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9":[6,1,412], -"a03531.html#ga94d9bf52f1a6c7af3943eb92dd3967ef":[6,1,264], -"a03531.html#ga94d9bf52f1a6c7af3943eb92dd3967ef":[8,0,29,262], -"a03531.html#ga9599c4331857f1daa543a31fcce650fd":[6,1,38], -"a03531.html#ga9599c4331857f1daa543a31fcce650fd":[8,0,29,36], -"a03531.html#ga959e54d571acf81b608d5c6d535b0510":[6,1,239], -"a03531.html#ga959e54d571acf81b608d5c6d535b0510":[8,0,29,237], -"a03531.html#ga96b33dc28e87b1c1855b7f828a89594b":[8,0,29,449], -"a03531.html#ga96b33dc28e87b1c1855b7f828a89594b":[6,1,391], -"a03531.html#ga96b33dc28e87b1c1855b7f828a89594b":[8,0,28,8], -"a03531.html#ga97828be629e8f11561b58cb434c18b21":[6,1,246], -"a03531.html#ga97828be629e8f11561b58cb434c18b21":[8,0,29,244], -"a03531.html#ga97ca81334088c297c577f4b4aaced3cf":[8,0,29,281], -"a03531.html#ga97ca81334088c297c577f4b4aaced3cf":[6,1,283], -"a03531.html#ga98721952094435f45bffa352dd6848ad":[6,1,282], -"a03531.html#ga98721952094435f45bffa352dd6848ad":[8,0,29,280], -"a03531.html#ga988fff8295c1914217b8543b614f556c":[8,0,29,89], -"a03531.html#ga988fff8295c1914217b8543b614f556c":[6,1,91], -"a03531.html#ga98be7c54d55328daa4390a816c9bb243":[8,0,29,286], -"a03531.html#ga98be7c54d55328daa4390a816c9bb243":[6,1,288], -"a03531.html#ga99bca33105a872e8a20fe199cc17219b":[8,0,29,299], -"a03531.html#ga99bca33105a872e8a20fe199cc17219b":[6,1,301], -"a03531.html#ga9a089181beb38a1e5c5add58e96302bc":[8,0,29,29], -"a03531.html#ga9a089181beb38a1e5c5add58e96302bc":[6,1,31], -"a03531.html#ga9a7fddf245cba834f86e0b63f2b14dc1":[6,1,279], -"a03531.html#ga9a7fddf245cba834f86e0b63f2b14dc1":[8,0,29,277], -"a03531.html#ga9b7c3aca6168b52321e1951893efa050":[8,0,29,345], -"a03531.html#ga9b7c3aca6168b52321e1951893efa050":[6,1,347], -"a03531.html#ga9bf558eb7c48b79f3df382c3ec7d454d":[6,1,157], -"a03531.html#ga9bf558eb7c48b79f3df382c3ec7d454d":[8,0,29,155], -"a03531.html#ga9cab0c5dd2e3796497a5237f101f19e0":[6,1,164], -"a03531.html#ga9cab0c5dd2e3796497a5237f101f19e0":[8,0,29,162], -"a03531.html#ga9cc740e22e15f08a8b90873a2b3b47e8":[6,1,197], -"a03531.html#ga9cc740e22e15f08a8b90873a2b3b47e8":[8,0,29,195], -"a03531.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac":[6,1,206], -"a03531.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac":[8,0,29,204], -"a03531.html#ga9e84a71fc7e3ba613779aeb8d740eb23":[6,1,64], -"a03531.html#ga9e84a71fc7e3ba613779aeb8d740eb23":[8,0,29,62], -"a03531.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef":[6,1,22], -"a03531.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef":[8,0,29,20], -"a03531.html#gaa0843d9ec7e246455483a1fb1fdf3a07":[6,1,56], -"a03531.html#gaa0843d9ec7e246455483a1fb1fdf3a07":[8,0,29,54], -"a03531.html#gaa0eacfa4e596c3eb572753b7f5171276":[6,1,59], -"a03531.html#gaa0eacfa4e596c3eb572753b7f5171276":[8,0,29,57], -"a03531.html#gaa16bfad9cb883d258befaacadb3385ef":[8,0,29,354], -"a03531.html#gaa16bfad9cb883d258befaacadb3385ef":[6,1,356], -"a03531.html#gaa21e10945076d803129feb07946591f9":[6,1,146], -"a03531.html#gaa21e10945076d803129feb07946591f9":[8,0,29,144], -"a03531.html#gaa32b46f2c058ee54377d0cbef1ec8764":[6,1,102], -"a03531.html#gaa32b46f2c058ee54377d0cbef1ec8764":[8,0,29,100], -"a03531.html#gaa3984c137090a2d103b2089c7ac31642":[6,1,177], -"a03531.html#gaa3984c137090a2d103b2089c7ac31642":[8,0,29,175], -"a03531.html#gaa3f4cdb700e47737058c174a1f156707":[6,1,240], -"a03531.html#gaa3f4cdb700e47737058c174a1f156707":[8,0,29,238], -"a03531.html#gaa44ecaa440ab845d5939333171476adf":[6,1,121], -"a03531.html#gaa44ecaa440ab845d5939333171476adf":[8,0,29,119], -"a03531.html#gaa466dfdf174c134a11f578d1731990ef":[6,1,263], -"a03531.html#gaa466dfdf174c134a11f578d1731990ef":[8,0,29,261], -"a03531.html#gaa569255bc251cd90cb2d0f6b710164bc":[6,1,62], -"a03531.html#gaa569255bc251cd90cb2d0f6b710164bc":[8,0,29,60], -"a03531.html#gaa56ce725d85dcfbf7c217a748ca0a8b1":[6,1,152], -"a03531.html#gaa56ce725d85dcfbf7c217a748ca0a8b1":[8,0,29,150], -"a03531.html#gaa5b4cb5be95861466fff33fe0d5a9020":[6,1,216], -"a03531.html#gaa5b4cb5be95861466fff33fe0d5a9020":[8,0,29,214], -"a03531.html#gaa667451bf2e061c3e76a7a8a5d8b86d4":[6,1,159], -"a03531.html#gaa667451bf2e061c3e76a7a8a5d8b86d4":[8,0,29,157], -"a03531.html#gaa66ad8429261c1ba13d064d660d6d464":[8,0,29,311], -"a03531.html#gaa66ad8429261c1ba13d064d660d6d464":[6,1,313], -"a03531.html#gaa72601de2238c09393f120f68abf66a4":[6,1,258], -"a03531.html#gaa72601de2238c09393f120f68abf66a4":[8,0,29,256], -"a03531.html#gaa914251d0e03f7d1850ee04296715f14":[8,0,29,303], -"a03531.html#gaa914251d0e03f7d1850ee04296715f14":[6,1,305], -"a03531.html#gaaabcd1e4afb29088a17f7e87e7136e24":[6,1,115], -"a03531.html#gaaabcd1e4afb29088a17f7e87e7136e24":[8,0,29,113], -"a03531.html#gaab5bc48599e5f6b938901739f4f46fa7":[8,0,29,469], -"a03531.html#gaab5bc48599e5f6b938901739f4f46fa7":[8,0,28,28], -"a03531.html#gaab5bc48599e5f6b938901739f4f46fa7":[6,1,411], -"a03531.html#gaabaee03887c7e4403ac4936d9cde406e":[6,1,25], -"a03531.html#gaabaee03887c7e4403ac4936d9cde406e":[8,0,29,23], -"a03531.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39":[6,1,255], -"a03531.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39":[8,0,29,253], -"a03531.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0":[8,0,29,296], -"a03531.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0":[6,1,298], -"a03531.html#gaac36b471fe92c252dd02a9d1cc2c65e2":[8,0,29,338], -"a03531.html#gaac36b471fe92c252dd02a9d1cc2c65e2":[6,1,340], -"a03531.html#gaac4e75cf70cf0cf946216ffefaf65525":[6,1,49], -"a03531.html#gaac4e75cf70cf0cf946216ffefaf65525":[8,0,29,47], -"a03531.html#gaadb200c87d6dedb5768eeb8395e697c2":[6,1,132], -"a03531.html#gaadb200c87d6dedb5768eeb8395e697c2":[8,0,29,130], -"a03531.html#gaadcf0e639c6da291ddcb7fed49f1f967":[8,0,29,223], -"a03531.html#gaadcf0e639c6da291ddcb7fed49f1f967":[6,1,225], -"a03531.html#gaae24f308513ed54fc7c41b39bc05760b":[6,1,209], -"a03531.html#gaae24f308513ed54fc7c41b39bc05760b":[8,0,29,207], -"a03531.html#gaae5866a78d2f0464b04eee9ef1f97030":[8,0,29,454], -"a03531.html#gaae5866a78d2f0464b04eee9ef1f97030":[6,1,396], -"a03531.html#gaae5866a78d2f0464b04eee9ef1f97030":[8,0,28,13], -"a03531.html#gaae92bdb9d72ad6bd2193cbf0e672d46e":[6,1,226], -"a03531.html#gaae92bdb9d72ad6bd2193cbf0e672d46e":[8,0,29,224], -"a03531.html#gaaf599e8acc392c2ef07eba93eafc474d":[6,1,267], -"a03531.html#gaaf599e8acc392c2ef07eba93eafc474d":[8,0,29,265], -"a03531.html#gaaffdf30ca558bdd5f772578742835306":[6,1,280], -"a03531.html#gaaffdf30ca558bdd5f772578742835306":[8,0,29,278], -"a03531.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771":[8,0,29,94], -"a03531.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771":[6,1,96], -"a03531.html#gab0937e5d717246f51a244e3369e554e6":[8,0,29,458], -"a03531.html#gab0937e5d717246f51a244e3369e554e6":[6,1,400], -"a03531.html#gab0937e5d717246f51a244e3369e554e6":[8,0,28,17], -"a03531.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0":[6,1,83], -"a03531.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0":[8,0,29,81], -"a03531.html#gab24f797b7c19e899ef753d9901850e44":[6,1,14], -"a03531.html#gab24f797b7c19e899ef753d9901850e44":[8,0,29,12], -"a03531.html#gab2c08e9a862fce29e741ef2b75918a8e":[8,0,29,31], -"a03531.html#gab2c08e9a862fce29e741ef2b75918a8e":[6,1,33], -"a03531.html#gab4657866a69a00b9b3bfa4df51521fa6":[8,0,29,341], -"a03531.html#gab4657866a69a00b9b3bfa4df51521fa6":[6,1,343], -"a03531.html#gab568e0ec9f976d91d7940c227e8d73ee":[8,0,29,295], -"a03531.html#gab568e0ec9f976d91d7940c227e8d73ee":[6,1,297], -"a03531.html#gab65b17098ebc6027a9240ca84c07ab5c":[8,0,29,312], -"a03531.html#gab65b17098ebc6027a9240ca84c07ab5c":[6,1,314], -"a03531.html#gab6782a07fce203169aba6dd32f8ab123":[6,1,171], -"a03531.html#gab6782a07fce203169aba6dd32f8ab123":[8,0,29,169], -"a03531.html#gab79b57111a49362bd51922813cb84355":[6,1,167], -"a03531.html#gab79b57111a49362bd51922813cb84355":[8,0,29,165], -"a03531.html#gab887d70e4a421cf2bcab6b77feba4134":[8,0,29,291], -"a03531.html#gab887d70e4a421cf2bcab6b77feba4134":[6,1,293], -"a03531.html#gaba4a495c2021c837c6de4cdeaaf64813":[8,0,29,450], -"a03531.html#gaba4a495c2021c837c6de4cdeaaf64813":[6,1,392], -"a03531.html#gaba4a495c2021c837c6de4cdeaaf64813":[8,0,28,9], -"a03531.html#gaba61a1bd245d7471e59a39577498065b":[6,1,168], -"a03531.html#gaba61a1bd245d7471e59a39577498065b":[8,0,29,166], -"a03531.html#gaba7cf525ec69429e947f294361e1cdab":[8,0,29,314], -"a03531.html#gaba7cf525ec69429e947f294361e1cdab":[6,1,316], -"a03531.html#gabaaa930c2275599fcc3d83cfc02bfafe":[6,1,72], -"a03531.html#gabaaa930c2275599fcc3d83cfc02bfafe":[8,0,29,70], -"a03531.html#gabae30386c46658676cf11de7bec27138":[8,0,29,216], -"a03531.html#gabae30386c46658676cf11de7bec27138":[6,1,218], -"a03531.html#gabbbbd4cd4cc05e2ea023f059676aa37e":[6,1,11], -"a03531.html#gabbbbd4cd4cc05e2ea023f059676aa37e":[8,0,29,9], -"a03531.html#gabbfeec0d0247336b8c6e993d4db17d11":[8,0,29,364], -"a03531.html#gabbfeec0d0247336b8c6e993d4db17d11":[6,1,366], -"a03531.html#gabc21880360bdce990ad724fa7a7d9bf0":[6,1,166], -"a03531.html#gabc21880360bdce990ad724fa7a7d9bf0":[8,0,29,164], -"a03531.html#gabc722de99f444668d09e3815fcc78400":[6,1,130], -"a03531.html#gabc722de99f444668d09e3815fcc78400":[8,0,29,128], -"a03531.html#gabd28a29107703b43a734301acf491f5c":[8,0,29,330], -"a03531.html#gabd28a29107703b43a734301acf491f5c":[6,1,332], -"a03531.html#gabdbb7fc88ccf13d556dce6de3df9ce1b":[6,1,250], -"a03531.html#gabdbb7fc88ccf13d556dce6de3df9ce1b":[8,0,29,248], -"a03531.html#gabe16121ea22ed08080997a2cfae1c125":[6,1,24], -"a03531.html#gabe16121ea22ed08080997a2cfae1c125":[8,0,29,22], -"a03531.html#gabeef4ff866116f4e17a6c3ad94b0a286":[6,1,117], -"a03531.html#gabeef4ff866116f4e17a6c3ad94b0a286":[8,0,29,115], -"a03531.html#gabf2bad62bab02224f51d67f6725575a4":[8,0,29,333], -"a03531.html#gabf2bad62bab02224f51d67f6725575a4":[6,1,335], -"a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[8,0,29,473], -"a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[8,0,28,32], -"a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[6,1,415], -"a03531.html#gac0386500d37b5502158a62b8d864580f":[6,1,136], -"a03531.html#gac0386500d37b5502158a62b8d864580f":[8,0,29,134], -"a03531.html#gac049629a826435702055cc8279db76bb":[6,1,229], -"a03531.html#gac049629a826435702055cc8279db76bb":[8,0,29,227], -"a03531.html#gac0fb0edb797b754a069e12931a001257":[6,1,203], -"a03531.html#gac0fb0edb797b754a069e12931a001257":[8,0,29,201], -"a03531.html#gac101f854026596231715eca664550e36":[6,1,161], -"a03531.html#gac101f854026596231715eca664550e36":[8,0,29,159], -"a03531.html#gac227802d9a5680688ac4c2b23b38273c":[6,1,54], -"a03531.html#gac227802d9a5680688ac4c2b23b38273c":[8,0,29,52], -"a03531.html#gac2d5b5de26d0318ba6db3ad1055eb6ec":[6,1,162], -"a03531.html#gac2d5b5de26d0318ba6db3ad1055eb6ec":[8,0,29,160], -"a03531.html#gac3b1177210ba941afa527bacbcfd4fab":[6,1,191], -"a03531.html#gac3b1177210ba941afa527bacbcfd4fab":[8,0,29,189], -"a03531.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad":[6,1,119], -"a03531.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad":[8,0,29,117], -"a03531.html#gac3f89b5db216fd58ae2de3ebd52e26c5":[6,1,138], -"a03531.html#gac3f89b5db216fd58ae2de3ebd52e26c5":[8,0,29,136], -"a03531.html#gac51f4a863e071bce52c995ddae7e2144":[8,0,29,293], -"a03531.html#gac51f4a863e071bce52c995ddae7e2144":[6,1,295], -"a03531.html#gac649ffd477409f414dfcc7e38c19e203":[8,0,29,456], -"a03531.html#gac649ffd477409f414dfcc7e38c19e203":[6,1,398], -"a03531.html#gac649ffd477409f414dfcc7e38c19e203":[8,0,28,15], -"a03531.html#gac6d810ee00947694d9b95d95db0b2f3c":[6,1,140], -"a03531.html#gac6d810ee00947694d9b95d95db0b2f3c":[8,0,29,138], -"a03531.html#gac7e5a54695b8bd9e5087ebb94df70b39":[8,0,29,367], -"a03531.html#gac7e5a54695b8bd9e5087ebb94df70b39":[6,1,369], -"a03531.html#gac846e3f7c924497d70254125dae38dce":[8,0,29,316], -"a03531.html#gac846e3f7c924497d70254125dae38dce":[6,1,318], -"a03531.html#gac9405ff4647b09a6d8ab7a4d8a091ee8":[6,1,42], -"a03531.html#gac9405ff4647b09a6d8ab7a4d8a091ee8":[8,0,29,40], -"a03531.html#gac978ae798bc2c020c7b8a2e5a258016e":[6,1,35], -"a03531.html#gac978ae798bc2c020c7b8a2e5a258016e":[8,0,29,33] +"a00906.html#ga7b2f5fb4edfbf4cb719aedbd7215b863":[9,0,34,10], +"a00906.html#ga7b7c499931480a88f6a106644c3d2185":[9,0,34,376], +"a00906.html#ga7b7c499931480a88f6a106644c3d2185":[7,1,378], +"a00906.html#ga7b90ca417a76facaeec91d8f2c10f860":[7,1,133], +"a00906.html#ga7b90ca417a76facaeec91d8f2c10f860":[9,0,34,131], +"a00906.html#ga7c365741639a5c7dc29267a130e8d827":[7,1,120], +"a00906.html#ga7c365741639a5c7dc29267a130e8d827":[9,0,34,118], +"a00906.html#ga7c675071c7fd650a29594c5fcc9882a1":[9,0,34,285], +"a00906.html#ga7c675071c7fd650a29594c5fcc9882a1":[7,1,287], +"a00906.html#ga7d786006183912073939b3f62075dd27":[7,1,65], +"a00906.html#ga7d786006183912073939b3f62075dd27":[9,0,34,63], +"a00906.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500":[7,1,151], +"a00906.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500":[9,0,34,149], +"a00906.html#ga7ff1918de6f8238ba4f67d9368e3587d":[9,0,34,337], +"a00906.html#ga7ff1918de6f8238ba4f67d9368e3587d":[7,1,339], +"a00906.html#ga80b8b54f333be5a587f22e2d04812de6":[9,0,34,300], +"a00906.html#ga80b8b54f333be5a587f22e2d04812de6":[7,1,302], +"a00906.html#ga814ad478cb05af339635633cbcd495b7":[9,0,34,30], +"a00906.html#ga814ad478cb05af339635633cbcd495b7":[7,1,32], +"a00906.html#ga8250b0997534871fdd6ead1c3aa220ba":[7,1,194], +"a00906.html#ga8250b0997534871fdd6ead1c3aa220ba":[9,0,34,192], +"a00906.html#ga8335b06c5f49c384e2c2f31861865a54":[7,1,20], +"a00906.html#ga8335b06c5f49c384e2c2f31861865a54":[9,0,34,18], +"a00906.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7":[7,1,131], +"a00906.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7":[9,0,34,129], +"a00906.html#ga84f07835d69fed7484299c78f4971a3e":[7,1,165], +"a00906.html#ga84f07835d69fed7484299c78f4971a3e":[9,0,34,163], +"a00906.html#ga84f7e63b8711e799da259862b170fd75":[9,0,34,24], +"a00906.html#ga84f7e63b8711e799da259862b170fd75":[7,1,26], +"a00906.html#ga850ec56b408fccccaea5826d452c3a64":[9,0,34,375], +"a00906.html#ga850ec56b408fccccaea5826d452c3a64":[7,1,377], +"a00906.html#ga85c326c023bdc268c499eb33375f2270":[7,1,126], +"a00906.html#ga85c326c023bdc268c499eb33375f2270":[9,0,34,124], +"a00906.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c":[7,1,85], +"a00906.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c":[9,0,34,83], +"a00906.html#ga8760372110d92cea3570a5720db05de2":[7,1,71], +"a00906.html#ga8760372110d92cea3570a5720db05de2":[9,0,34,69], +"a00906.html#ga876298788a9270561dc279b7d4c92cb8":[9,0,34,266], +"a00906.html#ga876298788a9270561dc279b7d4c92cb8":[7,1,268], +"a00906.html#ga881ba1c37e33cf65c17983e93dd8c677":[9,0,34,455], +"a00906.html#ga881ba1c37e33cf65c17983e93dd8c677":[7,1,397], +"a00906.html#ga881ba1c37e33cf65c17983e93dd8c677":[9,0,33,14], +"a00906.html#ga882f14cac02df8282ccad2a43afc8a23":[7,1,80], +"a00906.html#ga882f14cac02df8282ccad2a43afc8a23":[9,0,34,78], +"a00906.html#ga890e2e40916e88caf596cff43be8ab23":[7,1,9], +"a00906.html#ga890e2e40916e88caf596cff43be8ab23":[9,0,34,7], +"a00906.html#ga8a5a586bdb0194be827417658836bf9c":[9,0,34,377], +"a00906.html#ga8a5a586bdb0194be827417658836bf9c":[7,1,379], +"a00906.html#ga8a5cce3cbccf46b91c8065559ad1a082":[9,0,34,250], +"a00906.html#ga8a5cce3cbccf46b91c8065559ad1a082":[7,1,252], +"a00906.html#ga8a61451b473025766f0b8aaf8cbe8878":[9,0,34,445], +"a00906.html#ga8a61451b473025766f0b8aaf8cbe8878":[7,1,387], +"a00906.html#ga8a61451b473025766f0b8aaf8cbe8878":[9,0,33,4], +"a00906.html#ga8ad263b7b321311a57db7600f18a555f":[9,0,34,290], +"a00906.html#ga8ad263b7b321311a57db7600f18a555f":[7,1,292], +"a00906.html#ga8cbce00b91b0ddfb3264c9c367a3699a":[7,1,3], +"a00906.html#ga8cbce00b91b0ddfb3264c9c367a3699a":[9,0,34,1], +"a00906.html#ga8d5f52e7dbb1ea5308517365bbec87b5":[7,1,217], +"a00906.html#ga8d5f52e7dbb1ea5308517365bbec87b5":[9,0,34,215], +"a00906.html#ga8d9a1e331d54bffb36f7b4e97af5d161":[7,1,179], +"a00906.html#ga8d9a1e331d54bffb36f7b4e97af5d161":[9,0,34,177], +"a00906.html#ga8e357a6e926176155fe47aba97d915fb":[9,0,34,92], +"a00906.html#ga8e357a6e926176155fe47aba97d915fb":[7,1,94], +"a00906.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b":[7,1,84], +"a00906.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b":[9,0,34,82], +"a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158":[9,0,34,447], +"a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158":[7,1,389], +"a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158":[9,0,33,6], +"a00906.html#ga9088fc1b89c3ca9b58901de000d8d55d":[7,1,113], +"a00906.html#ga9088fc1b89c3ca9b58901de000d8d55d":[9,0,34,111], +"a00906.html#ga908aece3a9501eb14a70c2b24a3e4089":[7,1,78], +"a00906.html#ga908aece3a9501eb14a70c2b24a3e4089":[9,0,34,76], +"a00906.html#ga90f529642e87edae132421b3777ec4b1":[9,0,34,235], +"a00906.html#ga90f529642e87edae132421b3777ec4b1":[7,1,237], +"a00906.html#ga9163acda5dd0653f40b6ad445f2c972d":[7,1,173], +"a00906.html#ga9163acda5dd0653f40b6ad445f2c972d":[9,0,34,171], +"a00906.html#ga91ebd87544ccdab3670cfbec8d23bd4a":[9,0,34,350], +"a00906.html#ga91ebd87544ccdab3670cfbec8d23bd4a":[7,1,352], +"a00906.html#ga921afead5f0a35822bc8263c3a1e1761":[9,0,34,260], +"a00906.html#ga921afead5f0a35822bc8263c3a1e1761":[7,1,262], +"a00906.html#ga9257968de99742ec468463a72588820f":[9,0,34,331], +"a00906.html#ga9257968de99742ec468463a72588820f":[7,1,333], +"a00906.html#ga928b142d4f3727104100dee0d0330f83":[7,1,158], +"a00906.html#ga928b142d4f3727104100dee0d0330f83":[9,0,34,156], +"a00906.html#ga93cb0fdfc89b69cb1c4670f30288f2ad":[7,1,107], +"a00906.html#ga93cb0fdfc89b69cb1c4670f30288f2ad":[9,0,34,105], +"a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9":[9,0,34,470], +"a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9":[7,1,412], +"a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9":[9,0,33,29], +"a00906.html#ga94d9bf52f1a6c7af3943eb92dd3967ef":[9,0,34,262], +"a00906.html#ga94d9bf52f1a6c7af3943eb92dd3967ef":[7,1,264], +"a00906.html#ga9599c4331857f1daa543a31fcce650fd":[7,1,38], +"a00906.html#ga9599c4331857f1daa543a31fcce650fd":[9,0,34,36], +"a00906.html#ga959e54d571acf81b608d5c6d535b0510":[9,0,34,237], +"a00906.html#ga959e54d571acf81b608d5c6d535b0510":[7,1,239], +"a00906.html#ga96b33dc28e87b1c1855b7f828a89594b":[9,0,34,449], +"a00906.html#ga96b33dc28e87b1c1855b7f828a89594b":[7,1,391], +"a00906.html#ga96b33dc28e87b1c1855b7f828a89594b":[9,0,33,8], +"a00906.html#ga97828be629e8f11561b58cb434c18b21":[9,0,34,244], +"a00906.html#ga97828be629e8f11561b58cb434c18b21":[7,1,246], +"a00906.html#ga97ca81334088c297c577f4b4aaced3cf":[9,0,34,281], +"a00906.html#ga97ca81334088c297c577f4b4aaced3cf":[7,1,283], +"a00906.html#ga98721952094435f45bffa352dd6848ad":[9,0,34,280], +"a00906.html#ga98721952094435f45bffa352dd6848ad":[7,1,282], +"a00906.html#ga988fff8295c1914217b8543b614f556c":[9,0,34,89], +"a00906.html#ga988fff8295c1914217b8543b614f556c":[7,1,91], +"a00906.html#ga98be7c54d55328daa4390a816c9bb243":[9,0,34,286], +"a00906.html#ga98be7c54d55328daa4390a816c9bb243":[7,1,288], +"a00906.html#ga99bca33105a872e8a20fe199cc17219b":[9,0,34,299], +"a00906.html#ga99bca33105a872e8a20fe199cc17219b":[7,1,301], +"a00906.html#ga9a089181beb38a1e5c5add58e96302bc":[9,0,34,29], +"a00906.html#ga9a089181beb38a1e5c5add58e96302bc":[7,1,31], +"a00906.html#ga9a7fddf245cba834f86e0b63f2b14dc1":[9,0,34,277], +"a00906.html#ga9a7fddf245cba834f86e0b63f2b14dc1":[7,1,279], +"a00906.html#ga9b7c3aca6168b52321e1951893efa050":[9,0,34,345], +"a00906.html#ga9b7c3aca6168b52321e1951893efa050":[7,1,347], +"a00906.html#ga9bf558eb7c48b79f3df382c3ec7d454d":[7,1,157], +"a00906.html#ga9bf558eb7c48b79f3df382c3ec7d454d":[9,0,34,155], +"a00906.html#ga9cab0c5dd2e3796497a5237f101f19e0":[7,1,164], +"a00906.html#ga9cab0c5dd2e3796497a5237f101f19e0":[9,0,34,162], +"a00906.html#ga9cc740e22e15f08a8b90873a2b3b47e8":[7,1,197], +"a00906.html#ga9cc740e22e15f08a8b90873a2b3b47e8":[9,0,34,195], +"a00906.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac":[7,1,206], +"a00906.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac":[9,0,34,204], +"a00906.html#ga9e84a71fc7e3ba613779aeb8d740eb23":[7,1,64], +"a00906.html#ga9e84a71fc7e3ba613779aeb8d740eb23":[9,0,34,62], +"a00906.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef":[7,1,22], +"a00906.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef":[9,0,34,20], +"a00906.html#gaa0843d9ec7e246455483a1fb1fdf3a07":[7,1,56], +"a00906.html#gaa0843d9ec7e246455483a1fb1fdf3a07":[9,0,34,54], +"a00906.html#gaa0eacfa4e596c3eb572753b7f5171276":[7,1,59], +"a00906.html#gaa0eacfa4e596c3eb572753b7f5171276":[9,0,34,57], +"a00906.html#gaa16bfad9cb883d258befaacadb3385ef":[9,0,34,354], +"a00906.html#gaa16bfad9cb883d258befaacadb3385ef":[7,1,356], +"a00906.html#gaa21e10945076d803129feb07946591f9":[7,1,146], +"a00906.html#gaa21e10945076d803129feb07946591f9":[9,0,34,144], +"a00906.html#gaa32b46f2c058ee54377d0cbef1ec8764":[7,1,102], +"a00906.html#gaa32b46f2c058ee54377d0cbef1ec8764":[9,0,34,100], +"a00906.html#gaa3984c137090a2d103b2089c7ac31642":[7,1,177], +"a00906.html#gaa3984c137090a2d103b2089c7ac31642":[9,0,34,175], +"a00906.html#gaa3f4cdb700e47737058c174a1f156707":[9,0,34,238], +"a00906.html#gaa3f4cdb700e47737058c174a1f156707":[7,1,240], +"a00906.html#gaa44ecaa440ab845d5939333171476adf":[7,1,121], +"a00906.html#gaa44ecaa440ab845d5939333171476adf":[9,0,34,119], +"a00906.html#gaa466dfdf174c134a11f578d1731990ef":[9,0,34,261], +"a00906.html#gaa466dfdf174c134a11f578d1731990ef":[7,1,263], +"a00906.html#gaa569255bc251cd90cb2d0f6b710164bc":[7,1,62], +"a00906.html#gaa569255bc251cd90cb2d0f6b710164bc":[9,0,34,60], +"a00906.html#gaa56ce725d85dcfbf7c217a748ca0a8b1":[7,1,152], +"a00906.html#gaa56ce725d85dcfbf7c217a748ca0a8b1":[9,0,34,150], +"a00906.html#gaa5b4cb5be95861466fff33fe0d5a9020":[7,1,216], +"a00906.html#gaa5b4cb5be95861466fff33fe0d5a9020":[9,0,34,214], +"a00906.html#gaa667451bf2e061c3e76a7a8a5d8b86d4":[7,1,159], +"a00906.html#gaa667451bf2e061c3e76a7a8a5d8b86d4":[9,0,34,157], +"a00906.html#gaa66ad8429261c1ba13d064d660d6d464":[9,0,34,311], +"a00906.html#gaa66ad8429261c1ba13d064d660d6d464":[7,1,313], +"a00906.html#gaa72601de2238c09393f120f68abf66a4":[9,0,34,256], +"a00906.html#gaa72601de2238c09393f120f68abf66a4":[7,1,258], +"a00906.html#gaa914251d0e03f7d1850ee04296715f14":[9,0,34,303], +"a00906.html#gaa914251d0e03f7d1850ee04296715f14":[7,1,305], +"a00906.html#gaaabcd1e4afb29088a17f7e87e7136e24":[7,1,115], +"a00906.html#gaaabcd1e4afb29088a17f7e87e7136e24":[9,0,34,113], +"a00906.html#gaab5bc48599e5f6b938901739f4f46fa7":[9,0,34,469], +"a00906.html#gaab5bc48599e5f6b938901739f4f46fa7":[7,1,411], +"a00906.html#gaab5bc48599e5f6b938901739f4f46fa7":[9,0,33,28], +"a00906.html#gaabaee03887c7e4403ac4936d9cde406e":[7,1,25], +"a00906.html#gaabaee03887c7e4403ac4936d9cde406e":[9,0,34,23], +"a00906.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39":[9,0,34,253], +"a00906.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39":[7,1,255], +"a00906.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0":[9,0,34,296], +"a00906.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0":[7,1,298], +"a00906.html#gaac36b471fe92c252dd02a9d1cc2c65e2":[9,0,34,338], +"a00906.html#gaac36b471fe92c252dd02a9d1cc2c65e2":[7,1,340], +"a00906.html#gaac4e75cf70cf0cf946216ffefaf65525":[7,1,49], +"a00906.html#gaac4e75cf70cf0cf946216ffefaf65525":[9,0,34,47], +"a00906.html#gaadb200c87d6dedb5768eeb8395e697c2":[7,1,132], +"a00906.html#gaadb200c87d6dedb5768eeb8395e697c2":[9,0,34,130], +"a00906.html#gaadcf0e639c6da291ddcb7fed49f1f967":[7,1,225], +"a00906.html#gaadcf0e639c6da291ddcb7fed49f1f967":[9,0,34,223], +"a00906.html#gaae24f308513ed54fc7c41b39bc05760b":[7,1,209], +"a00906.html#gaae24f308513ed54fc7c41b39bc05760b":[9,0,34,207], +"a00906.html#gaae5866a78d2f0464b04eee9ef1f97030":[9,0,34,454], +"a00906.html#gaae5866a78d2f0464b04eee9ef1f97030":[7,1,396], +"a00906.html#gaae5866a78d2f0464b04eee9ef1f97030":[9,0,33,13], +"a00906.html#gaae92bdb9d72ad6bd2193cbf0e672d46e":[7,1,226], +"a00906.html#gaae92bdb9d72ad6bd2193cbf0e672d46e":[9,0,34,224], +"a00906.html#gaaf599e8acc392c2ef07eba93eafc474d":[9,0,34,265], +"a00906.html#gaaf599e8acc392c2ef07eba93eafc474d":[7,1,267], +"a00906.html#gaaffdf30ca558bdd5f772578742835306":[9,0,34,278], +"a00906.html#gaaffdf30ca558bdd5f772578742835306":[7,1,280], +"a00906.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771":[9,0,34,94], +"a00906.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771":[7,1,96], +"a00906.html#gab0937e5d717246f51a244e3369e554e6":[9,0,34,458], +"a00906.html#gab0937e5d717246f51a244e3369e554e6":[7,1,400], +"a00906.html#gab0937e5d717246f51a244e3369e554e6":[9,0,33,17], +"a00906.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0":[7,1,83], +"a00906.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0":[9,0,34,81], +"a00906.html#gab24f797b7c19e899ef753d9901850e44":[7,1,14], +"a00906.html#gab24f797b7c19e899ef753d9901850e44":[9,0,34,12], +"a00906.html#gab2c08e9a862fce29e741ef2b75918a8e":[7,1,33], +"a00906.html#gab2c08e9a862fce29e741ef2b75918a8e":[9,0,34,31], +"a00906.html#gab4657866a69a00b9b3bfa4df51521fa6":[9,0,34,341], +"a00906.html#gab4657866a69a00b9b3bfa4df51521fa6":[7,1,343], +"a00906.html#gab568e0ec9f976d91d7940c227e8d73ee":[9,0,34,295], +"a00906.html#gab568e0ec9f976d91d7940c227e8d73ee":[7,1,297], +"a00906.html#gab65b17098ebc6027a9240ca84c07ab5c":[9,0,34,312], +"a00906.html#gab65b17098ebc6027a9240ca84c07ab5c":[7,1,314], +"a00906.html#gab6782a07fce203169aba6dd32f8ab123":[7,1,171], +"a00906.html#gab6782a07fce203169aba6dd32f8ab123":[9,0,34,169], +"a00906.html#gab79b57111a49362bd51922813cb84355":[7,1,167], +"a00906.html#gab79b57111a49362bd51922813cb84355":[9,0,34,165], +"a00906.html#gab887d70e4a421cf2bcab6b77feba4134":[9,0,34,291], +"a00906.html#gab887d70e4a421cf2bcab6b77feba4134":[7,1,293], +"a00906.html#gaba4a495c2021c837c6de4cdeaaf64813":[9,0,33,9], +"a00906.html#gaba4a495c2021c837c6de4cdeaaf64813":[9,0,34,450], +"a00906.html#gaba4a495c2021c837c6de4cdeaaf64813":[7,1,392], +"a00906.html#gaba61a1bd245d7471e59a39577498065b":[7,1,168], +"a00906.html#gaba61a1bd245d7471e59a39577498065b":[9,0,34,166], +"a00906.html#gaba7cf525ec69429e947f294361e1cdab":[9,0,34,314], +"a00906.html#gaba7cf525ec69429e947f294361e1cdab":[7,1,316], +"a00906.html#gabaaa930c2275599fcc3d83cfc02bfafe":[7,1,72], +"a00906.html#gabaaa930c2275599fcc3d83cfc02bfafe":[9,0,34,70], +"a00906.html#gabae30386c46658676cf11de7bec27138":[7,1,218], +"a00906.html#gabae30386c46658676cf11de7bec27138":[9,0,34,216], +"a00906.html#gabbbbd4cd4cc05e2ea023f059676aa37e":[7,1,11], +"a00906.html#gabbbbd4cd4cc05e2ea023f059676aa37e":[9,0,34,9], +"a00906.html#gabbfeec0d0247336b8c6e993d4db17d11":[9,0,34,364], +"a00906.html#gabbfeec0d0247336b8c6e993d4db17d11":[7,1,366], +"a00906.html#gabc21880360bdce990ad724fa7a7d9bf0":[7,1,166], +"a00906.html#gabc21880360bdce990ad724fa7a7d9bf0":[9,0,34,164], +"a00906.html#gabc722de99f444668d09e3815fcc78400":[7,1,130], +"a00906.html#gabc722de99f444668d09e3815fcc78400":[9,0,34,128], +"a00906.html#gabd28a29107703b43a734301acf491f5c":[9,0,34,330], +"a00906.html#gabd28a29107703b43a734301acf491f5c":[7,1,332], +"a00906.html#gabdbb7fc88ccf13d556dce6de3df9ce1b":[9,0,34,248], +"a00906.html#gabdbb7fc88ccf13d556dce6de3df9ce1b":[7,1,250], +"a00906.html#gabe16121ea22ed08080997a2cfae1c125":[7,1,24], +"a00906.html#gabe16121ea22ed08080997a2cfae1c125":[9,0,34,22], +"a00906.html#gabeef4ff866116f4e17a6c3ad94b0a286":[7,1,117], +"a00906.html#gabeef4ff866116f4e17a6c3ad94b0a286":[9,0,34,115], +"a00906.html#gabf2bad62bab02224f51d67f6725575a4":[9,0,34,333], +"a00906.html#gabf2bad62bab02224f51d67f6725575a4":[7,1,335], +"a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[9,0,34,473], +"a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[7,1,415], +"a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d":[9,0,33,32], +"a00906.html#gac0386500d37b5502158a62b8d864580f":[7,1,136], +"a00906.html#gac0386500d37b5502158a62b8d864580f":[9,0,34,134], +"a00906.html#gac049629a826435702055cc8279db76bb":[7,1,229], +"a00906.html#gac049629a826435702055cc8279db76bb":[9,0,34,227], +"a00906.html#gac0fb0edb797b754a069e12931a001257":[7,1,203] }; diff --git a/docs/html/navtreeindex5.js b/docs/html/navtreeindex5.js index c75d6eacb..68959b0d5 100644 --- a/docs/html/navtreeindex5.js +++ b/docs/html/navtreeindex5.js @@ -1,253 +1,253 @@ var NAVTREEINDEX5 = { -"a03531.html#gacbec80dc1b5f24d3013c2a9b06c11bdc":[6,1,82], -"a03531.html#gacbec80dc1b5f24d3013c2a9b06c11bdc":[8,0,29,80], -"a03531.html#gacd5976f898b9f67ea8e21df4e27fb712":[6,1,186], -"a03531.html#gacd5976f898b9f67ea8e21df4e27fb712":[8,0,29,184], -"a03531.html#gacd9a7a2257f664a4f9f674d37eb95bef":[8,0,29,355], -"a03531.html#gacd9a7a2257f664a4f9f674d37eb95bef":[6,1,357], -"a03531.html#gace94188e9d741a9b44616474b633064f":[6,1,70], -"a03531.html#gace94188e9d741a9b44616474b633064f":[8,0,29,68], -"a03531.html#gacf9c81ae1249f3c174ec75cf65517176":[8,0,29,327], -"a03531.html#gacf9c81ae1249f3c174ec75cf65517176":[6,1,329], -"a03531.html#gacff2b897c994e1444f8e94e638c25c74":[6,1,281], -"a03531.html#gacff2b897c994e1444f8e94e638c25c74":[8,0,29,279], -"a03531.html#gad0c3da8203a3be6755e86cda96e00228":[8,0,29,294], -"a03531.html#gad0c3da8203a3be6755e86cda96e00228":[6,1,296], -"a03531.html#gad10e2a3c801be9002d53af14357dbe9f":[8,0,29,348], -"a03531.html#gad10e2a3c801be9002d53af14357dbe9f":[6,1,350], -"a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1":[8,0,29,461], -"a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1":[6,1,403], -"a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1":[8,0,28,20], -"a03531.html#gad1d5f6fcf8f33b7ea3061280620df8bd":[8,0,29,85], -"a03531.html#gad1d5f6fcf8f33b7ea3061280620df8bd":[6,1,87], -"a03531.html#gad222baf9301d2d35a5c928a0d91c4335":[8,0,29,325], -"a03531.html#gad222baf9301d2d35a5c928a0d91c4335":[6,1,327], -"a03531.html#gad325831ee2326885795706efd7b3b00e":[8,0,29,86], -"a03531.html#gad325831ee2326885795706efd7b3b00e":[6,1,88], -"a03531.html#gad3d431e17094b6690d443e0a038da9e2":[6,1,105], -"a03531.html#gad3d431e17094b6690d443e0a038da9e2":[8,0,29,103], -"a03531.html#gad410516c4b4eb448a333eb3ed1f7b288":[6,1,37], -"a03531.html#gad410516c4b4eb448a333eb3ed1f7b288":[8,0,29,35], -"a03531.html#gad42195362cd7dca0acabc8739c9a6fc4":[8,0,29,370], -"a03531.html#gad42195362cd7dca0acabc8739c9a6fc4":[6,1,372], -"a03531.html#gad5b035b6f65f87b7fdf75f225a54ce35":[6,1,204], -"a03531.html#gad5b035b6f65f87b7fdf75f225a54ce35":[8,0,29,202], -"a03531.html#gad5b1ead29f3ce3cee52d106af531ab86":[6,1,182], -"a03531.html#gad5b1ead29f3ce3cee52d106af531ab86":[8,0,29,180], -"a03531.html#gad6f89d1bb03ed8d84e230bedca57ddd9":[6,1,141], -"a03531.html#gad6f89d1bb03ed8d84e230bedca57ddd9":[8,0,29,139], -"a03531.html#gad742aca4fbd1b833423eeb7ce90a6743":[8,0,29,302], -"a03531.html#gad742aca4fbd1b833423eeb7ce90a6743":[6,1,304], -"a03531.html#gad74ed86697c0977d4e0a2451068b7131":[8,0,29,304], -"a03531.html#gad74ed86697c0977d4e0a2451068b7131":[6,1,306], -"a03531.html#gad79706b7b1e6c0e0d29afe692d8d5c06":[8,0,29,322], -"a03531.html#gad79706b7b1e6c0e0d29afe692d8d5c06":[6,1,324], -"a03531.html#gad7e0df789060db2a9e8339972eac2482":[6,1,251], -"a03531.html#gad7e0df789060db2a9e8339972eac2482":[8,0,29,249], -"a03531.html#gad83ef570608a572d2dd99e6954e14d40":[8,0,29,284], -"a03531.html#gad83ef570608a572d2dd99e6954e14d40":[6,1,286], -"a03531.html#gad89ca95de067d12cd2f35a60b0e997b1":[8,0,29,361], -"a03531.html#gad89ca95de067d12cd2f35a60b0e997b1":[6,1,363], -"a03531.html#gada37181a648dd51b374eec1cbb4bbaa3":[8,0,29,359], -"a03531.html#gada37181a648dd51b374eec1cbb4bbaa3":[6,1,361], -"a03531.html#gadb6b7f50e3d8af5d2de64f3bd4c83332":[6,1,265], -"a03531.html#gadb6b7f50e3d8af5d2de64f3bd4c83332":[8,0,29,263], -"a03531.html#gadc25fc4bebaac1582bb57d791f72356d":[6,1,178], -"a03531.html#gadc25fc4bebaac1582bb57d791f72356d":[8,0,29,176], -"a03531.html#gadd3796a1d4de55604283aef5a70f7945":[8,0,29,95], -"a03531.html#gadd3796a1d4de55604283aef5a70f7945":[6,1,97], -"a03531.html#gaddd73b0088cc98d40eaf8b3370f2fc8e":[6,1,241], -"a03531.html#gaddd73b0088cc98d40eaf8b3370f2fc8e":[8,0,29,239], -"a03531.html#gadec1fd29e8c6b2f804fc4050778dafc8":[6,1,195], -"a03531.html#gadec1fd29e8c6b2f804fc4050778dafc8":[8,0,29,193], -"a03531.html#gadf58a677811566e8446870523bb65850":[6,1,193], -"a03531.html#gadf58a677811566e8446870523bb65850":[8,0,29,191], -"a03531.html#gadffd78899cf3d3dd18afc5ce3c54acb4":[6,1,276], -"a03531.html#gadffd78899cf3d3dd18afc5ce3c54acb4":[8,0,29,274], -"a03531.html#gae0df4b9151bb3d807bc1c532036c6d88":[8,0,29,374], -"a03531.html#gae0df4b9151bb3d807bc1c532036c6d88":[6,1,376], -"a03531.html#gae16e61d55b371f9c5e31f08f680de609":[8,0,29,217], -"a03531.html#gae16e61d55b371f9c5e31f08f680de609":[6,1,219], -"a03531.html#gae273cfc99b8538b3c81ba8240a6ff425":[8,0,29,326], -"a03531.html#gae273cfc99b8538b3c81ba8240a6ff425":[6,1,328], -"a03531.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5":[6,1,272], -"a03531.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5":[8,0,29,270], -"a03531.html#gae2b34b443ce2e0f285dd8d6f34f84d70":[6,1,214], -"a03531.html#gae2b34b443ce2e0f285dd8d6f34f84d70":[8,0,29,212], -"a03531.html#gae3f2d180d7f35d9a7876a28972f2f587":[8,0,29,287], -"a03531.html#gae3f2d180d7f35d9a7876a28972f2f587":[6,1,289], -"a03531.html#gae41108996848638519849163e51cd10a":[8,0,29,472], -"a03531.html#gae41108996848638519849163e51cd10a":[8,0,28,31], -"a03531.html#gae41108996848638519849163e51cd10a":[6,1,414], -"a03531.html#gae496c798891069e04802bbac7d96e0f5":[6,1,124], -"a03531.html#gae496c798891069e04802bbac7d96e0f5":[8,0,29,122], -"a03531.html#gae52318f0263884ff3a3e67328138cc75":[6,1,68], -"a03531.html#gae52318f0263884ff3a3e67328138cc75":[8,0,29,66], -"a03531.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3":[6,1,155], -"a03531.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3":[8,0,29,153], -"a03531.html#gae559b402c678cc51f8252b927b8781e5":[8,0,29,373], -"a03531.html#gae559b402c678cc51f8252b927b8781e5":[6,1,375], -"a03531.html#gae591dd29af805fc5b63e5b06d5e7c450":[6,1,201], -"a03531.html#gae591dd29af805fc5b63e5b06d5e7c450":[8,0,29,199], -"a03531.html#gae5ad3c81d0b62f4b86a4a0dc84a79134":[8,0,29,378], -"a03531.html#gae5ad3c81d0b62f4b86a4a0dc84a79134":[6,1,380], -"a03531.html#gae5da70c1f37ee40a0cf4edc459d5840a":[6,1,271], -"a03531.html#gae5da70c1f37ee40a0cf4edc459d5840a":[8,0,29,269], -"a03531.html#gae757542e1c4d4815e1dc8db034dca476":[6,1,116], -"a03531.html#gae757542e1c4d4815e1dc8db034dca476":[8,0,29,114], -"a03531.html#gae814b4e63476d137bf226537cb2ff0fc":[6,1,233], -"a03531.html#gae814b4e63476d137bf226537cb2ff0fc":[8,0,29,231], -"a03531.html#gae82a969d437b648238fe1c1ddbd51196":[8,0,29,444], -"a03531.html#gae82a969d437b648238fe1c1ddbd51196":[6,1,386], -"a03531.html#gae82a969d437b648238fe1c1ddbd51196":[8,0,28,3], -"a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07":[8,0,29,453], -"a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07":[6,1,395], -"a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07":[8,0,28,12], -"a03531.html#gae8b9077022cc706947fdc8b45a573d81":[6,1,43], -"a03531.html#gae8b9077022cc706947fdc8b45a573d81":[8,0,29,41], -"a03531.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0":[8,0,29,315], -"a03531.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0":[6,1,317], -"a03531.html#gae9bbe9f768acf9628bbb78fbebb21221":[8,0,29,459], -"a03531.html#gae9bbe9f768acf9628bbb78fbebb21221":[6,1,401], -"a03531.html#gae9bbe9f768acf9628bbb78fbebb21221":[8,0,28,18], -"a03531.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d":[8,0,29,363], -"a03531.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d":[6,1,365], -"a03531.html#gaeb3783d1cdf4f9c1217d030bc0386fad":[8,0,29,328], -"a03531.html#gaeb3783d1cdf4f9c1217d030bc0386fad":[6,1,330], -"a03531.html#gaeb7623b070997b65f0bb108abf8e5f44":[8,0,29,320], -"a03531.html#gaeb7623b070997b65f0bb108abf8e5f44":[6,1,322], -"a03531.html#gaebeafc249bfe2b00b6809d5c328841d9":[8,0,29,440], -"a03531.html#gaebeafc249bfe2b00b6809d5c328841d9":[6,1,382], -"a03531.html#gaed2edebc2be522d7bb38f85d273406f9":[8,0,29,332], -"a03531.html#gaed2edebc2be522d7bb38f85d273406f9":[6,1,334], -"a03531.html#gaee08925a21e8dbf05f8557617e3f610e":[6,1,235], -"a03531.html#gaee08925a21e8dbf05f8557617e3f610e":[8,0,29,233], -"a03531.html#gaee1a29942cf2b3637a65506dc6b5d4fe":[6,1,196], -"a03531.html#gaee1a29942cf2b3637a65506dc6b5d4fe":[8,0,29,194], -"a03531.html#gaee95b219cf932dfedb3a3c5e23d01a9d":[6,1,169], -"a03531.html#gaee95b219cf932dfedb3a3c5e23d01a9d":[8,0,29,167], -"a03531.html#gaef76930f6d419fc30841be04fe6ac8d6":[6,1,125], -"a03531.html#gaef76930f6d419fc30841be04fe6ac8d6":[8,0,29,123], -"a03531.html#gaf120353f5e8e159eaa9c930555b159d5":[6,1,176], -"a03531.html#gaf120353f5e8e159eaa9c930555b159d5":[8,0,29,174], -"a03531.html#gaf12673d4006ff926c863b2d0f9038561":[8,0,29,321], -"a03531.html#gaf12673d4006ff926c863b2d0f9038561":[6,1,323], -"a03531.html#gaf397e129e4581162f91873358b5f1538":[6,1,55], -"a03531.html#gaf397e129e4581162f91873358b5f1538":[8,0,29,53], -"a03531.html#gaf4177bd66c5981ba86511608150c024e":[8,0,28,30], -"a03531.html#gaf4177bd66c5981ba86511608150c024e":[8,0,29,471], -"a03531.html#gaf4177bd66c5981ba86511608150c024e":[6,1,413], -"a03531.html#gaf41d61bc7317d325a34169eb53c29e7c":[8,0,29,466], -"a03531.html#gaf41d61bc7317d325a34169eb53c29e7c":[6,1,408], -"a03531.html#gaf41d61bc7317d325a34169eb53c29e7c":[8,0,28,25], -"a03531.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5":[6,1,228], -"a03531.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5":[8,0,29,226], -"a03531.html#gaf4aab184dc60e2de854994d26d57dfde":[6,1,81], -"a03531.html#gaf4aab184dc60e2de854994d26d57dfde":[8,0,29,79], -"a03531.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f":[6,1,10], -"a03531.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f":[8,0,29,8], -"a03531.html#gaf5a93b147dd08b111b348edd1bc82fa5":[6,1,257], -"a03531.html#gaf5a93b147dd08b111b348edd1bc82fa5":[8,0,29,255], -"a03531.html#gaf5b69354b7f33537f2ffef3376843a15":[8,0,29,452], -"a03531.html#gaf5b69354b7f33537f2ffef3376843a15":[8,0,28,11], -"a03531.html#gaf5b69354b7f33537f2ffef3376843a15":[6,1,394], -"a03531.html#gaf7ee0188ab539a350a6da19fe3f34a72":[8,0,29,282], -"a03531.html#gaf7ee0188ab539a350a6da19fe3f34a72":[6,1,284], -"a03531.html#gaf83ceba3654b1b76e216402a023c1578":[8,0,29,222], -"a03531.html#gaf83ceba3654b1b76e216402a023c1578":[6,1,224], -"a03531.html#gaf8ad6785828f72b793fb4452f3cb6698":[6,1,145], -"a03531.html#gaf8ad6785828f72b793fb4452f3cb6698":[8,0,29,143], -"a03531.html#gaf90f39bafcd296962ceef461954a1998":[8,0,29,460], -"a03531.html#gaf90f39bafcd296962ceef461954a1998":[8,0,28,19], -"a03531.html#gaf90f39bafcd296962ceef461954a1998":[6,1,402], -"a03531.html#gaf9f464ac4065aff75f5967933725d665":[8,0,29,324], -"a03531.html#gaf9f464ac4065aff75f5967933725d665":[6,1,326], -"a03531.html#gafa043ddb1952520a2bba28ac41a98f93":[6,1,51], -"a03531.html#gafa043ddb1952520a2bba28ac41a98f93":[8,0,29,49], -"a03531.html#gafa19443ca4e054e38a7599c37575678d":[6,1,247], -"a03531.html#gafa19443ca4e054e38a7599c37575678d":[8,0,29,245], -"a03531.html#gafa24177621a8a2fbe041ef0ce73a414d":[8,0,29,310], -"a03531.html#gafa24177621a8a2fbe041ef0ce73a414d":[6,1,312], -"a03531.html#gafab9546447cf1e0020c32d298a1d897f":[8,0,29,356], -"a03531.html#gafab9546447cf1e0020c32d298a1d897f":[6,1,358], -"a03531.html#gafabb67121c9c58fac9829287b55a2389":[8,0,29,2], -"a03531.html#gafabb67121c9c58fac9829287b55a2389":[6,1,4], -"a03531.html#gafb0b0b4ae54efabd5bd3c906935620ca":[6,1,149], -"a03531.html#gafb0b0b4ae54efabd5bd3c906935620ca":[8,0,29,147], -"a03531.html#gafbd09beedecedcf316a6c02e40d1e712":[8,0,29,353], -"a03531.html#gafbd09beedecedcf316a6c02e40d1e712":[6,1,355], -"a03531.html#gafd20c2250b83786f216a100bde94a670":[6,1,127], -"a03531.html#gafd20c2250b83786f216a100bde94a670":[8,0,29,125], -"a03531.html#gafd812ab5b70a92a4d3a420c4f7106ac5":[6,1,74], -"a03531.html#gafd812ab5b70a92a4d3a420c4f7106ac5":[8,0,29,72], -"a03531.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2":[6,1,275], -"a03531.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2":[8,0,29,273], -"a03531.html#gafeaf2094813c3184f0f128c37e3297dd":[6,1,245], -"a03531.html#gafeaf2094813c3184f0f128c37e3297dd":[8,0,29,243], -"a03531.html#gaffa79c933fa76585479228b15c2cbc83":[6,1,139], -"a03531.html#gaffa79c933fa76585479228b15c2cbc83":[8,0,29,137], -"a03532.html":[6,2], -"a03532.html#ga3f98e29cffa06446fc91b329703606af":[8,0,40,1], -"a03532.html#ga3f98e29cffa06446fc91b329703606af":[8,0,41,2], -"a03532.html#ga3f98e29cffa06446fc91b329703606af":[6,2,4], -"a03532.html#ga8eec7f2190d1f9bda6684f5d2177db15":[8,0,40,3], -"a03532.html#ga8eec7f2190d1f9bda6684f5d2177db15":[8,0,41,4], -"a03532.html#ga8eec7f2190d1f9bda6684f5d2177db15":[6,2,6], -"a03532.html#gaa94f7bb4af0a3d6735225cc85d92cb50":[8,0,41,0], -"a03532.html#gaa94f7bb4af0a3d6735225cc85d92cb50":[6,2,1], -"a03532.html#gab729e6c838c0a247d4f226fb92492d96":[8,0,40,5], -"a03532.html#gab729e6c838c0a247d4f226fb92492d96":[8,0,41,6], -"a03532.html#gab729e6c838c0a247d4f226fb92492d96":[6,2,8], -"a03532.html#gabf51c08f1928fc5ec44936f3117a9f7e":[8,0,40,0], -"a03532.html#gabf51c08f1928fc5ec44936f3117a9f7e":[8,0,41,1], -"a03532.html#gabf51c08f1928fc5ec44936f3117a9f7e":[6,2,3], -"a03532.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[8,0,40,2], -"a03532.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[8,0,41,3], -"a03532.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[6,2,5], -"a03532.html#gad5e12e12d3030e28d75164286df9e5e9":[8,0,40,4], -"a03532.html#gad5e12e12d3030e28d75164286df9e5e9":[8,0,41,5], -"a03532.html#gad5e12e12d3030e28d75164286df9e5e9":[6,2,7], -"a03532.html#gafb234ccd6a80d09c0efbe336c2354267":[8,0,42,0], -"a03532.html#gafb234ccd6a80d09c0efbe336c2354267":[6,2,2], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf":[8,0,42,0,3], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf":[6,2,2,3], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c":[8,0,42,0,1], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c":[6,2,2,1], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad":[8,0,42,0,4], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad":[6,2,2,4], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268":[6,2,2,0], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268":[8,0,42,0,0], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae":[8,0,42,0,2], -"a03532.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae":[6,2,2,2], -"a03533.html":[6,3], -"a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[6,3,11], -"a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[8,0,51,6], -"a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[8,0,52,7], -"a03533.html#ga29c6f441d31c84629954d50cc95d3c5d":[6,3,12], -"a03533.html#ga29c6f441d31c84629954d50cc95d3c5d":[8,0,51,7], -"a03533.html#ga29c6f441d31c84629954d50cc95d3c5d":[8,0,52,8], -"a03533.html#ga32693c852341e1b946bab3cca5f71761":[6,3,14], -"a03533.html#ga32693c852341e1b946bab3cca5f71761":[8,0,51,9], -"a03533.html#ga32693c852341e1b946bab3cca5f71761":[8,0,52,10], -"a03533.html#ga386353e8700eec35e4548dfa29f13b8d":[6,3,9], -"a03533.html#ga386353e8700eec35e4548dfa29f13b8d":[8,0,51,5], -"a03533.html#ga386353e8700eec35e4548dfa29f13b8d":[8,0,52,5], -"a03533.html#ga3a31087729a7a2e9a624572f234809fc":[6,3,16], -"a03533.html#ga3a31087729a7a2e9a624572f234809fc":[8,0,51,11], -"a03533.html#ga3a31087729a7a2e9a624572f234809fc":[8,0,52,12], -"a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0":[6,3,7], -"a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0":[8,0,51,3], -"a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0":[8,0,52,3], -"a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5":[6,3,10], -"a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5":[8,0,52,6], -"a03533.html#ga6f28f18f0d00c5301939724325f6b6fc":[6,3,17], -"a03533.html#ga6f28f18f0d00c5301939724325f6b6fc":[8,0,51,12], -"a03533.html#ga6f28f18f0d00c5301939724325f6b6fc":[8,0,52,13], -"a03533.html#ga75c11126f3fe81df3d6c27f5bb393303":[8,0,52,0], -"a03533.html#ga75c11126f3fe81df3d6c27f5bb393303":[6,3,3], -"a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3":[6,3,18], -"a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3":[8,0,51,13], -"a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3":[8,0,52,14], -"a03533.html#gac06336335e5f3191e3b1fc06d2830d96":[6,3,13] +"a00906.html#gac0fb0edb797b754a069e12931a001257":[9,0,34,201], +"a00906.html#gac101f854026596231715eca664550e36":[7,1,161], +"a00906.html#gac101f854026596231715eca664550e36":[9,0,34,159], +"a00906.html#gac227802d9a5680688ac4c2b23b38273c":[7,1,54], +"a00906.html#gac227802d9a5680688ac4c2b23b38273c":[9,0,34,52], +"a00906.html#gac2d5b5de26d0318ba6db3ad1055eb6ec":[7,1,162], +"a00906.html#gac2d5b5de26d0318ba6db3ad1055eb6ec":[9,0,34,160], +"a00906.html#gac3b1177210ba941afa527bacbcfd4fab":[7,1,191], +"a00906.html#gac3b1177210ba941afa527bacbcfd4fab":[9,0,34,189], +"a00906.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad":[7,1,119], +"a00906.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad":[9,0,34,117], +"a00906.html#gac3f89b5db216fd58ae2de3ebd52e26c5":[7,1,138], +"a00906.html#gac3f89b5db216fd58ae2de3ebd52e26c5":[9,0,34,136], +"a00906.html#gac51f4a863e071bce52c995ddae7e2144":[9,0,34,293], +"a00906.html#gac51f4a863e071bce52c995ddae7e2144":[7,1,295], +"a00906.html#gac649ffd477409f414dfcc7e38c19e203":[9,0,34,456], +"a00906.html#gac649ffd477409f414dfcc7e38c19e203":[7,1,398], +"a00906.html#gac649ffd477409f414dfcc7e38c19e203":[9,0,33,15], +"a00906.html#gac6d810ee00947694d9b95d95db0b2f3c":[7,1,140], +"a00906.html#gac6d810ee00947694d9b95d95db0b2f3c":[9,0,34,138], +"a00906.html#gac7e5a54695b8bd9e5087ebb94df70b39":[9,0,34,367], +"a00906.html#gac7e5a54695b8bd9e5087ebb94df70b39":[7,1,369], +"a00906.html#gac846e3f7c924497d70254125dae38dce":[9,0,34,316], +"a00906.html#gac846e3f7c924497d70254125dae38dce":[7,1,318], +"a00906.html#gac9405ff4647b09a6d8ab7a4d8a091ee8":[7,1,42], +"a00906.html#gac9405ff4647b09a6d8ab7a4d8a091ee8":[9,0,34,40], +"a00906.html#gac978ae798bc2c020c7b8a2e5a258016e":[7,1,35], +"a00906.html#gac978ae798bc2c020c7b8a2e5a258016e":[9,0,34,33], +"a00906.html#gacbec80dc1b5f24d3013c2a9b06c11bdc":[7,1,82], +"a00906.html#gacbec80dc1b5f24d3013c2a9b06c11bdc":[9,0,34,80], +"a00906.html#gacd5976f898b9f67ea8e21df4e27fb712":[7,1,186], +"a00906.html#gacd5976f898b9f67ea8e21df4e27fb712":[9,0,34,184], +"a00906.html#gacd9a7a2257f664a4f9f674d37eb95bef":[9,0,34,355], +"a00906.html#gacd9a7a2257f664a4f9f674d37eb95bef":[7,1,357], +"a00906.html#gace94188e9d741a9b44616474b633064f":[7,1,70], +"a00906.html#gace94188e9d741a9b44616474b633064f":[9,0,34,68], +"a00906.html#gacf9c81ae1249f3c174ec75cf65517176":[9,0,34,327], +"a00906.html#gacf9c81ae1249f3c174ec75cf65517176":[7,1,329], +"a00906.html#gacff2b897c994e1444f8e94e638c25c74":[9,0,34,279], +"a00906.html#gacff2b897c994e1444f8e94e638c25c74":[7,1,281], +"a00906.html#gad0c3da8203a3be6755e86cda96e00228":[9,0,34,294], +"a00906.html#gad0c3da8203a3be6755e86cda96e00228":[7,1,296], +"a00906.html#gad10e2a3c801be9002d53af14357dbe9f":[9,0,34,348], +"a00906.html#gad10e2a3c801be9002d53af14357dbe9f":[7,1,350], +"a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1":[9,0,34,461], +"a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1":[7,1,403], +"a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1":[9,0,33,20], +"a00906.html#gad1d5f6fcf8f33b7ea3061280620df8bd":[7,1,87], +"a00906.html#gad1d5f6fcf8f33b7ea3061280620df8bd":[9,0,34,85], +"a00906.html#gad222baf9301d2d35a5c928a0d91c4335":[9,0,34,325], +"a00906.html#gad222baf9301d2d35a5c928a0d91c4335":[7,1,327], +"a00906.html#gad325831ee2326885795706efd7b3b00e":[9,0,34,86], +"a00906.html#gad325831ee2326885795706efd7b3b00e":[7,1,88], +"a00906.html#gad3d431e17094b6690d443e0a038da9e2":[7,1,105], +"a00906.html#gad3d431e17094b6690d443e0a038da9e2":[9,0,34,103], +"a00906.html#gad410516c4b4eb448a333eb3ed1f7b288":[7,1,37], +"a00906.html#gad410516c4b4eb448a333eb3ed1f7b288":[9,0,34,35], +"a00906.html#gad42195362cd7dca0acabc8739c9a6fc4":[9,0,34,370], +"a00906.html#gad42195362cd7dca0acabc8739c9a6fc4":[7,1,372], +"a00906.html#gad5b035b6f65f87b7fdf75f225a54ce35":[7,1,204], +"a00906.html#gad5b035b6f65f87b7fdf75f225a54ce35":[9,0,34,202], +"a00906.html#gad5b1ead29f3ce3cee52d106af531ab86":[7,1,182], +"a00906.html#gad5b1ead29f3ce3cee52d106af531ab86":[9,0,34,180], +"a00906.html#gad6f89d1bb03ed8d84e230bedca57ddd9":[7,1,141], +"a00906.html#gad6f89d1bb03ed8d84e230bedca57ddd9":[9,0,34,139], +"a00906.html#gad742aca4fbd1b833423eeb7ce90a6743":[9,0,34,302], +"a00906.html#gad742aca4fbd1b833423eeb7ce90a6743":[7,1,304], +"a00906.html#gad74ed86697c0977d4e0a2451068b7131":[9,0,34,304], +"a00906.html#gad74ed86697c0977d4e0a2451068b7131":[7,1,306], +"a00906.html#gad79706b7b1e6c0e0d29afe692d8d5c06":[9,0,34,322], +"a00906.html#gad79706b7b1e6c0e0d29afe692d8d5c06":[7,1,324], +"a00906.html#gad7e0df789060db2a9e8339972eac2482":[9,0,34,249], +"a00906.html#gad7e0df789060db2a9e8339972eac2482":[7,1,251], +"a00906.html#gad83ef570608a572d2dd99e6954e14d40":[9,0,34,284], +"a00906.html#gad83ef570608a572d2dd99e6954e14d40":[7,1,286], +"a00906.html#gad89ca95de067d12cd2f35a60b0e997b1":[9,0,34,361], +"a00906.html#gad89ca95de067d12cd2f35a60b0e997b1":[7,1,363], +"a00906.html#gada37181a648dd51b374eec1cbb4bbaa3":[9,0,34,359], +"a00906.html#gada37181a648dd51b374eec1cbb4bbaa3":[7,1,361], +"a00906.html#gadb6b7f50e3d8af5d2de64f3bd4c83332":[9,0,34,263], +"a00906.html#gadb6b7f50e3d8af5d2de64f3bd4c83332":[7,1,265], +"a00906.html#gadc25fc4bebaac1582bb57d791f72356d":[7,1,178], +"a00906.html#gadc25fc4bebaac1582bb57d791f72356d":[9,0,34,176], +"a00906.html#gadd3796a1d4de55604283aef5a70f7945":[7,1,97], +"a00906.html#gadd3796a1d4de55604283aef5a70f7945":[9,0,34,95], +"a00906.html#gaddd73b0088cc98d40eaf8b3370f2fc8e":[9,0,34,239], +"a00906.html#gaddd73b0088cc98d40eaf8b3370f2fc8e":[7,1,241], +"a00906.html#gadec1fd29e8c6b2f804fc4050778dafc8":[7,1,195], +"a00906.html#gadec1fd29e8c6b2f804fc4050778dafc8":[9,0,34,193], +"a00906.html#gadf58a677811566e8446870523bb65850":[7,1,193], +"a00906.html#gadf58a677811566e8446870523bb65850":[9,0,34,191], +"a00906.html#gadffd78899cf3d3dd18afc5ce3c54acb4":[9,0,34,274], +"a00906.html#gadffd78899cf3d3dd18afc5ce3c54acb4":[7,1,276], +"a00906.html#gae0df4b9151bb3d807bc1c532036c6d88":[9,0,34,374], +"a00906.html#gae0df4b9151bb3d807bc1c532036c6d88":[7,1,376], +"a00906.html#gae16e61d55b371f9c5e31f08f680de609":[7,1,219], +"a00906.html#gae16e61d55b371f9c5e31f08f680de609":[9,0,34,217], +"a00906.html#gae273cfc99b8538b3c81ba8240a6ff425":[9,0,34,326], +"a00906.html#gae273cfc99b8538b3c81ba8240a6ff425":[7,1,328], +"a00906.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5":[9,0,34,270], +"a00906.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5":[7,1,272], +"a00906.html#gae2b34b443ce2e0f285dd8d6f34f84d70":[7,1,214], +"a00906.html#gae2b34b443ce2e0f285dd8d6f34f84d70":[9,0,34,212], +"a00906.html#gae3f2d180d7f35d9a7876a28972f2f587":[9,0,34,287], +"a00906.html#gae3f2d180d7f35d9a7876a28972f2f587":[7,1,289], +"a00906.html#gae41108996848638519849163e51cd10a":[9,0,34,472], +"a00906.html#gae41108996848638519849163e51cd10a":[7,1,414], +"a00906.html#gae41108996848638519849163e51cd10a":[9,0,33,31], +"a00906.html#gae496c798891069e04802bbac7d96e0f5":[7,1,124], +"a00906.html#gae496c798891069e04802bbac7d96e0f5":[9,0,34,122], +"a00906.html#gae52318f0263884ff3a3e67328138cc75":[7,1,68], +"a00906.html#gae52318f0263884ff3a3e67328138cc75":[9,0,34,66], +"a00906.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3":[7,1,155], +"a00906.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3":[9,0,34,153], +"a00906.html#gae559b402c678cc51f8252b927b8781e5":[9,0,34,373], +"a00906.html#gae559b402c678cc51f8252b927b8781e5":[7,1,375], +"a00906.html#gae591dd29af805fc5b63e5b06d5e7c450":[7,1,201], +"a00906.html#gae591dd29af805fc5b63e5b06d5e7c450":[9,0,34,199], +"a00906.html#gae5ad3c81d0b62f4b86a4a0dc84a79134":[9,0,34,378], +"a00906.html#gae5ad3c81d0b62f4b86a4a0dc84a79134":[7,1,380], +"a00906.html#gae5da70c1f37ee40a0cf4edc459d5840a":[9,0,34,269], +"a00906.html#gae5da70c1f37ee40a0cf4edc459d5840a":[7,1,271], +"a00906.html#gae757542e1c4d4815e1dc8db034dca476":[7,1,116], +"a00906.html#gae757542e1c4d4815e1dc8db034dca476":[9,0,34,114], +"a00906.html#gae814b4e63476d137bf226537cb2ff0fc":[7,1,233], +"a00906.html#gae814b4e63476d137bf226537cb2ff0fc":[9,0,34,231], +"a00906.html#gae82a969d437b648238fe1c1ddbd51196":[9,0,34,444], +"a00906.html#gae82a969d437b648238fe1c1ddbd51196":[7,1,386], +"a00906.html#gae82a969d437b648238fe1c1ddbd51196":[9,0,33,3], +"a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07":[9,0,34,453], +"a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07":[7,1,395], +"a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07":[9,0,33,12], +"a00906.html#gae8b9077022cc706947fdc8b45a573d81":[7,1,43], +"a00906.html#gae8b9077022cc706947fdc8b45a573d81":[9,0,34,41], +"a00906.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0":[9,0,34,315], +"a00906.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0":[7,1,317], +"a00906.html#gae9bbe9f768acf9628bbb78fbebb21221":[9,0,34,459], +"a00906.html#gae9bbe9f768acf9628bbb78fbebb21221":[7,1,401], +"a00906.html#gae9bbe9f768acf9628bbb78fbebb21221":[9,0,33,18], +"a00906.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d":[9,0,34,363], +"a00906.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d":[7,1,365], +"a00906.html#gaeb3783d1cdf4f9c1217d030bc0386fad":[9,0,34,328], +"a00906.html#gaeb3783d1cdf4f9c1217d030bc0386fad":[7,1,330], +"a00906.html#gaeb7623b070997b65f0bb108abf8e5f44":[9,0,34,320], +"a00906.html#gaeb7623b070997b65f0bb108abf8e5f44":[7,1,322], +"a00906.html#gaebeafc249bfe2b00b6809d5c328841d9":[9,0,34,440], +"a00906.html#gaebeafc249bfe2b00b6809d5c328841d9":[7,1,382], +"a00906.html#gaed2edebc2be522d7bb38f85d273406f9":[9,0,34,332], +"a00906.html#gaed2edebc2be522d7bb38f85d273406f9":[7,1,334], +"a00906.html#gaee08925a21e8dbf05f8557617e3f610e":[7,1,235], +"a00906.html#gaee08925a21e8dbf05f8557617e3f610e":[9,0,34,233], +"a00906.html#gaee1a29942cf2b3637a65506dc6b5d4fe":[7,1,196], +"a00906.html#gaee1a29942cf2b3637a65506dc6b5d4fe":[9,0,34,194], +"a00906.html#gaee95b219cf932dfedb3a3c5e23d01a9d":[7,1,169], +"a00906.html#gaee95b219cf932dfedb3a3c5e23d01a9d":[9,0,34,167], +"a00906.html#gaef76930f6d419fc30841be04fe6ac8d6":[7,1,125], +"a00906.html#gaef76930f6d419fc30841be04fe6ac8d6":[9,0,34,123], +"a00906.html#gaf120353f5e8e159eaa9c930555b159d5":[7,1,176], +"a00906.html#gaf120353f5e8e159eaa9c930555b159d5":[9,0,34,174], +"a00906.html#gaf12673d4006ff926c863b2d0f9038561":[9,0,34,321], +"a00906.html#gaf12673d4006ff926c863b2d0f9038561":[7,1,323], +"a00906.html#gaf397e129e4581162f91873358b5f1538":[7,1,55], +"a00906.html#gaf397e129e4581162f91873358b5f1538":[9,0,34,53], +"a00906.html#gaf4177bd66c5981ba86511608150c024e":[9,0,34,471], +"a00906.html#gaf4177bd66c5981ba86511608150c024e":[7,1,413], +"a00906.html#gaf4177bd66c5981ba86511608150c024e":[9,0,33,30], +"a00906.html#gaf41d61bc7317d325a34169eb53c29e7c":[9,0,34,466], +"a00906.html#gaf41d61bc7317d325a34169eb53c29e7c":[7,1,408], +"a00906.html#gaf41d61bc7317d325a34169eb53c29e7c":[9,0,33,25], +"a00906.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5":[7,1,228], +"a00906.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5":[9,0,34,226], +"a00906.html#gaf4aab184dc60e2de854994d26d57dfde":[7,1,81], +"a00906.html#gaf4aab184dc60e2de854994d26d57dfde":[9,0,34,79], +"a00906.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f":[7,1,10], +"a00906.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f":[9,0,34,8], +"a00906.html#gaf5a93b147dd08b111b348edd1bc82fa5":[9,0,34,255], +"a00906.html#gaf5a93b147dd08b111b348edd1bc82fa5":[7,1,257], +"a00906.html#gaf5b69354b7f33537f2ffef3376843a15":[9,0,34,452], +"a00906.html#gaf5b69354b7f33537f2ffef3376843a15":[7,1,394], +"a00906.html#gaf5b69354b7f33537f2ffef3376843a15":[9,0,33,11], +"a00906.html#gaf7ee0188ab539a350a6da19fe3f34a72":[9,0,34,282], +"a00906.html#gaf7ee0188ab539a350a6da19fe3f34a72":[7,1,284], +"a00906.html#gaf83ceba3654b1b76e216402a023c1578":[9,0,34,222], +"a00906.html#gaf83ceba3654b1b76e216402a023c1578":[7,1,224], +"a00906.html#gaf8ad6785828f72b793fb4452f3cb6698":[7,1,145], +"a00906.html#gaf8ad6785828f72b793fb4452f3cb6698":[9,0,34,143], +"a00906.html#gaf90f39bafcd296962ceef461954a1998":[9,0,34,460], +"a00906.html#gaf90f39bafcd296962ceef461954a1998":[7,1,402], +"a00906.html#gaf90f39bafcd296962ceef461954a1998":[9,0,33,19], +"a00906.html#gaf9f464ac4065aff75f5967933725d665":[9,0,34,324], +"a00906.html#gaf9f464ac4065aff75f5967933725d665":[7,1,326], +"a00906.html#gafa043ddb1952520a2bba28ac41a98f93":[7,1,51], +"a00906.html#gafa043ddb1952520a2bba28ac41a98f93":[9,0,34,49], +"a00906.html#gafa19443ca4e054e38a7599c37575678d":[9,0,34,245], +"a00906.html#gafa19443ca4e054e38a7599c37575678d":[7,1,247], +"a00906.html#gafa24177621a8a2fbe041ef0ce73a414d":[9,0,34,310], +"a00906.html#gafa24177621a8a2fbe041ef0ce73a414d":[7,1,312], +"a00906.html#gafab9546447cf1e0020c32d298a1d897f":[9,0,34,356], +"a00906.html#gafab9546447cf1e0020c32d298a1d897f":[7,1,358], +"a00906.html#gafabb67121c9c58fac9829287b55a2389":[7,1,4], +"a00906.html#gafabb67121c9c58fac9829287b55a2389":[9,0,34,2], +"a00906.html#gafb0b0b4ae54efabd5bd3c906935620ca":[7,1,149], +"a00906.html#gafb0b0b4ae54efabd5bd3c906935620ca":[9,0,34,147], +"a00906.html#gafbd09beedecedcf316a6c02e40d1e712":[9,0,34,353], +"a00906.html#gafbd09beedecedcf316a6c02e40d1e712":[7,1,355], +"a00906.html#gafd20c2250b83786f216a100bde94a670":[7,1,127], +"a00906.html#gafd20c2250b83786f216a100bde94a670":[9,0,34,125], +"a00906.html#gafd812ab5b70a92a4d3a420c4f7106ac5":[7,1,74], +"a00906.html#gafd812ab5b70a92a4d3a420c4f7106ac5":[9,0,34,72], +"a00906.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2":[9,0,34,273], +"a00906.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2":[7,1,275], +"a00906.html#gafeaf2094813c3184f0f128c37e3297dd":[9,0,34,243], +"a00906.html#gafeaf2094813c3184f0f128c37e3297dd":[7,1,245], +"a00906.html#gaffa79c933fa76585479228b15c2cbc83":[7,1,139], +"a00906.html#gaffa79c933fa76585479228b15c2cbc83":[9,0,34,137], +"a00907.html":[7,2], +"a00907.html#ga3f98e29cffa06446fc91b329703606af":[9,0,45,1], +"a00907.html#ga3f98e29cffa06446fc91b329703606af":[9,0,46,2], +"a00907.html#ga3f98e29cffa06446fc91b329703606af":[7,2,4], +"a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15":[9,0,45,3], +"a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15":[9,0,46,4], +"a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15":[7,2,6], +"a00907.html#gaa94f7bb4af0a3d6735225cc85d92cb50":[9,0,46,0], +"a00907.html#gaa94f7bb4af0a3d6735225cc85d92cb50":[7,2,1], +"a00907.html#gab729e6c838c0a247d4f226fb92492d96":[9,0,45,5], +"a00907.html#gab729e6c838c0a247d4f226fb92492d96":[9,0,46,6], +"a00907.html#gab729e6c838c0a247d4f226fb92492d96":[7,2,8], +"a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e":[9,0,45,0], +"a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e":[9,0,46,1], +"a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e":[7,2,3], +"a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[9,0,45,2], +"a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[9,0,46,3], +"a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12":[7,2,5], +"a00907.html#gad5e12e12d3030e28d75164286df9e5e9":[9,0,45,4], +"a00907.html#gad5e12e12d3030e28d75164286df9e5e9":[9,0,46,5], +"a00907.html#gad5e12e12d3030e28d75164286df9e5e9":[7,2,7], +"a00907.html#gafb234ccd6a80d09c0efbe336c2354267":[9,0,47,0], +"a00907.html#gafb234ccd6a80d09c0efbe336c2354267":[7,2,2], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf":[9,0,47,0,3], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf":[7,2,2,3], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c":[9,0,47,0,1], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c":[7,2,2,1], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad":[9,0,47,0,4], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad":[7,2,2,4], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268":[9,0,47,0,0], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268":[7,2,2,0], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae":[9,0,47,0,2], +"a00907.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae":[7,2,2,2], +"a00908.html":[7,3], +"a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[7,3,11] }; diff --git a/docs/html/navtreeindex6.js b/docs/html/navtreeindex6.js index d68462d44..db4e55268 100644 --- a/docs/html/navtreeindex6.js +++ b/docs/html/navtreeindex6.js @@ -1,253 +1,253 @@ var NAVTREEINDEX6 = { -"a03533.html#gac06336335e5f3191e3b1fc06d2830d96":[8,0,51,8], -"a03533.html#gac06336335e5f3191e3b1fc06d2830d96":[8,0,52,9], -"a03533.html#gac794fffe040e6d47a34c756720f3cbea":[6,3,8], -"a03533.html#gac794fffe040e6d47a34c756720f3cbea":[8,0,51,4], -"a03533.html#gac794fffe040e6d47a34c756720f3cbea":[8,0,52,4], -"a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089":[8,0,52,1], -"a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089":[6,3,4], -"a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e":[6,3,6], -"a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e":[8,0,51,2], -"a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e":[8,0,52,2], -"a03533.html#gad476da768505d62bcd85e8fb55cdb1eb":[8,0,51,0], -"a03533.html#gad476da768505d62bcd85e8fb55cdb1eb":[6,3,2], -"a03533.html#gaf8074d759241d3edd6d8ead1d7322a98":[6,3,15], -"a03533.html#gaf8074d759241d3edd6d8ead1d7322a98":[8,0,51,10], -"a03533.html#gaf8074d759241d3edd6d8ead1d7322a98":[8,0,52,11], -"a03533.html#gafdef2e89419fb8f93160efdd109ef8e4":[6,3,5], -"a03533.html#gafdef2e89419fb8f93160efdd109ef8e4":[8,0,51,1], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d":[6,3,4,5], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d":[8,0,52,1,5], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26":[8,0,52,1,1], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26":[6,3,4,1], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1":[6,3,4,4], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1":[8,0,52,1,4], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d":[8,0,52,1,2], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d":[6,3,4,2], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb":[8,0,52,1,0], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb":[6,3,4,0], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7":[6,3,4,3], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7":[8,0,52,1,3], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec":[6,3,4,6], -"a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec":[8,0,52,1,6], -"a03534.html":[6,4], -"a03534.html#ga01010ef58d52a05292f6a70ff3d53ce8":[6,4,19], -"a03534.html#ga01010ef58d52a05292f6a70ff3d53ce8":[8,0,58,12], -"a03534.html#ga048a6bb9781dbbc402409a172f976f74":[6,4,13], -"a03534.html#ga048a6bb9781dbbc402409a172f976f74":[8,0,58,6], -"a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[8,0,63,28], -"a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[8,0,64,39], -"a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[6,4,98], -"a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[8,0,63,20], -"a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[8,0,64,31], -"a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[6,4,89], -"a03534.html#ga0b492025e27a705b1792b6276eeaaf68":[8,0,59,1], -"a03534.html#ga0b492025e27a705b1792b6276eeaaf68":[8,0,60,1], -"a03534.html#ga0b492025e27a705b1792b6276eeaaf68":[6,4,48], -"a03534.html#ga0fb6e40d2f1496215af2f9ae23c861a0":[6,4,35], -"a03534.html#ga0fb6e40d2f1496215af2f9ae23c861a0":[8,0,64,6], -"a03534.html#ga1160e4293d7831e15a47e7b3f47013ca":[8,0,61,10], -"a03534.html#ga1160e4293d7831e15a47e7b3f47013ca":[8,0,62,20], -"a03534.html#ga1160e4293d7831e15a47e7b3f47013ca":[6,4,59], -"a03534.html#ga1201f3c1a20b5b105f9160bea104b102":[8,0,63,16], -"a03534.html#ga1201f3c1a20b5b105f9160bea104b102":[8,0,64,27], -"a03534.html#ga1201f3c1a20b5b105f9160bea104b102":[6,4,85], -"a03534.html#ga165018175f52421ea26fb33ccf335108":[6,4,64], -"a03534.html#ga165018175f52421ea26fb33ccf335108":[8,0,65,0], -"a03534.html#ga165018175f52421ea26fb33ccf335108":[8,0,66,0], -"a03534.html#ga1c0876228cb459f64347a63f3bae4c73":[6,4,42], -"a03534.html#ga1c0876228cb459f64347a63f3bae4c73":[8,0,64,11], -"a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[8,0,61,14], -"a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[8,0,62,24], -"a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[6,4,63], -"a03534.html#ga208c1ea765f192bd86b26964fbb5edcb":[6,4,72], -"a03534.html#ga208c1ea765f192bd86b26964fbb5edcb":[8,0,67,0], -"a03534.html#ga208c1ea765f192bd86b26964fbb5edcb":[8,0,68,0], -"a03534.html#ga240f94a03feb298e5c618677f2962a5a":[8,0,63,10], -"a03534.html#ga240f94a03feb298e5c618677f2962a5a":[6,4,78], -"a03534.html#ga240f94a03feb298e5c618677f2962a5a":[8,0,64,21], -"a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[8,0,63,17], -"a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[8,0,64,28], -"a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[6,4,86], -"a03534.html#ga294899ca77a6801288e1ccb148de1f8b":[6,4,36], -"a03534.html#ga294899ca77a6801288e1ccb148de1f8b":[8,0,64,7], -"a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49":[8,0,63,29], -"a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49":[8,0,64,40], -"a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49":[6,4,99], -"a03534.html#ga3583ada6da51d31cfe819894e8a9deeb":[6,4,68], -"a03534.html#ga3583ada6da51d31cfe819894e8a9deeb":[8,0,65,4], -"a03534.html#ga3583ada6da51d31cfe819894e8a9deeb":[8,0,66,4], -"a03534.html#ga368d038c02673b1e6ddacfd175786e6a":[8,0,61,0], -"a03534.html#ga368d038c02673b1e6ddacfd175786e6a":[6,4,49], -"a03534.html#ga368d038c02673b1e6ddacfd175786e6a":[8,0,62,10], -"a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[8,0,63,31], -"a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[8,0,64,42], -"a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[6,4,101], -"a03534.html#ga37893ca05c0e3ccbcec3725228b8a818":[8,0,61,3], -"a03534.html#ga37893ca05c0e3ccbcec3725228b8a818":[6,4,52], -"a03534.html#ga37893ca05c0e3ccbcec3725228b8a818":[8,0,62,13], -"a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[6,4,66], -"a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[8,0,65,2], -"a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[8,0,66,2], -"a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[8,0,61,2], -"a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[6,4,51], -"a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[8,0,62,12], -"a03534.html#ga420f3d438f3f8f7c140512910e54d09a":[6,4,25], -"a03534.html#ga420f3d438f3f8f7c140512910e54d09a":[8,0,62,6], -"a03534.html#ga47509d283523ab1892fb8746d6f4e37d":[6,4,8], -"a03534.html#ga47509d283523ab1892fb8746d6f4e37d":[8,0,58,1], -"a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[8,0,61,11], -"a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[8,0,62,21], -"a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[6,4,60], -"a03534.html#ga4889317187186736e62beb7538b870b2":[6,4,37], -"a03534.html#ga4889317187186736e62beb7538b870b2":[8,0,64,8], -"a03534.html#ga4b6db1523875a2b1453ef5e16989ecd4":[6,4,17], -"a03534.html#ga4b6db1523875a2b1453ef5e16989ecd4":[8,0,58,10], -"a03534.html#ga4c4d5fe988ebface171689f3aa122e12":[8,0,63,34], -"a03534.html#ga4c4d5fe988ebface171689f3aa122e12":[8,0,64,45], -"a03534.html#ga4c4d5fe988ebface171689f3aa122e12":[6,4,104], -"a03534.html#ga4cd9a96f5434fa3bc256878031d63846":[6,4,20], -"a03534.html#ga4cd9a96f5434fa3bc256878031d63846":[8,0,62,1], -"a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b":[8,0,63,13], -"a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b":[8,0,64,24], -"a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b":[6,4,81], -"a03534.html#ga5430f01929cd7269e04db08d1f28642f":[8,0,64,10], -"a03534.html#ga5430f01929cd7269e04db08d1f28642f":[6,4,40], -"a03534.html#ga593780a1837f517ce75bb19d9c5c9db7":[8,0,63,22], -"a03534.html#ga593780a1837f517ce75bb19d9c5c9db7":[8,0,64,33], -"a03534.html#ga593780a1837f517ce75bb19d9c5c9db7":[6,4,91], -"a03534.html#ga5a7cb98e18ad338f2eaf6594acb67c32":[6,4,16], -"a03534.html#ga5a7cb98e18ad338f2eaf6594acb67c32":[8,0,58,9], -"a03534.html#ga5da5a0589a6168aafd34b4aac4e07553":[8,0,61,8], -"a03534.html#ga5da5a0589a6168aafd34b4aac4e07553":[8,0,62,18], -"a03534.html#ga5da5a0589a6168aafd34b4aac4e07553":[6,4,57], -"a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[8,0,63,27], -"a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[8,0,64,38], -"a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[6,4,97], -"a03534.html#ga62604c78d688530173e203b02df180fa":[6,4,12], -"a03534.html#ga62604c78d688530173e203b02df180fa":[8,0,58,5], -"a03534.html#ga626158cfe54b84903885b2cc6c3880e4":[6,4,45], -"a03534.html#ga626158cfe54b84903885b2cc6c3880e4":[8,0,63,3], -"a03534.html#ga626158cfe54b84903885b2cc6c3880e4":[8,0,64,14], -"a03534.html#ga62a103735770a0f935a472fc2c1d78db":[6,4,41], -"a03534.html#ga62a103735770a0f935a472fc2c1d78db":[8,0,62,9], -"a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad":[8,0,59,4], -"a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad":[8,0,60,4], -"a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad":[6,4,109], -"a03534.html#ga7337facc592df42d585b22345e333ae3":[8,0,64,34], -"a03534.html#ga7337facc592df42d585b22345e333ae3":[6,4,92], -"a03534.html#ga7337facc592df42d585b22345e333ae3":[8,0,63,23], -"a03534.html#ga77184d0c71198b489ea9b57d07da824e":[6,4,43], -"a03534.html#ga77184d0c71198b489ea9b57d07da824e":[8,0,64,12], -"a03534.html#ga7a2e774fc8b12c4045dea335a86afca6":[6,4,9], -"a03534.html#ga7a2e774fc8b12c4045dea335a86afca6":[8,0,58,2], -"a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[8,0,64,36], -"a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[8,0,63,25], -"a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[6,4,95], -"a03534.html#ga7bd1ad830360fc8b988f855da6d0d5ba":[6,4,15], -"a03534.html#ga7bd1ad830360fc8b988f855da6d0d5ba":[8,0,58,8], -"a03534.html#ga7f389df0f74fd3593ab7e3a4d380433f":[6,4,33], -"a03534.html#ga7f389df0f74fd3593ab7e3a4d380433f":[8,0,62,7], -"a03534.html#ga7fa37d88f9405a3557110e58468f9e6e":[8,0,61,6], -"a03534.html#ga7fa37d88f9405a3557110e58468f9e6e":[6,4,55], -"a03534.html#ga7fa37d88f9405a3557110e58468f9e6e":[8,0,62,16], -"a03534.html#ga813047a656af7fe578d28fd54c840e8e":[6,4,39], -"a03534.html#ga813047a656af7fe578d28fd54c840e8e":[8,0,64,9], -"a03534.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121":[6,4,38], -"a03534.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121":[8,0,62,8], -"a03534.html#ga81e92ea606e86051afa84f2fac4898d6":[8,0,67,1], -"a03534.html#ga81e92ea606e86051afa84f2fac4898d6":[8,0,68,1], -"a03534.html#ga81e92ea606e86051afa84f2fac4898d6":[6,4,105], -"a03534.html#ga822ee0620c8d2d12ff971b9b35f9f5cd":[6,4,7], -"a03534.html#ga822ee0620c8d2d12ff971b9b35f9f5cd":[8,0,58,0], -"a03534.html#ga82737078e820e6d6beeca7466841e43d":[6,4,6], -"a03534.html#ga82737078e820e6d6beeca7466841e43d":[8,0,62,0], -"a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6":[8,0,63,33], -"a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6":[6,4,103], -"a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6":[8,0,64,44], -"a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[8,0,63,11], -"a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[6,4,79], -"a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[8,0,64,22], -"a03534.html#ga8b93faeabd399250750a5ed9401d897e":[8,0,61,15], -"a03534.html#ga8b93faeabd399250750a5ed9401d897e":[8,0,62,25], -"a03534.html#ga8b93faeabd399250750a5ed9401d897e":[6,4,110], -"a03534.html#ga8d14206d455a7a7835ed613e57c20dd3":[6,4,29], -"a03534.html#ga8d14206d455a7a7835ed613e57c20dd3":[8,0,64,1], -"a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[6,4,80], -"a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[8,0,63,12], -"a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[8,0,64,23], -"a03534.html#ga8e3e7c64650c92364bbac17f6a75474a":[6,4,11], -"a03534.html#ga8e3e7c64650c92364bbac17f6a75474a":[8,0,58,4], -"a03534.html#ga8fcfb1307197295422ace828b40ee37d":[6,4,32], -"a03534.html#ga8fcfb1307197295422ace828b40ee37d":[8,0,64,4], -"a03534.html#ga92ccf01a2c37be9caa7d840846672c83":[6,4,28], -"a03534.html#ga92ccf01a2c37be9caa7d840846672c83":[8,0,64,0], -"a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[8,0,63,26], -"a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[8,0,64,37], -"a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[6,4,96], -"a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c":[8,0,63,19], -"a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c":[8,0,64,30], -"a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c":[6,4,88], -"a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a":[8,0,63,9], -"a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a":[6,4,77], -"a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a":[8,0,64,20], -"a03534.html#ga9d5bf9ec84d28a0412377818805c32c4":[8,0,69,2], -"a03534.html#ga9d5bf9ec84d28a0412377818805c32c4":[8,0,70,2], -"a03534.html#ga9d5bf9ec84d28a0412377818805c32c4":[6,4,108], -"a03534.html#ga9e594a491dccf61a638be46da5d40ff9":[6,4,44], -"a03534.html#ga9e594a491dccf61a638be46da5d40ff9":[8,0,63,2], -"a03534.html#ga9e594a491dccf61a638be46da5d40ff9":[8,0,64,13], -"a03534.html#ga9f7223a578ce5c07a831638106c6ff6c":[6,4,83], -"a03534.html#ga9f7223a578ce5c07a831638106c6ff6c":[8,0,59,2], -"a03534.html#ga9f7223a578ce5c07a831638106c6ff6c":[8,0,60,2], -"a03534.html#gaa557358df9a164d6c1f14b1f53662c6c":[6,4,31], -"a03534.html#gaa557358df9a164d6c1f14b1f53662c6c":[8,0,64,3], -"a03534.html#gaa7c545ab9944dc7261d689680e2b00f4":[6,4,23], -"a03534.html#gaa7c545ab9944dc7261d689680e2b00f4":[8,0,62,4], -"a03534.html#gaa83e2f3a3f83b321dade6cd3211136db":[8,0,61,13], -"a03534.html#gaa83e2f3a3f83b321dade6cd3211136db":[8,0,62,23], -"a03534.html#gaa83e2f3a3f83b321dade6cd3211136db":[6,4,62], -"a03534.html#gaa8cecfc5c5c054d2875c03e77b7be15d":[6,4,27], -"a03534.html#gaa8cecfc5c5c054d2875c03e77b7be15d":[8,0,58,14], -"a03534.html#gaa93f0eb578d23995850d61f7d61c55c1":[6,4,26], -"a03534.html#gaa93f0eb578d23995850d61f7d61c55c1":[8,0,58,13], -"a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[6,4,73], -"a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[8,0,69,0], -"a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[8,0,70,0], -"a03534.html#gaab946b2ea5dba6d1addacc995a6989ae":[8,0,61,7], -"a03534.html#gaab946b2ea5dba6d1addacc995a6989ae":[6,4,56], -"a03534.html#gaab946b2ea5dba6d1addacc995a6989ae":[8,0,62,17], -"a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249":[8,0,61,12], -"a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249":[8,0,62,22], -"a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249":[6,4,61], -"a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[8,0,59,3], -"a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[6,4,94], -"a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[8,0,60,3], -"a03534.html#gaafc9ef8e0164226481b670fde0223e13":[6,4,70], -"a03534.html#gaafc9ef8e0164226481b670fde0223e13":[8,0,65,6], -"a03534.html#gaafc9ef8e0164226481b670fde0223e13":[8,0,66,6], -"a03534.html#gaafd66d6744314225ead24b3901bd6372":[8,0,58,7], -"a03534.html#gaafd66d6744314225ead24b3901bd6372":[6,4,14], -"a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02":[8,0,63,18], -"a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02":[8,0,64,29], -"a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02":[6,4,87], -"a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[8,0,61,4], -"a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[6,4,53], -"a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[8,0,62,14], -"a03534.html#gab78271af8c3e2837810fcdae6e3f5e28":[6,4,106], -"a03534.html#gab78271af8c3e2837810fcdae6e3f5e28":[8,0,70,1], -"a03534.html#gab78271af8c3e2837810fcdae6e3f5e28":[8,0,69,1], -"a03534.html#gaba31331bcfab203c786004b027512fab":[8,0,61,1], -"a03534.html#gaba31331bcfab203c786004b027512fab":[6,4,50], -"a03534.html#gaba31331bcfab203c786004b027512fab":[8,0,62,11], -"a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[8,0,59,0], -"a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[8,0,60,0], -"a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[6,4,47], -"a03534.html#gac3f22b75f15e8508f35d99b95d955842":[8,0,65,1], -"a03534.html#gac3f22b75f15e8508f35d99b95d955842":[8,0,66,1], -"a03534.html#gac3f22b75f15e8508f35d99b95d955842":[6,4,65], -"a03534.html#gacdb102fcae9f3a822a19b2ca487b415d":[8,0,63,7], -"a03534.html#gacdb102fcae9f3a822a19b2ca487b415d":[6,4,75], -"a03534.html#gacdb102fcae9f3a822a19b2ca487b415d":[8,0,64,18] +"a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[9,0,56,6], +"a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb":[9,0,57,7], +"a00908.html#ga29c6f441d31c84629954d50cc95d3c5d":[7,3,12], +"a00908.html#ga29c6f441d31c84629954d50cc95d3c5d":[9,0,56,7], +"a00908.html#ga29c6f441d31c84629954d50cc95d3c5d":[9,0,57,8], +"a00908.html#ga32693c852341e1b946bab3cca5f71761":[7,3,14], +"a00908.html#ga32693c852341e1b946bab3cca5f71761":[9,0,56,9], +"a00908.html#ga32693c852341e1b946bab3cca5f71761":[9,0,57,10], +"a00908.html#ga386353e8700eec35e4548dfa29f13b8d":[7,3,9], +"a00908.html#ga386353e8700eec35e4548dfa29f13b8d":[9,0,56,5], +"a00908.html#ga386353e8700eec35e4548dfa29f13b8d":[9,0,57,5], +"a00908.html#ga3a31087729a7a2e9a624572f234809fc":[7,3,16], +"a00908.html#ga3a31087729a7a2e9a624572f234809fc":[9,0,56,11], +"a00908.html#ga3a31087729a7a2e9a624572f234809fc":[9,0,57,12], +"a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0":[7,3,7], +"a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0":[9,0,56,3], +"a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0":[9,0,57,3], +"a00908.html#ga6a9d6c47d866cba4ddd4ee6e671743d5":[7,3,10], +"a00908.html#ga6a9d6c47d866cba4ddd4ee6e671743d5":[9,0,57,6], +"a00908.html#ga6f28f18f0d00c5301939724325f6b6fc":[7,3,17], +"a00908.html#ga6f28f18f0d00c5301939724325f6b6fc":[9,0,56,12], +"a00908.html#ga6f28f18f0d00c5301939724325f6b6fc":[9,0,57,13], +"a00908.html#ga75c11126f3fe81df3d6c27f5bb393303":[9,0,57,0], +"a00908.html#ga75c11126f3fe81df3d6c27f5bb393303":[7,3,3], +"a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3":[7,3,18], +"a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3":[9,0,56,13], +"a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3":[9,0,57,14], +"a00908.html#gac06336335e5f3191e3b1fc06d2830d96":[7,3,13], +"a00908.html#gac06336335e5f3191e3b1fc06d2830d96":[9,0,56,8], +"a00908.html#gac06336335e5f3191e3b1fc06d2830d96":[9,0,57,9], +"a00908.html#gac794fffe040e6d47a34c756720f3cbea":[7,3,8], +"a00908.html#gac794fffe040e6d47a34c756720f3cbea":[9,0,56,4], +"a00908.html#gac794fffe040e6d47a34c756720f3cbea":[9,0,57,4], +"a00908.html#gac7f674d4a0afb12d2f3c9c5e98cb1089":[9,0,57,1], +"a00908.html#gac7f674d4a0afb12d2f3c9c5e98cb1089":[7,3,4], +"a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e":[7,3,6], +"a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e":[9,0,56,2], +"a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e":[9,0,57,2], +"a00908.html#gad476da768505d62bcd85e8fb55cdb1eb":[9,0,56,0], +"a00908.html#gad476da768505d62bcd85e8fb55cdb1eb":[7,3,2], +"a00908.html#gaf8074d759241d3edd6d8ead1d7322a98":[7,3,15], +"a00908.html#gaf8074d759241d3edd6d8ead1d7322a98":[9,0,56,10], +"a00908.html#gaf8074d759241d3edd6d8ead1d7322a98":[9,0,57,11], +"a00908.html#gafdef2e89419fb8f93160efdd109ef8e4":[7,3,5], +"a00908.html#gafdef2e89419fb8f93160efdd109ef8e4":[9,0,56,1], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d":[7,3,4,5], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d":[9,0,57,1,5], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26":[9,0,57,1,1], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26":[7,3,4,1], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1":[7,3,4,4], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1":[9,0,57,1,4], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d":[7,3,4,2], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d":[9,0,57,1,2], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb":[9,0,57,1,0], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb":[7,3,4,0], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7":[7,3,4,3], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7":[9,0,57,1,3], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec":[7,3,4,6], +"a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec":[9,0,57,1,6], +"a00909.html":[7,4], +"a00909.html#ga01010ef58d52a05292f6a70ff3d53ce8":[7,4,19], +"a00909.html#ga01010ef58d52a05292f6a70ff3d53ce8":[9,0,63,12], +"a00909.html#ga048a6bb9781dbbc402409a172f976f74":[7,4,13], +"a00909.html#ga048a6bb9781dbbc402409a172f976f74":[9,0,63,6], +"a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[9,0,68,28], +"a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[9,0,69,39], +"a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73":[7,4,98], +"a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[9,0,68,20], +"a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[7,4,89], +"a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a":[9,0,69,31], +"a00909.html#ga0b492025e27a705b1792b6276eeaaf68":[7,4,48], +"a00909.html#ga0b492025e27a705b1792b6276eeaaf68":[9,0,64,1], +"a00909.html#ga0b492025e27a705b1792b6276eeaaf68":[9,0,65,1], +"a00909.html#ga0fb6e40d2f1496215af2f9ae23c861a0":[7,4,35], +"a00909.html#ga0fb6e40d2f1496215af2f9ae23c861a0":[9,0,69,6], +"a00909.html#ga1160e4293d7831e15a47e7b3f47013ca":[7,4,59], +"a00909.html#ga1160e4293d7831e15a47e7b3f47013ca":[9,0,66,10], +"a00909.html#ga1160e4293d7831e15a47e7b3f47013ca":[9,0,67,20], +"a00909.html#ga1201f3c1a20b5b105f9160bea104b102":[9,0,68,16], +"a00909.html#ga1201f3c1a20b5b105f9160bea104b102":[7,4,85], +"a00909.html#ga1201f3c1a20b5b105f9160bea104b102":[9,0,69,27], +"a00909.html#ga165018175f52421ea26fb33ccf335108":[7,4,64], +"a00909.html#ga165018175f52421ea26fb33ccf335108":[9,0,70,0], +"a00909.html#ga165018175f52421ea26fb33ccf335108":[9,0,71,0], +"a00909.html#ga1c0876228cb459f64347a63f3bae4c73":[9,0,69,11], +"a00909.html#ga1c0876228cb459f64347a63f3bae4c73":[7,4,42], +"a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[9,0,66,14], +"a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[7,4,63], +"a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f":[9,0,67,24], +"a00909.html#ga208c1ea765f192bd86b26964fbb5edcb":[7,4,72], +"a00909.html#ga208c1ea765f192bd86b26964fbb5edcb":[9,0,72,0], +"a00909.html#ga208c1ea765f192bd86b26964fbb5edcb":[9,0,73,0], +"a00909.html#ga240f94a03feb298e5c618677f2962a5a":[9,0,68,10], +"a00909.html#ga240f94a03feb298e5c618677f2962a5a":[7,4,78], +"a00909.html#ga240f94a03feb298e5c618677f2962a5a":[9,0,69,21], +"a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[9,0,68,17], +"a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[7,4,86], +"a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0":[9,0,69,28], +"a00909.html#ga294899ca77a6801288e1ccb148de1f8b":[7,4,36], +"a00909.html#ga294899ca77a6801288e1ccb148de1f8b":[9,0,69,7], +"a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49":[9,0,68,29], +"a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49":[9,0,69,40], +"a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49":[7,4,99], +"a00909.html#ga3583ada6da51d31cfe819894e8a9deeb":[7,4,68], +"a00909.html#ga3583ada6da51d31cfe819894e8a9deeb":[9,0,70,4], +"a00909.html#ga3583ada6da51d31cfe819894e8a9deeb":[9,0,71,4], +"a00909.html#ga368d038c02673b1e6ddacfd175786e6a":[7,4,49], +"a00909.html#ga368d038c02673b1e6ddacfd175786e6a":[9,0,66,0], +"a00909.html#ga368d038c02673b1e6ddacfd175786e6a":[9,0,67,10], +"a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[9,0,68,31], +"a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[9,0,69,42], +"a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5":[7,4,101], +"a00909.html#ga37893ca05c0e3ccbcec3725228b8a818":[7,4,52], +"a00909.html#ga37893ca05c0e3ccbcec3725228b8a818":[9,0,66,3], +"a00909.html#ga37893ca05c0e3ccbcec3725228b8a818":[9,0,67,13], +"a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[7,4,66], +"a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[9,0,70,2], +"a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77":[9,0,71,2], +"a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[7,4,51], +"a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[9,0,66,2], +"a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce":[9,0,67,12], +"a00909.html#ga420f3d438f3f8f7c140512910e54d09a":[7,4,25], +"a00909.html#ga420f3d438f3f8f7c140512910e54d09a":[9,0,67,6], +"a00909.html#ga47509d283523ab1892fb8746d6f4e37d":[7,4,8], +"a00909.html#ga47509d283523ab1892fb8746d6f4e37d":[9,0,63,1], +"a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[9,0,66,11], +"a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[7,4,60], +"a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f":[9,0,67,21], +"a00909.html#ga4889317187186736e62beb7538b870b2":[7,4,37], +"a00909.html#ga4889317187186736e62beb7538b870b2":[9,0,69,8], +"a00909.html#ga4b6db1523875a2b1453ef5e16989ecd4":[7,4,17], +"a00909.html#ga4b6db1523875a2b1453ef5e16989ecd4":[9,0,63,10], +"a00909.html#ga4c4d5fe988ebface171689f3aa122e12":[9,0,68,34], +"a00909.html#ga4c4d5fe988ebface171689f3aa122e12":[9,0,69,45], +"a00909.html#ga4c4d5fe988ebface171689f3aa122e12":[7,4,104], +"a00909.html#ga4cd9a96f5434fa3bc256878031d63846":[7,4,20], +"a00909.html#ga4cd9a96f5434fa3bc256878031d63846":[9,0,67,1], +"a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b":[9,0,68,13], +"a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b":[7,4,81], +"a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b":[9,0,69,24], +"a00909.html#ga5430f01929cd7269e04db08d1f28642f":[7,4,40], +"a00909.html#ga5430f01929cd7269e04db08d1f28642f":[9,0,69,10], +"a00909.html#ga593780a1837f517ce75bb19d9c5c9db7":[9,0,68,22], +"a00909.html#ga593780a1837f517ce75bb19d9c5c9db7":[7,4,91], +"a00909.html#ga593780a1837f517ce75bb19d9c5c9db7":[9,0,69,33], +"a00909.html#ga5a7cb98e18ad338f2eaf6594acb67c32":[7,4,16], +"a00909.html#ga5a7cb98e18ad338f2eaf6594acb67c32":[9,0,63,9], +"a00909.html#ga5da5a0589a6168aafd34b4aac4e07553":[9,0,66,8], +"a00909.html#ga5da5a0589a6168aafd34b4aac4e07553":[9,0,67,18], +"a00909.html#ga5da5a0589a6168aafd34b4aac4e07553":[7,4,57], +"a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[9,0,68,27], +"a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[9,0,69,38], +"a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce":[7,4,97], +"a00909.html#ga62604c78d688530173e203b02df180fa":[7,4,12], +"a00909.html#ga62604c78d688530173e203b02df180fa":[9,0,63,5], +"a00909.html#ga626158cfe54b84903885b2cc6c3880e4":[7,4,45], +"a00909.html#ga626158cfe54b84903885b2cc6c3880e4":[9,0,68,3], +"a00909.html#ga626158cfe54b84903885b2cc6c3880e4":[9,0,69,14], +"a00909.html#ga62a103735770a0f935a472fc2c1d78db":[7,4,41], +"a00909.html#ga62a103735770a0f935a472fc2c1d78db":[9,0,67,9], +"a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad":[9,0,64,4], +"a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad":[9,0,65,4], +"a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad":[7,4,109], +"a00909.html#ga7337facc592df42d585b22345e333ae3":[9,0,68,23], +"a00909.html#ga7337facc592df42d585b22345e333ae3":[7,4,92], +"a00909.html#ga7337facc592df42d585b22345e333ae3":[9,0,69,34], +"a00909.html#ga77184d0c71198b489ea9b57d07da824e":[7,4,43], +"a00909.html#ga77184d0c71198b489ea9b57d07da824e":[9,0,69,12], +"a00909.html#ga7a2e774fc8b12c4045dea335a86afca6":[9,0,63,2], +"a00909.html#ga7a2e774fc8b12c4045dea335a86afca6":[7,4,9], +"a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[9,0,68,25], +"a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[9,0,69,36], +"a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c":[7,4,95], +"a00909.html#ga7bd1ad830360fc8b988f855da6d0d5ba":[7,4,15], +"a00909.html#ga7bd1ad830360fc8b988f855da6d0d5ba":[9,0,63,8], +"a00909.html#ga7f389df0f74fd3593ab7e3a4d380433f":[7,4,33], +"a00909.html#ga7f389df0f74fd3593ab7e3a4d380433f":[9,0,67,7], +"a00909.html#ga7fa37d88f9405a3557110e58468f9e6e":[7,4,55], +"a00909.html#ga7fa37d88f9405a3557110e58468f9e6e":[9,0,66,6], +"a00909.html#ga7fa37d88f9405a3557110e58468f9e6e":[9,0,67,16], +"a00909.html#ga813047a656af7fe578d28fd54c840e8e":[7,4,39], +"a00909.html#ga813047a656af7fe578d28fd54c840e8e":[9,0,69,9], +"a00909.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121":[7,4,38], +"a00909.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121":[9,0,67,8], +"a00909.html#ga81e92ea606e86051afa84f2fac4898d6":[9,0,72,1], +"a00909.html#ga81e92ea606e86051afa84f2fac4898d6":[9,0,73,1], +"a00909.html#ga81e92ea606e86051afa84f2fac4898d6":[7,4,105], +"a00909.html#ga822ee0620c8d2d12ff971b9b35f9f5cd":[7,4,7], +"a00909.html#ga822ee0620c8d2d12ff971b9b35f9f5cd":[9,0,63,0], +"a00909.html#ga82737078e820e6d6beeca7466841e43d":[7,4,6], +"a00909.html#ga82737078e820e6d6beeca7466841e43d":[9,0,67,0], +"a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6":[9,0,68,33], +"a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6":[7,4,103], +"a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6":[9,0,69,44], +"a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[9,0,68,11], +"a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[7,4,79], +"a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398":[9,0,69,22], +"a00909.html#ga8b93faeabd399250750a5ed9401d897e":[9,0,66,15], +"a00909.html#ga8b93faeabd399250750a5ed9401d897e":[9,0,67,25], +"a00909.html#ga8b93faeabd399250750a5ed9401d897e":[7,4,110], +"a00909.html#ga8d14206d455a7a7835ed613e57c20dd3":[7,4,29], +"a00909.html#ga8d14206d455a7a7835ed613e57c20dd3":[9,0,69,1], +"a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[7,4,80], +"a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[9,0,69,23], +"a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2":[9,0,68,12], +"a00909.html#ga8e3e7c64650c92364bbac17f6a75474a":[9,0,63,4], +"a00909.html#ga8e3e7c64650c92364bbac17f6a75474a":[7,4,11], +"a00909.html#ga8fcfb1307197295422ace828b40ee37d":[7,4,32], +"a00909.html#ga8fcfb1307197295422ace828b40ee37d":[9,0,69,4], +"a00909.html#ga92ccf01a2c37be9caa7d840846672c83":[7,4,28], +"a00909.html#ga92ccf01a2c37be9caa7d840846672c83":[9,0,69,0], +"a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[9,0,68,26], +"a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[7,4,96], +"a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e":[9,0,69,37], +"a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c":[9,0,68,19], +"a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c":[7,4,88], +"a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c":[9,0,69,30], +"a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a":[9,0,68,9], +"a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a":[7,4,77], +"a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a":[9,0,69,20], +"a00909.html#ga9d5bf9ec84d28a0412377818805c32c4":[9,0,74,2], +"a00909.html#ga9d5bf9ec84d28a0412377818805c32c4":[9,0,75,2], +"a00909.html#ga9d5bf9ec84d28a0412377818805c32c4":[7,4,108], +"a00909.html#ga9e594a491dccf61a638be46da5d40ff9":[7,4,44], +"a00909.html#ga9e594a491dccf61a638be46da5d40ff9":[9,0,68,2], +"a00909.html#ga9e594a491dccf61a638be46da5d40ff9":[9,0,69,13], +"a00909.html#ga9f7223a578ce5c07a831638106c6ff6c":[9,0,64,2], +"a00909.html#ga9f7223a578ce5c07a831638106c6ff6c":[9,0,65,2], +"a00909.html#ga9f7223a578ce5c07a831638106c6ff6c":[7,4,83], +"a00909.html#gaa557358df9a164d6c1f14b1f53662c6c":[7,4,31], +"a00909.html#gaa557358df9a164d6c1f14b1f53662c6c":[9,0,69,3], +"a00909.html#gaa7c545ab9944dc7261d689680e2b00f4":[7,4,23], +"a00909.html#gaa7c545ab9944dc7261d689680e2b00f4":[9,0,67,4], +"a00909.html#gaa83e2f3a3f83b321dade6cd3211136db":[9,0,67,23], +"a00909.html#gaa83e2f3a3f83b321dade6cd3211136db":[9,0,66,13], +"a00909.html#gaa83e2f3a3f83b321dade6cd3211136db":[7,4,62], +"a00909.html#gaa8cecfc5c5c054d2875c03e77b7be15d":[7,4,27], +"a00909.html#gaa8cecfc5c5c054d2875c03e77b7be15d":[9,0,63,14], +"a00909.html#gaa93f0eb578d23995850d61f7d61c55c1":[7,4,26], +"a00909.html#gaa93f0eb578d23995850d61f7d61c55c1":[9,0,63,13], +"a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[7,4,73], +"a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[9,0,74,0], +"a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3":[9,0,75,0], +"a00909.html#gaab946b2ea5dba6d1addacc995a6989ae":[9,0,67,17], +"a00909.html#gaab946b2ea5dba6d1addacc995a6989ae":[7,4,56], +"a00909.html#gaab946b2ea5dba6d1addacc995a6989ae":[9,0,66,7], +"a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249":[9,0,67,22], +"a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249":[7,4,61], +"a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249":[9,0,66,12], +"a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[9,0,64,3] }; diff --git a/docs/html/navtreeindex7.js b/docs/html/navtreeindex7.js index 1e56c0675..07a50bab9 100644 --- a/docs/html/navtreeindex7.js +++ b/docs/html/navtreeindex7.js @@ -1,253 +1,253 @@ var NAVTREEINDEX7 = { -"a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe":[8,0,63,4], -"a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe":[8,0,64,15], -"a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe":[6,4,46], -"a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7":[6,4,90], -"a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7":[8,0,64,32], -"a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7":[8,0,63,21], -"a03534.html#gad499cd0bdce799a3278f99c80e0f9143":[8,0,63,30], -"a03534.html#gad499cd0bdce799a3278f99c80e0f9143":[8,0,64,41], -"a03534.html#gad499cd0bdce799a3278f99c80e0f9143":[6,4,100], -"a03534.html#gad93de2bdacdcfe04abb0e991a8401388":[8,0,63,14], -"a03534.html#gad93de2bdacdcfe04abb0e991a8401388":[6,4,82], -"a03534.html#gad93de2bdacdcfe04abb0e991a8401388":[8,0,64,25], -"a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[6,4,93], -"a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[8,0,64,35], -"a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[8,0,63,24], -"a03534.html#gadd219151c074c3ec7785d68741a1cae1":[8,0,61,5], -"a03534.html#gadd219151c074c3ec7785d68741a1cae1":[6,4,54], -"a03534.html#gadd219151c074c3ec7785d68741a1cae1":[8,0,62,15], -"a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[6,4,74], -"a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[8,0,64,17], -"a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[8,0,63,6], -"a03534.html#gae058e0e8944f408fa251bc4f4136d79c":[6,4,24], -"a03534.html#gae058e0e8944f408fa251bc4f4136d79c":[8,0,62,5], -"a03534.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d":[6,4,18], -"a03534.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d":[8,0,58,11], -"a03534.html#gae1f109cb8edea615c0f7126527208452":[6,4,71], -"a03534.html#gae1f109cb8edea615c0f7126527208452":[8,0,64,16], -"a03534.html#gae1f109cb8edea615c0f7126527208452":[8,0,63,5], -"a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[8,0,62,19], -"a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[6,4,58], -"a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[8,0,61,9], -"a03534.html#gae7c32139e6dce0fe25b4598299a77df6":[6,4,30], -"a03534.html#gae7c32139e6dce0fe25b4598299a77df6":[8,0,64,2], -"a03534.html#gae920fb7b153cf98e0d10365ec1d364de":[6,4,21], -"a03534.html#gae920fb7b153cf98e0d10365ec1d364de":[8,0,62,2], -"a03534.html#gae9e78b17340263e97844ccaf72ca16ac":[6,4,34], -"a03534.html#gae9e78b17340263e97844ccaf72ca16ac":[8,0,64,5], -"a03534.html#gaea155533fdd352d6602d3e2fc717930f":[8,0,58,3], -"a03534.html#gaea155533fdd352d6602d3e2fc717930f":[6,4,10], -"a03534.html#gaeee4091e249b8fc202d5126a8374eeb1":[8,0,65,3], -"a03534.html#gaeee4091e249b8fc202d5126a8374eeb1":[6,4,67], -"a03534.html#gaeee4091e249b8fc202d5126a8374eeb1":[8,0,66,3], -"a03534.html#gaf156257cda87df879f54c07e80bc0e8d":[8,0,65,5], -"a03534.html#gaf156257cda87df879f54c07e80bc0e8d":[8,0,66,5], -"a03534.html#gaf156257cda87df879f54c07e80bc0e8d":[6,4,69], -"a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[8,0,64,43], -"a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[8,0,63,32], -"a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[6,4,102], -"a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[8,0,64,26], -"a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[6,4,84], -"a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[8,0,63,15], -"a03534.html#gaf64c228c28f42f15e9b43457146d1504":[8,0,63,8], -"a03534.html#gaf64c228c28f42f15e9b43457146d1504":[6,4,76], -"a03534.html#gaf64c228c28f42f15e9b43457146d1504":[8,0,64,19], -"a03534.html#gafe13e835d79405f28daa3449f732ebcd":[8,0,62,3], -"a03534.html#gafe13e835d79405f28daa3449f732ebcd":[6,4,22], -"a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed":[8,0,67,2], -"a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed":[6,4,107], -"a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed":[8,0,68,2], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207":[8,0,64,11,0], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207":[6,4,42,0], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb":[6,4,42,2], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb":[8,0,64,11,2], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea":[8,0,64,11,1], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea":[6,4,42,1], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05":[6,4,42,3], -"a03534.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05":[8,0,64,11,3], -"a03534.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44":[6,4,40,0], -"a03534.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44":[8,0,64,10,0], -"a03534.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb":[8,0,64,10,1], -"a03534.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb":[6,4,40,1], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161":[6,4,41,3], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161":[8,0,62,9,3], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5":[6,4,41,0], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5":[8,0,62,9,0], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e":[6,4,41,4], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e":[8,0,62,9,4], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a":[6,4,41,2], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a":[8,0,62,9,2], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d":[6,4,41,1], -"a03534.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d":[8,0,62,9,1], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15":[6,4,43,2], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15":[8,0,64,12,2], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106":[8,0,64,12,6], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106":[6,4,43,6], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc":[6,4,43,5], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc":[8,0,64,12,5], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604":[6,4,43,3], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604":[8,0,64,12,3], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc":[6,4,43,1], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc":[8,0,64,12,1], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585":[8,0,64,12,7], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585":[6,4,43,7], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f":[8,0,64,12,8], -"a03534.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f":[6,4,43,8], -"a03534.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3":[6,4,43,4], -"a03534.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3":[8,0,64,12,4], -"a03534.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68":[6,4,43,0], -"a03534.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68":[8,0,64,12,0], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1":[8,0,64,9,0], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1":[6,4,39,0], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909":[6,4,39,9], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909":[8,0,64,9,9], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41":[6,4,39,2], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41":[8,0,64,9,2], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b":[6,4,39,1], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b":[8,0,64,9,1], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e":[6,4,39,4], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e":[8,0,64,9,4], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972":[6,4,39,8], -"a03534.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972":[8,0,64,9,8], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7":[6,4,39,7], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7":[8,0,64,9,7], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff":[6,4,39,3], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff":[8,0,64,9,3], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5":[8,0,64,9,6], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5":[6,4,39,6], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2":[8,0,64,9,5], -"a03534.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2":[6,4,39,5], -"a03535.html":[6,5], -"a03535.html#ga05fa8c58bf4408381db8871b0dca64b6":[6,5,7], -"a03535.html#ga05fa8c58bf4408381db8871b0dca64b6":[8,0,1,4], -"a03535.html#ga0698e0c55ad700fe57498321e842cb38":[8,0,12,2], -"a03535.html#ga0698e0c55ad700fe57498321e842cb38":[8,0,1,63], -"a03535.html#ga0698e0c55ad700fe57498321e842cb38":[6,5,73], -"a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120":[8,0,1,95], -"a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120":[6,5,108], -"a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120":[8,0,20,15], -"a03535.html#ga0777a86aa412a97b19cc72a12c171b94":[8,0,24,3], -"a03535.html#ga0777a86aa412a97b19cc72a12c171b94":[8,0,1,113], -"a03535.html#ga0777a86aa412a97b19cc72a12c171b94":[6,5,126], -"a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[8,0,1,79], -"a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[6,5,92], -"a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[8,0,17,8], -"a03535.html#ga0cf22e893c713890faeb9fa8784760b1":[8,0,1,15], -"a03535.html#ga0cf22e893c713890faeb9fa8784760b1":[6,5,18], -"a03535.html#ga0cf22e893c713890faeb9fa8784760b1":[8,0,2,6], -"a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[8,0,1,19], -"a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[6,5,22], -"a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[8,0,2,10], -"a03535.html#ga114a721517c95d5ba5fcac5b226669d6":[8,0,14,0], -"a03535.html#ga114a721517c95d5ba5fcac5b226669d6":[8,0,1,25], -"a03535.html#ga114a721517c95d5ba5fcac5b226669d6":[6,5,34], -"a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[8,0,47,7], -"a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[8,0,48,5], -"a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[6,5,32], -"a03535.html#ga14cf75d1be264ac1125087d76ee6344c":[6,5,127], -"a03535.html#ga14cf75d1be264ac1125087d76ee6344c":[8,0,24,4], -"a03535.html#ga14cf75d1be264ac1125087d76ee6344c":[8,0,1,114], -"a03535.html#ga1518196e269b549eec78087abd130de7":[8,0,0,2], -"a03535.html#ga1518196e269b549eec78087abd130de7":[8,0,1,24], -"a03535.html#ga1518196e269b549eec78087abd130de7":[6,5,33], -"a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[8,0,47,2], -"a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[8,0,48,0], -"a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[6,5,27], -"a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57":[8,0,47,10], -"a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57":[8,0,48,11], -"a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57":[6,5,131], -"a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[8,0,1,103], -"a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[6,5,116], -"a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[8,0,23,2], -"a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[8,0,47,22], -"a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[8,0,48,23], -"a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[6,5,144], -"a03535.html#ga1db86704035048066a370815b657234d":[6,5,100], -"a03535.html#ga1db86704035048066a370815b657234d":[8,0,1,87], -"a03535.html#ga1db86704035048066a370815b657234d":[8,0,20,7], -"a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[8,0,24,6], -"a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[6,5,129], -"a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[8,0,1,116], -"a03535.html#ga1f88c481b376a7be9112ff081c4ad854":[8,0,48,9], -"a03535.html#ga1f88c481b376a7be9112ff081c4ad854":[6,5,84], -"a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c":[8,0,1,34], -"a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c":[6,5,43], -"a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c":[8,0,6,1], -"a03535.html#ga2239ae3a87c341a48aa108bd82a58552":[8,0,14,4], -"a03535.html#ga2239ae3a87c341a48aa108bd82a58552":[8,0,1,70], -"a03535.html#ga2239ae3a87c341a48aa108bd82a58552":[6,5,80], -"a03535.html#ga2293df1c1c794496790bae25d3844fa5":[8,0,14,2], -"a03535.html#ga2293df1c1c794496790bae25d3844fa5":[8,0,1,68], -"a03535.html#ga2293df1c1c794496790bae25d3844fa5":[6,5,78], -"a03535.html#ga248355e3b4bcdd5d728f214fc2eb79e4":[8,0,48,8], -"a03535.html#ga248355e3b4bcdd5d728f214fc2eb79e4":[6,5,83], -"a03535.html#ga25d2895192d93c524f5dba92a492cdfb":[8,0,12,0], -"a03535.html#ga25d2895192d93c524f5dba92a492cdfb":[8,0,1,61], -"a03535.html#ga25d2895192d93c524f5dba92a492cdfb":[6,5,71], -"a03535.html#ga2649126606db8a0b64ae8e19d09f6600":[8,0,1,55], -"a03535.html#ga2649126606db8a0b64ae8e19d09f6600":[6,5,65], -"a03535.html#ga2649126606db8a0b64ae8e19d09f6600":[8,0,10,3], -"a03535.html#ga2c3e18de900ba705192963d08b37f600":[8,0,1,102], -"a03535.html#ga2c3e18de900ba705192963d08b37f600":[6,5,115], -"a03535.html#ga2c3e18de900ba705192963d08b37f600":[8,0,23,1], -"a03535.html#ga310a017cddce9ef05071cb619b4b6db9":[6,5,103], -"a03535.html#ga310a017cddce9ef05071cb619b4b6db9":[8,0,1,90], -"a03535.html#ga310a017cddce9ef05071cb619b4b6db9":[8,0,20,10], -"a03535.html#ga31d269ccdafd08519a899a8aebf53df1":[6,5,98], -"a03535.html#ga31d269ccdafd08519a899a8aebf53df1":[8,0,1,85], -"a03535.html#ga31d269ccdafd08519a899a8aebf53df1":[8,0,20,5], -"a03535.html#ga34b7b6d46868f0d63d195216ef9939b1":[8,0,1,32], -"a03535.html#ga34b7b6d46868f0d63d195216ef9939b1":[6,5,41], -"a03535.html#ga34b7b6d46868f0d63d195216ef9939b1":[8,0,5,0], -"a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[8,0,1,54], -"a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[6,5,64], -"a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[8,0,10,2], -"a03535.html#ga39003da4dc8a0b8999f1325c2f96f641":[8,0,47,17], -"a03535.html#ga39003da4dc8a0b8999f1325c2f96f641":[8,0,48,18], -"a03535.html#ga39003da4dc8a0b8999f1325c2f96f641":[6,5,138], -"a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[6,5,107], -"a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[8,0,1,94], -"a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[8,0,20,14], -"a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[8,0,0,9], -"a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[6,5,94], -"a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[8,0,1,81], -"a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[6,5,93], -"a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[8,0,1,80], -"a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[8,0,17,9], -"a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[8,0,48,10], -"a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[6,5,130], -"a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[8,0,47,9], -"a03535.html#ga40a6c01492a76366f9402302b527c4e1":[8,0,1,60], -"a03535.html#ga40a6c01492a76366f9402302b527c4e1":[6,5,70], -"a03535.html#ga40a6c01492a76366f9402302b527c4e1":[8,0,11,0], -"a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d":[8,0,1,100], -"a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d":[6,5,113], -"a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d":[8,0,22,0], -"a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d":[8,0,1,46], -"a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d":[6,5,56], -"a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d":[8,0,9,0], -"a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[8,0,24,5], -"a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[8,0,1,115], -"a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[6,5,128], -"a03535.html#ga481179181349c801c16fc1ab698f2f24":[8,0,47,8], -"a03535.html#ga481179181349c801c16fc1ab698f2f24":[8,0,48,6], -"a03535.html#ga481179181349c801c16fc1ab698f2f24":[6,5,55], -"a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4":[8,0,0,4], -"a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4":[8,0,1,43], -"a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4":[6,5,52], -"a03535.html#ga4b7e341b530fcac3f4eaae874bb36422":[8,0,47,4], -"a03535.html#ga4b7e341b530fcac3f4eaae874bb36422":[8,0,48,2], -"a03535.html#ga4b7e341b530fcac3f4eaae874bb36422":[6,5,29], -"a03535.html#ga4bf8b665fe1712626a480742c2daa16b":[8,0,1,47], -"a03535.html#ga4bf8b665fe1712626a480742c2daa16b":[6,5,57], -"a03535.html#ga4bf8b665fe1712626a480742c2daa16b":[8,0,20,1], -"a03535.html#ga4c1f62e502c168be9261d2af921e78ba":[6,5,9], -"a03535.html#ga4c1f62e502c168be9261d2af921e78ba":[8,0,1,6], -"a03535.html#ga4fa442396dfbb89e59dfca837b565cec":[8,0,16,0], -"a03535.html#ga4fa442396dfbb89e59dfca837b565cec":[8,0,1,73], -"a03535.html#ga4fa442396dfbb89e59dfca837b565cec":[6,5,86], -"a03535.html#ga50731dca3906502d901f5762aa4d9e71":[8,0,47,20], -"a03535.html#ga50731dca3906502d901f5762aa4d9e71":[8,0,48,21] +"a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[9,0,65,3], +"a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4":[7,4,94], +"a00909.html#gaafc9ef8e0164226481b670fde0223e13":[9,0,70,6], +"a00909.html#gaafc9ef8e0164226481b670fde0223e13":[9,0,71,6], +"a00909.html#gaafc9ef8e0164226481b670fde0223e13":[7,4,70], +"a00909.html#gaafd66d6744314225ead24b3901bd6372":[7,4,14], +"a00909.html#gaafd66d6744314225ead24b3901bd6372":[9,0,63,7], +"a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02":[7,4,87], +"a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02":[9,0,68,18], +"a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02":[9,0,69,29], +"a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[7,4,53], +"a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[9,0,66,4], +"a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d":[9,0,67,14], +"a00909.html#gab78271af8c3e2837810fcdae6e3f5e28":[9,0,75,1], +"a00909.html#gab78271af8c3e2837810fcdae6e3f5e28":[9,0,74,1], +"a00909.html#gab78271af8c3e2837810fcdae6e3f5e28":[7,4,106], +"a00909.html#gaba31331bcfab203c786004b027512fab":[7,4,50], +"a00909.html#gaba31331bcfab203c786004b027512fab":[9,0,66,1], +"a00909.html#gaba31331bcfab203c786004b027512fab":[9,0,67,11], +"a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[7,4,47], +"a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[9,0,65,0], +"a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6":[9,0,64,0], +"a00909.html#gac3f22b75f15e8508f35d99b95d955842":[9,0,70,1], +"a00909.html#gac3f22b75f15e8508f35d99b95d955842":[7,4,65], +"a00909.html#gac3f22b75f15e8508f35d99b95d955842":[9,0,71,1], +"a00909.html#gacdb102fcae9f3a822a19b2ca487b415d":[9,0,68,7], +"a00909.html#gacdb102fcae9f3a822a19b2ca487b415d":[7,4,75], +"a00909.html#gacdb102fcae9f3a822a19b2ca487b415d":[9,0,69,18], +"a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe":[7,4,46], +"a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe":[9,0,68,4], +"a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe":[9,0,69,15], +"a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7":[9,0,68,21], +"a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7":[9,0,69,32], +"a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7":[7,4,90], +"a00909.html#gad499cd0bdce799a3278f99c80e0f9143":[7,4,100], +"a00909.html#gad499cd0bdce799a3278f99c80e0f9143":[9,0,69,41], +"a00909.html#gad499cd0bdce799a3278f99c80e0f9143":[9,0,68,30], +"a00909.html#gad93de2bdacdcfe04abb0e991a8401388":[9,0,68,14], +"a00909.html#gad93de2bdacdcfe04abb0e991a8401388":[7,4,82], +"a00909.html#gad93de2bdacdcfe04abb0e991a8401388":[9,0,69,25], +"a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[7,4,93], +"a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[9,0,69,35], +"a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129":[9,0,68,24], +"a00909.html#gadd219151c074c3ec7785d68741a1cae1":[9,0,67,15], +"a00909.html#gadd219151c074c3ec7785d68741a1cae1":[9,0,66,5], +"a00909.html#gadd219151c074c3ec7785d68741a1cae1":[7,4,54], +"a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[9,0,68,6], +"a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[9,0,69,17], +"a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422":[7,4,74], +"a00909.html#gae058e0e8944f408fa251bc4f4136d79c":[7,4,24], +"a00909.html#gae058e0e8944f408fa251bc4f4136d79c":[9,0,67,5], +"a00909.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d":[9,0,63,11], +"a00909.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d":[7,4,18], +"a00909.html#gae1f109cb8edea615c0f7126527208452":[9,0,68,5], +"a00909.html#gae1f109cb8edea615c0f7126527208452":[7,4,71], +"a00909.html#gae1f109cb8edea615c0f7126527208452":[9,0,69,16], +"a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[9,0,66,9], +"a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[7,4,58], +"a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f":[9,0,67,19], +"a00909.html#gae7c32139e6dce0fe25b4598299a77df6":[7,4,30], +"a00909.html#gae7c32139e6dce0fe25b4598299a77df6":[9,0,69,2], +"a00909.html#gae920fb7b153cf98e0d10365ec1d364de":[7,4,21], +"a00909.html#gae920fb7b153cf98e0d10365ec1d364de":[9,0,67,2], +"a00909.html#gae9e78b17340263e97844ccaf72ca16ac":[7,4,34], +"a00909.html#gae9e78b17340263e97844ccaf72ca16ac":[9,0,69,5], +"a00909.html#gaea155533fdd352d6602d3e2fc717930f":[7,4,10], +"a00909.html#gaea155533fdd352d6602d3e2fc717930f":[9,0,63,3], +"a00909.html#gaeee4091e249b8fc202d5126a8374eeb1":[9,0,71,3], +"a00909.html#gaeee4091e249b8fc202d5126a8374eeb1":[7,4,67], +"a00909.html#gaeee4091e249b8fc202d5126a8374eeb1":[9,0,70,3], +"a00909.html#gaf156257cda87df879f54c07e80bc0e8d":[7,4,69], +"a00909.html#gaf156257cda87df879f54c07e80bc0e8d":[9,0,70,5], +"a00909.html#gaf156257cda87df879f54c07e80bc0e8d":[9,0,71,5], +"a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[7,4,102], +"a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[9,0,68,32], +"a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2":[9,0,69,43], +"a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[9,0,69,26], +"a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[7,4,84], +"a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6":[9,0,68,15], +"a00909.html#gaf64c228c28f42f15e9b43457146d1504":[7,4,76], +"a00909.html#gaf64c228c28f42f15e9b43457146d1504":[9,0,68,8], +"a00909.html#gaf64c228c28f42f15e9b43457146d1504":[9,0,69,19], +"a00909.html#gafe13e835d79405f28daa3449f732ebcd":[7,4,22], +"a00909.html#gafe13e835d79405f28daa3449f732ebcd":[9,0,67,3], +"a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed":[9,0,73,2], +"a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed":[7,4,107], +"a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed":[9,0,72,2], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207":[9,0,69,11,0], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207":[7,4,42,0], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb":[9,0,69,11,2], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb":[7,4,42,2], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea":[7,4,42,1], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea":[9,0,69,11,1], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05":[9,0,69,11,3], +"a00909.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05":[7,4,42,3], +"a00909.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44":[7,4,40,0], +"a00909.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44":[9,0,69,10,0], +"a00909.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb":[7,4,40,1], +"a00909.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb":[9,0,69,10,1], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161":[7,4,41,3], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161":[9,0,67,9,3], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5":[7,4,41,0], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5":[9,0,67,9,0], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e":[9,0,67,9,4], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e":[7,4,41,4], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a":[9,0,67,9,2], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a":[7,4,41,2], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d":[7,4,41,1], +"a00909.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d":[9,0,67,9,1], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15":[7,4,43,2], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15":[9,0,69,12,2], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106":[7,4,43,6], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106":[9,0,69,12,6], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc":[7,4,43,5], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc":[9,0,69,12,5], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604":[7,4,43,3], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604":[9,0,69,12,3], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc":[7,4,43,1], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc":[9,0,69,12,1], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585":[9,0,69,12,7], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585":[7,4,43,7], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f":[7,4,43,8], +"a00909.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f":[9,0,69,12,8], +"a00909.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3":[9,0,69,12,4], +"a00909.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3":[7,4,43,4], +"a00909.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68":[7,4,43,0], +"a00909.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68":[9,0,69,12,0], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1":[7,4,39,0], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1":[9,0,69,9,0], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909":[7,4,39,9], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909":[9,0,69,9,9], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41":[7,4,39,2], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41":[9,0,69,9,2], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b":[7,4,39,1], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b":[9,0,69,9,1], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e":[7,4,39,4], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e":[9,0,69,9,4], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972":[7,4,39,8], +"a00909.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972":[9,0,69,9,8], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7":[7,4,39,7], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7":[9,0,69,9,7], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff":[7,4,39,3], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff":[9,0,69,9,3], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5":[7,4,39,6], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5":[9,0,69,9,6], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2":[7,4,39,5], +"a00909.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2":[9,0,69,9,5], +"a00910.html":[7,5], +"a00910.html#ga05fa8c58bf4408381db8871b0dca64b6":[7,5,8], +"a00910.html#ga05fa8c58bf4408381db8871b0dca64b6":[9,0,1,5], +"a00910.html#ga0698e0c55ad700fe57498321e842cb38":[9,0,1,65], +"a00910.html#ga0698e0c55ad700fe57498321e842cb38":[7,5,75], +"a00910.html#ga0698e0c55ad700fe57498321e842cb38":[9,0,17,2], +"a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120":[9,0,25,15], +"a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120":[7,5,110], +"a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120":[9,0,1,97], +"a00910.html#ga0777a86aa412a97b19cc72a12c171b94":[9,0,1,115], +"a00910.html#ga0777a86aa412a97b19cc72a12c171b94":[7,5,128], +"a00910.html#ga0777a86aa412a97b19cc72a12c171b94":[9,0,29,3], +"a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[9,0,1,81], +"a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[7,5,94], +"a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7":[9,0,22,8], +"a00910.html#ga0cf22e893c713890faeb9fa8784760b1":[7,5,19], +"a00910.html#ga0cf22e893c713890faeb9fa8784760b1":[9,0,1,16], +"a00910.html#ga0cf22e893c713890faeb9fa8784760b1":[9,0,4,2], +"a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[7,5,24], +"a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[9,0,1,21], +"a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad":[9,0,5,4], +"a00910.html#ga114a721517c95d5ba5fcac5b226669d6":[9,0,1,27], +"a00910.html#ga114a721517c95d5ba5fcac5b226669d6":[7,5,36], +"a00910.html#ga114a721517c95d5ba5fcac5b226669d6":[9,0,19,0], +"a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[9,0,52,7], +"a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[9,0,53,5], +"a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c":[7,5,34], +"a00910.html#ga14cf75d1be264ac1125087d76ee6344c":[9,0,1,116], +"a00910.html#ga14cf75d1be264ac1125087d76ee6344c":[7,5,129], +"a00910.html#ga14cf75d1be264ac1125087d76ee6344c":[9,0,29,4], +"a00910.html#ga1518196e269b549eec78087abd130de7":[9,0,0,2], +"a00910.html#ga1518196e269b549eec78087abd130de7":[9,0,1,26], +"a00910.html#ga1518196e269b549eec78087abd130de7":[7,5,35], +"a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[9,0,52,2], +"a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[9,0,53,0], +"a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b":[7,5,29], +"a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57":[9,0,52,10], +"a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57":[9,0,53,11], +"a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57":[7,5,133], +"a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[9,0,28,2], +"a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[9,0,1,105], +"a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6":[7,5,118], +"a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[9,0,52,22], +"a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[9,0,53,23], +"a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe":[7,5,146], +"a00910.html#ga1db86704035048066a370815b657234d":[9,0,1,89], +"a00910.html#ga1db86704035048066a370815b657234d":[9,0,25,7], +"a00910.html#ga1db86704035048066a370815b657234d":[7,5,102], +"a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[9,0,29,6], +"a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[9,0,1,118], +"a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2":[7,5,131], +"a00910.html#ga1f88c481b376a7be9112ff081c4ad854":[9,0,53,9], +"a00910.html#ga1f88c481b376a7be9112ff081c4ad854":[7,5,86], +"a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c":[9,0,11,1], +"a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c":[9,0,1,36], +"a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c":[7,5,45], +"a00910.html#ga2239ae3a87c341a48aa108bd82a58552":[9,0,1,72], +"a00910.html#ga2239ae3a87c341a48aa108bd82a58552":[7,5,82], +"a00910.html#ga2239ae3a87c341a48aa108bd82a58552":[9,0,19,4], +"a00910.html#ga2293df1c1c794496790bae25d3844fa5":[9,0,1,70], +"a00910.html#ga2293df1c1c794496790bae25d3844fa5":[7,5,80], +"a00910.html#ga2293df1c1c794496790bae25d3844fa5":[9,0,19,2], +"a00910.html#ga248355e3b4bcdd5d728f214fc2eb79e4":[9,0,53,8], +"a00910.html#ga248355e3b4bcdd5d728f214fc2eb79e4":[7,5,85], +"a00910.html#ga25d2895192d93c524f5dba92a492cdfb":[9,0,1,63], +"a00910.html#ga25d2895192d93c524f5dba92a492cdfb":[7,5,73], +"a00910.html#ga25d2895192d93c524f5dba92a492cdfb":[9,0,17,0], +"a00910.html#ga2649126606db8a0b64ae8e19d09f6600":[9,0,15,3], +"a00910.html#ga2649126606db8a0b64ae8e19d09f6600":[9,0,1,57], +"a00910.html#ga2649126606db8a0b64ae8e19d09f6600":[7,5,67], +"a00910.html#ga2c3e18de900ba705192963d08b37f600":[9,0,28,1], +"a00910.html#ga2c3e18de900ba705192963d08b37f600":[9,0,1,104], +"a00910.html#ga2c3e18de900ba705192963d08b37f600":[7,5,117], +"a00910.html#ga310a017cddce9ef05071cb619b4b6db9":[9,0,1,92], +"a00910.html#ga310a017cddce9ef05071cb619b4b6db9":[7,5,105], +"a00910.html#ga310a017cddce9ef05071cb619b4b6db9":[9,0,25,10], +"a00910.html#ga31d269ccdafd08519a899a8aebf53df1":[9,0,1,87], +"a00910.html#ga31d269ccdafd08519a899a8aebf53df1":[9,0,25,5], +"a00910.html#ga31d269ccdafd08519a899a8aebf53df1":[7,5,100], +"a00910.html#ga34b7b6d46868f0d63d195216ef9939b1":[9,0,1,34], +"a00910.html#ga34b7b6d46868f0d63d195216ef9939b1":[7,5,43], +"a00910.html#ga34b7b6d46868f0d63d195216ef9939b1":[9,0,10,0], +"a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[9,0,15,2], +"a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[9,0,1,56], +"a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48":[7,5,66], +"a00910.html#ga39003da4dc8a0b8999f1325c2f96f641":[9,0,52,17], +"a00910.html#ga39003da4dc8a0b8999f1325c2f96f641":[9,0,53,18], +"a00910.html#ga39003da4dc8a0b8999f1325c2f96f641":[7,5,140], +"a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[7,5,109], +"a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[9,0,25,14], +"a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949":[9,0,1,96], +"a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[9,0,0,9], +"a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[9,0,1,83], +"a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4":[7,5,96], +"a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[9,0,1,82], +"a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[7,5,95], +"a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb":[9,0,22,9], +"a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[9,0,52,9], +"a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[9,0,53,10], +"a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d":[7,5,132], +"a00910.html#ga40a6c01492a76366f9402302b527c4e1":[9,0,1,62], +"a00910.html#ga40a6c01492a76366f9402302b527c4e1":[7,5,72], +"a00910.html#ga40a6c01492a76366f9402302b527c4e1":[9,0,16,0] }; diff --git a/docs/html/navtreeindex8.js b/docs/html/navtreeindex8.js index 3a9af1703..811df3c95 100644 --- a/docs/html/navtreeindex8.js +++ b/docs/html/navtreeindex8.js @@ -1,253 +1,253 @@ var NAVTREEINDEX8 = { -"a03535.html#ga50731dca3906502d901f5762aa4d9e71":[6,5,142], -"a03535.html#ga52b18f051752d214a2d5b485270f5b15":[6,5,8], -"a03535.html#ga52b18f051752d214a2d5b485270f5b15":[8,0,1,5], -"a03535.html#ga530ccce9f617be7dbf3661e19a4c0546":[6,5,10], -"a03535.html#ga530ccce9f617be7dbf3661e19a4c0546":[8,0,1,7], -"a03535.html#ga5554940ed4c7c7e28652ce6923cf9314":[8,0,1,23], -"a03535.html#ga5554940ed4c7c7e28652ce6923cf9314":[6,5,26], -"a03535.html#ga5554940ed4c7c7e28652ce6923cf9314":[8,0,2,14], -"a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[8,0,1,98], -"a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[6,5,111], -"a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[8,0,21,2], -"a03535.html#ga55ba8a1787f69d44d6e40db041fbd786":[8,0,47,3], -"a03535.html#ga55ba8a1787f69d44d6e40db041fbd786":[8,0,48,1], -"a03535.html#ga55ba8a1787f69d44d6e40db041fbd786":[6,5,28], -"a03535.html#ga5802cd6847a837458604db5dbec4a6f0":[8,0,0,1], -"a03535.html#ga5802cd6847a837458604db5dbec4a6f0":[6,5,11], -"a03535.html#ga5802cd6847a837458604db5dbec4a6f0":[8,0,1,8], -"a03535.html#ga592c23e94097ad5e212beb6390aa88c6":[8,0,47,11], -"a03535.html#ga592c23e94097ad5e212beb6390aa88c6":[8,0,48,12], -"a03535.html#ga592c23e94097ad5e212beb6390aa88c6":[6,5,132], -"a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[8,0,1,27], -"a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[6,5,36], -"a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[8,0,3,0], -"a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534":[6,5,96], -"a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534":[8,0,1,83], -"a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534":[8,0,18,1], -"a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268":[8,0,1,97], -"a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268":[6,5,110], -"a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268":[8,0,21,1], -"a03535.html#ga617bdbdce7b5736351d93214d44c5b8f":[8,0,1,40], -"a03535.html#ga617bdbdce7b5736351d93214d44c5b8f":[8,0,8,0], -"a03535.html#ga617bdbdce7b5736351d93214d44c5b8f":[6,5,49], -"a03535.html#ga66d0b18bba952f5acdee8cf68b889b75":[6,5,4], -"a03535.html#ga66d0b18bba952f5acdee8cf68b889b75":[8,0,1,0], -"a03535.html#ga67f2ce6224651d9cc65e9915e35558bd":[8,0,1,50], -"a03535.html#ga67f2ce6224651d9cc65e9915e35558bd":[6,5,60], -"a03535.html#ga67f2ce6224651d9cc65e9915e35558bd":[8,0,20,4], -"a03535.html#ga692423e9c45adde594c36360756b8882":[8,0,0,13], -"a03535.html#ga692423e9c45adde594c36360756b8882":[8,0,1,117], -"a03535.html#ga692423e9c45adde594c36360756b8882":[6,5,141], -"a03535.html#ga694d921c7bc17a0e158ef96e3d476700":[8,0,1,101], -"a03535.html#ga694d921c7bc17a0e158ef96e3d476700":[6,5,114], -"a03535.html#ga694d921c7bc17a0e158ef96e3d476700":[8,0,23,0], -"a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[8,0,1,96], -"a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[8,0,21,0], -"a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[6,5,109], -"a03535.html#ga6e19ecd60be4c74665d9ec142e460771":[8,0,1,52], -"a03535.html#ga6e19ecd60be4c74665d9ec142e460771":[6,5,62], -"a03535.html#ga6e19ecd60be4c74665d9ec142e460771":[8,0,10,0], -"a03535.html#ga6e510e056ea16a0a34b405b7ca378f16":[8,0,4,1], -"a03535.html#ga6e510e056ea16a0a34b405b7ca378f16":[8,0,1,30], -"a03535.html#ga6e510e056ea16a0a34b405b7ca378f16":[6,5,39], -"a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91":[6,5,58], -"a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91":[8,0,20,2], -"a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91":[8,0,1,48], -"a03535.html#ga6fc480ad2824df6309f4f370ffad15f9":[8,0,1,33], -"a03535.html#ga6fc480ad2824df6309f4f370ffad15f9":[6,5,42], -"a03535.html#ga6fc480ad2824df6309f4f370ffad15f9":[8,0,6,0], -"a03535.html#ga70751ea87f2cf913986bc7bca2cc661f":[8,0,1,39], -"a03535.html#ga70751ea87f2cf913986bc7bca2cc661f":[6,5,48], -"a03535.html#ga70751ea87f2cf913986bc7bca2cc661f":[8,0,7,0], -"a03535.html#ga7182e48a847f9c1b31f19c60f373e2da":[8,0,1,18], -"a03535.html#ga7182e48a847f9c1b31f19c60f373e2da":[6,5,21], -"a03535.html#ga7182e48a847f9c1b31f19c60f373e2da":[8,0,2,9], -"a03535.html#ga72601de415fd0bbc73faa1ddbc52e56e":[6,5,82], -"a03535.html#ga72601de415fd0bbc73faa1ddbc52e56e":[8,0,48,7], -"a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[6,5,14], -"a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[8,0,1,11], -"a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[8,0,2,2], -"a03535.html#ga74d1db50562642ce511fa7cbd384c2ab":[8,0,1,92], -"a03535.html#ga74d1db50562642ce511fa7cbd384c2ab":[6,5,105], -"a03535.html#ga74d1db50562642ce511fa7cbd384c2ab":[8,0,20,12], -"a03535.html#ga750704332198726725a327344f4f7dd5":[8,0,17,3], -"a03535.html#ga750704332198726725a327344f4f7dd5":[8,0,1,74], -"a03535.html#ga750704332198726725a327344f4f7dd5":[6,5,87], -"a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[8,0,1,16], -"a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[6,5,19], -"a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[8,0,2,7], -"a03535.html#ga778a262b86fa1f8a38139cbae34376e4":[8,0,17,5], -"a03535.html#ga778a262b86fa1f8a38139cbae34376e4":[8,0,1,76], -"a03535.html#ga778a262b86fa1f8a38139cbae34376e4":[6,5,89], -"a03535.html#ga782ca1e5b1574b2b6793c841be22b28b":[8,0,17,6], -"a03535.html#ga782ca1e5b1574b2b6793c841be22b28b":[6,5,90], -"a03535.html#ga782ca1e5b1574b2b6793c841be22b28b":[8,0,1,77], -"a03535.html#ga78abefc293c0a04d8ef649c94c8a1057":[8,0,47,16], -"a03535.html#ga78abefc293c0a04d8ef649c94c8a1057":[8,0,48,17], -"a03535.html#ga78abefc293c0a04d8ef649c94c8a1057":[6,5,137], -"a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412":[8,0,1,45], -"a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412":[6,5,54], -"a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412":[8,0,0,5], -"a03535.html#ga7a929bf65cbc777bab7e533a2755cfad":[6,5,135], -"a03535.html#ga7a929bf65cbc777bab7e533a2755cfad":[8,0,47,14], -"a03535.html#ga7a929bf65cbc777bab7e533a2755cfad":[8,0,48,15], -"a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[6,5,13], -"a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[8,0,1,10], -"a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[8,0,2,1], -"a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[8,0,1,62], -"a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[6,5,72], -"a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[8,0,12,1], -"a03535.html#ga8020aa89a5bed09ad35320b78e0fb890":[8,0,12,4], -"a03535.html#ga8020aa89a5bed09ad35320b78e0fb890":[8,0,1,65], -"a03535.html#ga8020aa89a5bed09ad35320b78e0fb890":[6,5,75], -"a03535.html#ga802de50265ff91dc30dd7c93d9e026e1":[8,0,17,2], -"a03535.html#ga802de50265ff91dc30dd7c93d9e026e1":[8,0,1,59], -"a03535.html#ga802de50265ff91dc30dd7c93d9e026e1":[6,5,69], -"a03535.html#ga806d07982fda5c30755af6b5b4ef9314":[8,0,1,53], -"a03535.html#ga806d07982fda5c30755af6b5b4ef9314":[6,5,63], -"a03535.html#ga806d07982fda5c30755af6b5b4ef9314":[8,0,10,1], -"a03535.html#ga84506ff4105e63823c99527788d36d52":[8,0,1,14], -"a03535.html#ga84506ff4105e63823c99527788d36d52":[6,5,17], -"a03535.html#ga84506ff4105e63823c99527788d36d52":[8,0,2,5], -"a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2":[8,0,47,21], -"a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2":[8,0,48,22], -"a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2":[6,5,143], -"a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[8,0,17,4], -"a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[8,0,1,75], -"a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[6,5,88], -"a03535.html#ga9393b545b2fa1fdd539672a0428a30ab":[8,0,23,3], -"a03535.html#ga9393b545b2fa1fdd539672a0428a30ab":[8,0,1,104], -"a03535.html#ga9393b545b2fa1fdd539672a0428a30ab":[6,5,117], -"a03535.html#ga9475e032c388144c5a0df45d1df182a5":[8,0,0,10], -"a03535.html#ga9475e032c388144c5a0df45d1df182a5":[8,0,1,99], -"a03535.html#ga9475e032c388144c5a0df45d1df182a5":[6,5,112], -"a03535.html#ga9506331ea7d454fe3c9b2585128c77aa":[6,5,95], -"a03535.html#ga9506331ea7d454fe3c9b2585128c77aa":[8,0,1,82], -"a03535.html#ga9506331ea7d454fe3c9b2585128c77aa":[8,0,18,0], -"a03535.html#ga958190a9182d1b54f82fbca8216406ea":[8,0,12,3], -"a03535.html#ga958190a9182d1b54f82fbca8216406ea":[8,0,1,64], -"a03535.html#ga958190a9182d1b54f82fbca8216406ea":[6,5,74], -"a03535.html#ga9658e84055727e6357cf7ef636b4e398":[8,0,1,21], -"a03535.html#ga9658e84055727e6357cf7ef636b4e398":[6,5,24], -"a03535.html#ga9658e84055727e6357cf7ef636b4e398":[8,0,2,12], -"a03535.html#ga96c434878e1f435e2cda5b0b5fec444f":[8,0,1,78], -"a03535.html#ga96c434878e1f435e2cda5b0b5fec444f":[6,5,91], -"a03535.html#ga96c434878e1f435e2cda5b0b5fec444f":[8,0,17,7], -"a03535.html#ga975f7303086190d3b6f76c367583d622":[8,0,1,36], -"a03535.html#ga975f7303086190d3b6f76c367583d622":[6,5,45], -"a03535.html#ga975f7303086190d3b6f76c367583d622":[8,0,6,3], -"a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791":[8,0,13,0], -"a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791":[8,0,1,67], -"a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791":[6,5,77], -"a03535.html#ga9e5ab0fea07bd91159ab96f18105d1b1":[6,5,5], -"a03535.html#ga9e5ab0fea07bd91159ab96f18105d1b1":[8,0,1,2], -"a03535.html#gaa4be9972396b7cadb08dd8e2199daf08":[6,5,102], -"a03535.html#gaa4be9972396b7cadb08dd8e2199daf08":[8,0,1,89], -"a03535.html#gaa4be9972396b7cadb08dd8e2199daf08":[8,0,20,9], -"a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[8,0,23,5], -"a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[6,5,119], -"a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[8,0,1,106], -"a03535.html#gaa702726fe160635225abc3c1ed421f7e":[6,5,6], -"a03535.html#gaa702726fe160635225abc3c1ed421f7e":[8,0,1,3], -"a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903":[8,0,1,41], -"a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903":[6,5,50], -"a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903":[8,0,8,1], -"a03535.html#gaadde4309089c569fd87c24a1a2326cd4":[8,0,14,1], -"a03535.html#gaadde4309089c569fd87c24a1a2326cd4":[8,0,1,26], -"a03535.html#gaadde4309089c569fd87c24a1a2326cd4":[6,5,35], -"a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[6,5,67], -"a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[8,0,1,57], -"a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[8,0,0,8], -"a03535.html#gab25ca44957dff1c2df34607738ca3bf7":[8,0,24,2], -"a03535.html#gab25ca44957dff1c2df34607738ca3bf7":[6,5,125], -"a03535.html#gab25ca44957dff1c2df34607738ca3bf7":[8,0,1,112], -"a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[6,5,99], -"a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[8,0,1,86], -"a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[8,0,20,6], -"a03535.html#gab3db1b55b966b792e8308a1819933c0e":[8,0,47,18], -"a03535.html#gab3db1b55b966b792e8308a1819933c0e":[8,0,48,19], -"a03535.html#gab3db1b55b966b792e8308a1819933c0e":[6,5,139], -"a03535.html#gab6e0c175cbcb5f794b12a8ec22485176":[8,0,1,35], -"a03535.html#gab6e0c175cbcb5f794b12a8ec22485176":[6,5,44], -"a03535.html#gab6e0c175cbcb5f794b12a8ec22485176":[8,0,6,2], -"a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[8,0,47,15], -"a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[8,0,48,16], -"a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[6,5,136], -"a03535.html#gabaaaef242649206029e1c10ac6d1fb7d":[8,0,1,29], -"a03535.html#gabaaaef242649206029e1c10ac6d1fb7d":[6,5,38], -"a03535.html#gabaaaef242649206029e1c10ac6d1fb7d":[8,0,4,0], -"a03535.html#gabc41b824cdc9b10efa46bcbf74850184":[6,5,15], -"a03535.html#gabc41b824cdc9b10efa46bcbf74850184":[8,0,1,12], -"a03535.html#gabc41b824cdc9b10efa46bcbf74850184":[8,0,2,3], -"a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[8,0,0,3], -"a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[8,0,1,42], -"a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[6,5,51], -"a03535.html#gabf2b29b4d3ae926b63c403d084380dbe":[8,0,1,110], -"a03535.html#gabf2b29b4d3ae926b63c403d084380dbe":[8,0,24,0], -"a03535.html#gabf2b29b4d3ae926b63c403d084380dbe":[6,5,123], -"a03535.html#gac0be51b283b107465dcf42758ca31687":[6,5,16], -"a03535.html#gac0be51b283b107465dcf42758ca31687":[8,0,1,13], -"a03535.html#gac0be51b283b107465dcf42758ca31687":[8,0,2,4], -"a03535.html#gac244b83b061ffd8ae3d59b5f973baa53":[8,0,1,37], -"a03535.html#gac244b83b061ffd8ae3d59b5f973baa53":[6,5,46], -"a03535.html#gac244b83b061ffd8ae3d59b5f973baa53":[8,0,6,4], -"a03535.html#gac395a7e195aa3cf28b48de345755feb0":[8,0,24,1], -"a03535.html#gac395a7e195aa3cf28b48de345755feb0":[8,0,1,111], -"a03535.html#gac395a7e195aa3cf28b48de345755feb0":[6,5,124], -"a03535.html#gac873a37c53fdd922d5b36efd737e3ec3":[6,5,133], -"a03535.html#gac873a37c53fdd922d5b36efd737e3ec3":[8,0,47,12], -"a03535.html#gac873a37c53fdd922d5b36efd737e3ec3":[8,0,48,13], -"a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1":[6,5,25], -"a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1":[8,0,1,22], -"a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1":[8,0,2,13], -"a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[8,0,0,7], -"a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[8,0,1,56], -"a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[6,5,66], -"a03535.html#gacf9a0c7772ebb65b87c4a4788850702b":[8,0,23,6], -"a03535.html#gacf9a0c7772ebb65b87c4a4788850702b":[6,5,120], -"a03535.html#gacf9a0c7772ebb65b87c4a4788850702b":[8,0,1,107], -"a03535.html#gad017ae33af5a7ea062cea7d54de675a8":[8,0,48,20], -"a03535.html#gad017ae33af5a7ea062cea7d54de675a8":[6,5,140], -"a03535.html#gad017ae33af5a7ea062cea7d54de675a8":[8,0,47,19], -"a03535.html#gad01e8e785073d8655de9116e7df8e7b5":[8,0,15,0], -"a03535.html#gad01e8e785073d8655de9116e7df8e7b5":[8,0,1,72], -"a03535.html#gad01e8e785073d8655de9116e7df8e7b5":[6,5,85], -"a03535.html#gad10d15454308230fbef54bdd43001ed2":[8,0,48,14], -"a03535.html#gad10d15454308230fbef54bdd43001ed2":[8,0,47,13], -"a03535.html#gad10d15454308230fbef54bdd43001ed2":[6,5,134], -"a03535.html#gad115ce255664a48b80e90ea19c156b79":[6,5,12], -"a03535.html#gad115ce255664a48b80e90ea19c156b79":[8,0,1,9], -"a03535.html#gad115ce255664a48b80e90ea19c156b79":[8,0,2,0], -"a03535.html#gad2096a4618dd37c48ed48847fe63d844":[8,0,8,2], -"a03535.html#gad2096a4618dd37c48ed48847fe63d844":[8,0,1,44], -"a03535.html#gad2096a4618dd37c48ed48847fe63d844":[6,5,53], -"a03535.html#gad3bc620aedd9322d160eece0d8d20c82":[8,0,0,12], -"a03535.html#gad3bc620aedd9322d160eece0d8d20c82":[8,0,1,109], -"a03535.html#gad3bc620aedd9322d160eece0d8d20c82":[6,5,122], -"a03535.html#gada9491be0c81fb18b021f71b9a6eda3e":[8,0,1,17], -"a03535.html#gada9491be0c81fb18b021f71b9a6eda3e":[6,5,20], -"a03535.html#gada9491be0c81fb18b021f71b9a6eda3e":[8,0,2,8], -"a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[8,0,17,0], -"a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[8,0,1,28], -"a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[6,5,37], -"a03535.html#gade49e7746864105730fa7d531645ff62":[8,0,1,49], -"a03535.html#gade49e7746864105730fa7d531645ff62":[8,0,20,3], -"a03535.html#gade49e7746864105730fa7d531645ff62":[6,5,59], -"a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[8,0,1,93], -"a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[6,5,106], -"a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[8,0,20,13], -"a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272":[6,5,31], -"a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272":[8,0,47,6], -"a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272":[8,0,48,4], -"a03535.html#gae3343c160e80365b7e96bdfdc9b6365c":[6,5,104], -"a03535.html#gae3343c160e80365b7e96bdfdc9b6365c":[8,0,1,91], -"a03535.html#gae3343c160e80365b7e96bdfdc9b6365c":[8,0,20,11], -"a03535.html#gae655ce06583c08169170102fbb0b55c9":[6,5,101], -"a03535.html#gae655ce06583c08169170102fbb0b55c9":[8,0,1,88], -"a03535.html#gae655ce06583c08169170102fbb0b55c9":[8,0,20,8], -"a03535.html#gae7558905ea6a82c4bd50d4b99e954d91":[8,0,1,20], -"a03535.html#gae7558905ea6a82c4bd50d4b99e954d91":[6,5,23], -"a03535.html#gae7558905ea6a82c4bd50d4b99e954d91":[8,0,2,11] +"a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d":[9,0,27,0], +"a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d":[9,0,1,102], +"a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d":[7,5,115], +"a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d":[9,0,14,0], +"a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d":[9,0,1,48], +"a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d":[7,5,58], +"a00910.html#ga475b72450dcd21c822de5cb366197927":[7,5,23], +"a00910.html#ga475b72450dcd21c822de5cb366197927":[9,0,1,20], +"a00910.html#ga475b72450dcd21c822de5cb366197927":[9,0,5,3], +"a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[9,0,1,117], +"a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[7,5,130], +"a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa":[9,0,29,5], +"a00910.html#ga481179181349c801c16fc1ab698f2f24":[9,0,53,6], +"a00910.html#ga481179181349c801c16fc1ab698f2f24":[7,5,57], +"a00910.html#ga481179181349c801c16fc1ab698f2f24":[9,0,52,8], +"a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4":[9,0,0,4], +"a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4":[9,0,1,45], +"a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4":[7,5,54], +"a00910.html#ga4b7e341b530fcac3f4eaae874bb36422":[9,0,52,4], +"a00910.html#ga4b7e341b530fcac3f4eaae874bb36422":[9,0,53,2], +"a00910.html#ga4b7e341b530fcac3f4eaae874bb36422":[7,5,31], +"a00910.html#ga4bf8b665fe1712626a480742c2daa16b":[9,0,25,1], +"a00910.html#ga4bf8b665fe1712626a480742c2daa16b":[9,0,1,49], +"a00910.html#ga4bf8b665fe1712626a480742c2daa16b":[7,5,59], +"a00910.html#ga4c1f62e502c168be9261d2af921e78ba":[7,5,10], +"a00910.html#ga4c1f62e502c168be9261d2af921e78ba":[9,0,1,7], +"a00910.html#ga4fa442396dfbb89e59dfca837b565cec":[9,0,1,75], +"a00910.html#ga4fa442396dfbb89e59dfca837b565cec":[7,5,88], +"a00910.html#ga4fa442396dfbb89e59dfca837b565cec":[9,0,21,0], +"a00910.html#ga50731dca3906502d901f5762aa4d9e71":[9,0,52,20], +"a00910.html#ga50731dca3906502d901f5762aa4d9e71":[9,0,53,21], +"a00910.html#ga50731dca3906502d901f5762aa4d9e71":[7,5,144], +"a00910.html#ga52b18f051752d214a2d5b485270f5b15":[7,5,9], +"a00910.html#ga52b18f051752d214a2d5b485270f5b15":[9,0,1,6], +"a00910.html#ga530ccce9f617be7dbf3661e19a4c0546":[7,5,11], +"a00910.html#ga530ccce9f617be7dbf3661e19a4c0546":[9,0,1,8], +"a00910.html#ga5554940ed4c7c7e28652ce6923cf9314":[7,5,28], +"a00910.html#ga5554940ed4c7c7e28652ce6923cf9314":[9,0,1,25], +"a00910.html#ga5554940ed4c7c7e28652ce6923cf9314":[9,0,2,3], +"a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[9,0,1,100], +"a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[7,5,113], +"a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29":[9,0,26,2], +"a00910.html#ga55ba8a1787f69d44d6e40db041fbd786":[9,0,52,3], +"a00910.html#ga55ba8a1787f69d44d6e40db041fbd786":[9,0,53,1], +"a00910.html#ga55ba8a1787f69d44d6e40db041fbd786":[7,5,30], +"a00910.html#ga5802cd6847a837458604db5dbec4a6f0":[9,0,0,1], +"a00910.html#ga5802cd6847a837458604db5dbec4a6f0":[7,5,12], +"a00910.html#ga5802cd6847a837458604db5dbec4a6f0":[9,0,1,9], +"a00910.html#ga592c23e94097ad5e212beb6390aa88c6":[9,0,52,11], +"a00910.html#ga592c23e94097ad5e212beb6390aa88c6":[9,0,53,12], +"a00910.html#ga592c23e94097ad5e212beb6390aa88c6":[7,5,134], +"a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[9,0,1,29], +"a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[7,5,38], +"a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee":[9,0,8,0], +"a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534":[9,0,1,85], +"a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534":[7,5,98], +"a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534":[9,0,23,1], +"a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268":[9,0,26,1], +"a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268":[7,5,112], +"a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268":[9,0,1,99], +"a00910.html#ga617bdbdce7b5736351d93214d44c5b8f":[9,0,13,0], +"a00910.html#ga617bdbdce7b5736351d93214d44c5b8f":[9,0,1,42], +"a00910.html#ga617bdbdce7b5736351d93214d44c5b8f":[7,5,51], +"a00910.html#ga66d0b18bba952f5acdee8cf68b889b75":[7,5,5], +"a00910.html#ga66d0b18bba952f5acdee8cf68b889b75":[9,0,1,1], +"a00910.html#ga67f2ce6224651d9cc65e9915e35558bd":[9,0,1,52], +"a00910.html#ga67f2ce6224651d9cc65e9915e35558bd":[7,5,62], +"a00910.html#ga67f2ce6224651d9cc65e9915e35558bd":[9,0,25,4], +"a00910.html#ga692423e9c45adde594c36360756b8882":[7,5,143], +"a00910.html#ga692423e9c45adde594c36360756b8882":[9,0,0,13], +"a00910.html#ga692423e9c45adde594c36360756b8882":[9,0,1,119], +"a00910.html#ga694d921c7bc17a0e158ef96e3d476700":[9,0,28,0], +"a00910.html#ga694d921c7bc17a0e158ef96e3d476700":[9,0,1,103], +"a00910.html#ga694d921c7bc17a0e158ef96e3d476700":[7,5,116], +"a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[7,5,111], +"a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[9,0,1,98], +"a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8":[9,0,26,0], +"a00910.html#ga6e19ecd60be4c74665d9ec142e460771":[9,0,15,0], +"a00910.html#ga6e19ecd60be4c74665d9ec142e460771":[9,0,1,54], +"a00910.html#ga6e19ecd60be4c74665d9ec142e460771":[7,5,64], +"a00910.html#ga6e510e056ea16a0a34b405b7ca378f16":[9,0,1,32], +"a00910.html#ga6e510e056ea16a0a34b405b7ca378f16":[7,5,41], +"a00910.html#ga6e510e056ea16a0a34b405b7ca378f16":[9,0,9,1], +"a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91":[9,0,1,50], +"a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91":[7,5,60], +"a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91":[9,0,25,2], +"a00910.html#ga6fc480ad2824df6309f4f370ffad15f9":[9,0,11,0], +"a00910.html#ga6fc480ad2824df6309f4f370ffad15f9":[9,0,1,35], +"a00910.html#ga6fc480ad2824df6309f4f370ffad15f9":[7,5,44], +"a00910.html#ga70751ea87f2cf913986bc7bca2cc661f":[9,0,12,0], +"a00910.html#ga70751ea87f2cf913986bc7bca2cc661f":[9,0,1,41], +"a00910.html#ga70751ea87f2cf913986bc7bca2cc661f":[7,5,50], +"a00910.html#ga7182e48a847f9c1b31f19c60f373e2da":[7,5,22], +"a00910.html#ga7182e48a847f9c1b31f19c60f373e2da":[9,0,1,19], +"a00910.html#ga7182e48a847f9c1b31f19c60f373e2da":[9,0,5,2], +"a00910.html#ga72601de415fd0bbc73faa1ddbc52e56e":[9,0,53,7], +"a00910.html#ga72601de415fd0bbc73faa1ddbc52e56e":[7,5,84], +"a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[7,5,15], +"a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[9,0,1,12], +"a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e":[9,0,3,1], +"a00910.html#ga74d1db50562642ce511fa7cbd384c2ab":[7,5,107], +"a00910.html#ga74d1db50562642ce511fa7cbd384c2ab":[9,0,1,94], +"a00910.html#ga74d1db50562642ce511fa7cbd384c2ab":[9,0,25,12], +"a00910.html#ga750704332198726725a327344f4f7dd5":[9,0,1,76], +"a00910.html#ga750704332198726725a327344f4f7dd5":[7,5,89], +"a00910.html#ga750704332198726725a327344f4f7dd5":[9,0,22,3], +"a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[7,5,20], +"a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[9,0,1,17], +"a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0":[9,0,5,0], +"a00910.html#ga778a262b86fa1f8a38139cbae34376e4":[7,5,91], +"a00910.html#ga778a262b86fa1f8a38139cbae34376e4":[9,0,22,5], +"a00910.html#ga778a262b86fa1f8a38139cbae34376e4":[9,0,1,78], +"a00910.html#ga782ca1e5b1574b2b6793c841be22b28b":[9,0,1,79], +"a00910.html#ga782ca1e5b1574b2b6793c841be22b28b":[7,5,92], +"a00910.html#ga782ca1e5b1574b2b6793c841be22b28b":[9,0,22,6], +"a00910.html#ga78abefc293c0a04d8ef649c94c8a1057":[9,0,52,16], +"a00910.html#ga78abefc293c0a04d8ef649c94c8a1057":[9,0,53,17], +"a00910.html#ga78abefc293c0a04d8ef649c94c8a1057":[7,5,139], +"a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412":[9,0,0,5], +"a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412":[9,0,1,47], +"a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412":[7,5,56], +"a00910.html#ga7a929bf65cbc777bab7e533a2755cfad":[7,5,137], +"a00910.html#ga7a929bf65cbc777bab7e533a2755cfad":[9,0,52,14], +"a00910.html#ga7a929bf65cbc777bab7e533a2755cfad":[9,0,53,15], +"a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[7,5,14], +"a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[9,0,1,11], +"a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e":[9,0,3,0], +"a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[9,0,1,64], +"a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[7,5,74], +"a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23":[9,0,17,1], +"a00910.html#ga8020aa89a5bed09ad35320b78e0fb890":[9,0,1,67], +"a00910.html#ga8020aa89a5bed09ad35320b78e0fb890":[7,5,77], +"a00910.html#ga8020aa89a5bed09ad35320b78e0fb890":[9,0,17,4], +"a00910.html#ga802de50265ff91dc30dd7c93d9e026e1":[9,0,1,61], +"a00910.html#ga802de50265ff91dc30dd7c93d9e026e1":[7,5,71], +"a00910.html#ga802de50265ff91dc30dd7c93d9e026e1":[9,0,22,2], +"a00910.html#ga806d07982fda5c30755af6b5b4ef9314":[9,0,15,1], +"a00910.html#ga806d07982fda5c30755af6b5b4ef9314":[9,0,1,55], +"a00910.html#ga806d07982fda5c30755af6b5b4ef9314":[7,5,65], +"a00910.html#ga84506ff4105e63823c99527788d36d52":[7,5,18], +"a00910.html#ga84506ff4105e63823c99527788d36d52":[9,0,1,15], +"a00910.html#ga84506ff4105e63823c99527788d36d52":[9,0,4,1], +"a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2":[9,0,53,22], +"a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2":[7,5,145], +"a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2":[9,0,52,21], +"a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[9,0,1,77], +"a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[9,0,22,4], +"a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3":[7,5,90], +"a00910.html#ga9393b545b2fa1fdd539672a0428a30ab":[9,0,28,3], +"a00910.html#ga9393b545b2fa1fdd539672a0428a30ab":[9,0,1,106], +"a00910.html#ga9393b545b2fa1fdd539672a0428a30ab":[7,5,119], +"a00910.html#ga9475e032c388144c5a0df45d1df182a5":[9,0,0,10], +"a00910.html#ga9475e032c388144c5a0df45d1df182a5":[9,0,1,101], +"a00910.html#ga9475e032c388144c5a0df45d1df182a5":[7,5,114], +"a00910.html#ga9506331ea7d454fe3c9b2585128c77aa":[9,0,1,84], +"a00910.html#ga9506331ea7d454fe3c9b2585128c77aa":[7,5,97], +"a00910.html#ga9506331ea7d454fe3c9b2585128c77aa":[9,0,23,0], +"a00910.html#ga958190a9182d1b54f82fbca8216406ea":[9,0,1,66], +"a00910.html#ga958190a9182d1b54f82fbca8216406ea":[7,5,76], +"a00910.html#ga958190a9182d1b54f82fbca8216406ea":[9,0,17,3], +"a00910.html#ga9658e84055727e6357cf7ef636b4e398":[7,5,26], +"a00910.html#ga9658e84055727e6357cf7ef636b4e398":[9,0,1,23], +"a00910.html#ga9658e84055727e6357cf7ef636b4e398":[9,0,2,1], +"a00910.html#ga96c434878e1f435e2cda5b0b5fec444f":[9,0,1,80], +"a00910.html#ga96c434878e1f435e2cda5b0b5fec444f":[7,5,93], +"a00910.html#ga96c434878e1f435e2cda5b0b5fec444f":[9,0,22,7], +"a00910.html#ga975f7303086190d3b6f76c367583d622":[9,0,11,3], +"a00910.html#ga975f7303086190d3b6f76c367583d622":[9,0,1,38], +"a00910.html#ga975f7303086190d3b6f76c367583d622":[7,5,47], +"a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791":[9,0,1,69], +"a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791":[7,5,79], +"a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791":[9,0,18,0], +"a00910.html#ga9e5ab0fea07bd91159ab96f18105d1b1":[7,5,6], +"a00910.html#ga9e5ab0fea07bd91159ab96f18105d1b1":[9,0,1,3], +"a00910.html#gaa4be9972396b7cadb08dd8e2199daf08":[7,5,104], +"a00910.html#gaa4be9972396b7cadb08dd8e2199daf08":[9,0,1,91], +"a00910.html#gaa4be9972396b7cadb08dd8e2199daf08":[9,0,25,9], +"a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[9,0,1,108], +"a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[7,5,121], +"a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7":[9,0,28,5], +"a00910.html#gaa702726fe160635225abc3c1ed421f7e":[7,5,7], +"a00910.html#gaa702726fe160635225abc3c1ed421f7e":[9,0,1,4], +"a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903":[9,0,13,1], +"a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903":[9,0,1,43], +"a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903":[7,5,52], +"a00910.html#gaadde4309089c569fd87c24a1a2326cd4":[9,0,1,28], +"a00910.html#gaadde4309089c569fd87c24a1a2326cd4":[7,5,37], +"a00910.html#gaadde4309089c569fd87c24a1a2326cd4":[9,0,19,1], +"a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[9,0,0,8], +"a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[9,0,1,59], +"a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4":[7,5,69], +"a00910.html#gab25ca44957dff1c2df34607738ca3bf7":[7,5,127], +"a00910.html#gab25ca44957dff1c2df34607738ca3bf7":[9,0,1,114], +"a00910.html#gab25ca44957dff1c2df34607738ca3bf7":[9,0,29,2], +"a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[9,0,25,6], +"a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[7,5,101], +"a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4":[9,0,1,88], +"a00910.html#gab3db1b55b966b792e8308a1819933c0e":[9,0,52,18], +"a00910.html#gab3db1b55b966b792e8308a1819933c0e":[9,0,53,19], +"a00910.html#gab3db1b55b966b792e8308a1819933c0e":[7,5,141], +"a00910.html#gab6e0c175cbcb5f794b12a8ec22485176":[9,0,11,2], +"a00910.html#gab6e0c175cbcb5f794b12a8ec22485176":[9,0,1,37], +"a00910.html#gab6e0c175cbcb5f794b12a8ec22485176":[7,5,46], +"a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[7,5,138], +"a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[9,0,53,16], +"a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3":[9,0,52,15], +"a00910.html#gabaaaef242649206029e1c10ac6d1fb7d":[9,0,9,0], +"a00910.html#gabaaaef242649206029e1c10ac6d1fb7d":[9,0,1,31], +"a00910.html#gabaaaef242649206029e1c10ac6d1fb7d":[7,5,40], +"a00910.html#gabc41b824cdc9b10efa46bcbf74850184":[7,5,16], +"a00910.html#gabc41b824cdc9b10efa46bcbf74850184":[9,0,1,13], +"a00910.html#gabc41b824cdc9b10efa46bcbf74850184":[9,0,3,2], +"a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[9,0,1,44], +"a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[9,0,0,3], +"a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a":[7,5,53], +"a00910.html#gabf2b29b4d3ae926b63c403d084380dbe":[9,0,1,112], +"a00910.html#gabf2b29b4d3ae926b63c403d084380dbe":[7,5,125], +"a00910.html#gabf2b29b4d3ae926b63c403d084380dbe":[9,0,29,0], +"a00910.html#gac0be51b283b107465dcf42758ca31687":[7,5,17], +"a00910.html#gac0be51b283b107465dcf42758ca31687":[9,0,1,14], +"a00910.html#gac0be51b283b107465dcf42758ca31687":[9,0,4,0], +"a00910.html#gac244b83b061ffd8ae3d59b5f973baa53":[9,0,1,39], +"a00910.html#gac244b83b061ffd8ae3d59b5f973baa53":[7,5,48], +"a00910.html#gac244b83b061ffd8ae3d59b5f973baa53":[9,0,11,4], +"a00910.html#gac395a7e195aa3cf28b48de345755feb0":[9,0,1,113], +"a00910.html#gac395a7e195aa3cf28b48de345755feb0":[7,5,126], +"a00910.html#gac395a7e195aa3cf28b48de345755feb0":[9,0,29,1], +"a00910.html#gac873a37c53fdd922d5b36efd737e3ec3":[7,5,135], +"a00910.html#gac873a37c53fdd922d5b36efd737e3ec3":[9,0,52,12], +"a00910.html#gac873a37c53fdd922d5b36efd737e3ec3":[9,0,53,13], +"a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1":[7,5,27], +"a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1":[9,0,1,24], +"a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1":[9,0,2,2], +"a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[9,0,1,58], +"a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[9,0,0,7], +"a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8":[7,5,68], +"a00910.html#gacf9a0c7772ebb65b87c4a4788850702b":[9,0,28,6], +"a00910.html#gacf9a0c7772ebb65b87c4a4788850702b":[9,0,1,109], +"a00910.html#gacf9a0c7772ebb65b87c4a4788850702b":[7,5,122], +"a00910.html#gad017ae33af5a7ea062cea7d54de675a8":[9,0,52,19], +"a00910.html#gad017ae33af5a7ea062cea7d54de675a8":[9,0,53,20], +"a00910.html#gad017ae33af5a7ea062cea7d54de675a8":[7,5,142], +"a00910.html#gad01e8e785073d8655de9116e7df8e7b5":[9,0,1,74], +"a00910.html#gad01e8e785073d8655de9116e7df8e7b5":[7,5,87], +"a00910.html#gad01e8e785073d8655de9116e7df8e7b5":[9,0,20,0], +"a00910.html#gad10d15454308230fbef54bdd43001ed2":[9,0,53,14], +"a00910.html#gad10d15454308230fbef54bdd43001ed2":[7,5,136], +"a00910.html#gad10d15454308230fbef54bdd43001ed2":[9,0,52,13], +"a00910.html#gad115ce255664a48b80e90ea19c156b79":[7,5,13], +"a00910.html#gad115ce255664a48b80e90ea19c156b79":[9,0,1,10] }; diff --git a/docs/html/navtreeindex9.js b/docs/html/navtreeindex9.js index 2924f7a35..450d7e49e 100644 --- a/docs/html/navtreeindex9.js +++ b/docs/html/navtreeindex9.js @@ -1,253 +1,253 @@ var NAVTREEINDEX9 = { -"a03535.html#gae8cc7670847805423ad591985eecd832":[8,0,23,4], -"a03535.html#gae8cc7670847805423ad591985eecd832":[6,5,118], -"a03535.html#gae8cc7670847805423ad591985eecd832":[8,0,1,105], -"a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[8,0,1,84], -"a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[8,0,19,0], -"a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[6,5,97], -"a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c":[8,0,14,5], -"a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c":[8,0,1,71], -"a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c":[6,5,81], -"a03535.html#gaeee666028a097659af69cc828a6bd68b":[8,0,1,31], -"a03535.html#gaeee666028a097659af69cc828a6bd68b":[6,5,40], -"a03535.html#gaeee666028a097659af69cc828a6bd68b":[8,0,4,2], -"a03535.html#gaeeff0177acf29e6e7b134a14d7119d69":[8,0,48,3], -"a03535.html#gaeeff0177acf29e6e7b134a14d7119d69":[6,5,30], -"a03535.html#gaeeff0177acf29e6e7b134a14d7119d69":[8,0,47,5], -"a03535.html#gaefce484222bdbedef37787a9b10d4426":[8,0,1,58], -"a03535.html#gaefce484222bdbedef37787a9b10d4426":[6,5,68], -"a03535.html#gaefce484222bdbedef37787a9b10d4426":[8,0,17,1], -"a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6":[8,0,12,5], -"a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6":[8,0,1,66], -"a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6":[6,5,76], -"a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[8,0,1,51], -"a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[6,5,61], -"a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[8,0,0,6], -"a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6":[8,0,14,3], -"a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6":[8,0,1,69], -"a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6":[6,5,79], -"a03535.html#gafaccb0c9d12154b0c5b917f89f233721":[8,0,1,38], -"a03535.html#gafaccb0c9d12154b0c5b917f89f233721":[6,5,47], -"a03535.html#gafaccb0c9d12154b0c5b917f89f233721":[8,0,6,5], -"a03535.html#gaff701132013eaac5600dd9fd6253505d":[8,0,0,11], -"a03535.html#gaff701132013eaac5600dd9fd6253505d":[8,0,1,108], -"a03535.html#gaff701132013eaac5600dd9fd6253505d":[6,5,121], -"a03536.html":[6,6], -"a03536.html#ga0710d8bf5e92403c4026c32af39ad79e":[8,0,34,0], -"a03536.html#ga0710d8bf5e92403c4026c32af39ad79e":[8,0,35,0], -"a03536.html#ga0710d8bf5e92403c4026c32af39ad79e":[6,6,9], -"a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[8,0,36,1], -"a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[8,0,37,2], -"a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[6,6,11], -"a03536.html#ga58283666b662f084155ba693870c1077":[8,0,38,2], -"a03536.html#ga58283666b662f084155ba693870c1077":[8,0,39,3], -"a03536.html#ga58283666b662f084155ba693870c1077":[6,6,16], -"a03536.html#ga63412270c4629874f2764171200c1b5c":[8,0,38,0], -"a03536.html#ga63412270c4629874f2764171200c1b5c":[8,0,39,1], -"a03536.html#ga63412270c4629874f2764171200c1b5c":[6,6,14], -"a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[8,0,36,3], -"a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[8,0,37,4], -"a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[6,6,13], -"a03536.html#ga6bcf19f52fbceb7801fc3216d528fb3c":[6,6,4], -"a03536.html#ga6bcf19f52fbceb7801fc3216d528fb3c":[8,0,33,2], -"a03536.html#ga6eba254effebfbbb95381511fc7d80d5":[8,0,33,3], -"a03536.html#ga6eba254effebfbbb95381511fc7d80d5":[6,6,5], -"a03536.html#ga84b866657bf319dab2924c2db3a1e990":[8,0,36,0], -"a03536.html#ga84b866657bf319dab2924c2db3a1e990":[8,0,37,1], -"a03536.html#ga84b866657bf319dab2924c2db3a1e990":[6,6,10], -"a03536.html#ga86364f6d07b86740f3170d9d1ca60641":[8,0,39,0], -"a03536.html#ga86364f6d07b86740f3170d9d1ca60641":[6,6,7], -"a03536.html#gaa61eee6f208a1633d35cdf8d628a6835":[6,6,8], -"a03536.html#gaa61eee6f208a1633d35cdf8d628a6835":[8,0,32,0], -"a03536.html#gaa61eee6f208a1633d35cdf8d628a6835":[8,0,33,4], -"a03536.html#gab1a09fa1d854722cc667cea319ca9984":[8,0,38,3], -"a03536.html#gab1a09fa1d854722cc667cea319ca9984":[8,0,39,4], -"a03536.html#gab1a09fa1d854722cc667cea319ca9984":[6,6,17], -"a03536.html#gab6935877a2675bfc95af283fb43affb5":[8,0,33,0], -"a03536.html#gab6935877a2675bfc95af283fb43affb5":[6,6,2], -"a03536.html#gabed03bcc1228768534ef4ee49df0ad09":[8,0,36,2], -"a03536.html#gabed03bcc1228768534ef4ee49df0ad09":[8,0,37,3], -"a03536.html#gabed03bcc1228768534ef4ee49df0ad09":[6,6,12], -"a03536.html#gadb06f3adddd74993ab0da4be3ea71441":[8,0,33,1], -"a03536.html#gadb06f3adddd74993ab0da4be3ea71441":[6,6,3], -"a03536.html#gadb94a0991eb670ff1bf90253dfea0bfa":[8,0,37,0], -"a03536.html#gadb94a0991eb670ff1bf90253dfea0bfa":[6,6,6], -"a03536.html#gae3a29931f2104cce481aa9ef1ab16fea":[8,0,38,1], -"a03536.html#gae3a29931f2104cce481aa9ef1ab16fea":[8,0,39,2], -"a03536.html#gae3a29931f2104cce481aa9ef1ab16fea":[6,6,15], -"a03537.html":[6,7], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,149,8], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,150,5], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,151,8], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[6,7,174], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,148,3], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,146,2], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,145,8], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,147,10], -"a03537.html#ga003b63648f1a5f9eba274760559688f2":[8,0,144,2], -"a03537.html#ga0121a73c96416c97ce07ed9077226588":[6,7,132], -"a03537.html#ga0121a73c96416c97ce07ed9077226588":[8,0,92,1], -"a03537.html#ga0121a73c96416c97ce07ed9077226588":[8,0,76,1], -"a03537.html#ga0121a73c96416c97ce07ed9077226588":[8,0,123,2], -"a03537.html#ga020fb0be6c73515122cf4b9f749fd97d":[6,7,165], -"a03537.html#ga020fb0be6c73515122cf4b9f749fd97d":[8,0,90,16], -"a03537.html#ga020fb0be6c73515122cf4b9f749fd97d":[8,0,123,13], -"a03537.html#ga020fb0be6c73515122cf4b9f749fd97d":[8,0,132,2], -"a03537.html#ga02e9f36723f0feb21d373898728de04b":[6,7,148], -"a03537.html#ga02e9f36723f0feb21d373898728de04b":[8,0,118,5], -"a03537.html#ga02e9f36723f0feb21d373898728de04b":[8,0,116,5], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[6,7,109], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,88,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,101,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,78,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,84,0], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,86,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,113,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,95,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,110,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,107,1], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,104,0], -"a03537.html#ga05700385437884cc7b28c38d33e84f8c":[8,0,126,1], -"a03537.html#ga069bb8cb95b0528d5ce0304bb5561a40":[6,7,93], -"a03537.html#ga069bb8cb95b0528d5ce0304bb5561a40":[8,0,91,5], -"a03537.html#ga0810d89c328e48fd91eb604323cca4e9":[8,0,134,0], -"a03537.html#ga0810d89c328e48fd91eb604323cca4e9":[6,7,28], -"a03537.html#ga08b6c05184266dc4d5c8727bb9c1c754":[8,0,91,1], -"a03537.html#ga08b6c05184266dc4d5c8727bb9c1c754":[6,7,9], -"a03537.html#ga09a86ccc517208f9c9a057ea569e2a18":[6,7,166], -"a03537.html#ga09a86ccc517208f9c9a057ea569e2a18":[8,0,134,6], -"a03537.html#ga09a86ccc517208f9c9a057ea569e2a18":[8,0,133,6], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,95,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[6,7,112], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,88,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,78,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,113,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,84,3], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,110,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,107,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,104,3], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,126,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,101,4], -"a03537.html#ga09e7f465a040fbd19ea136269571de3c":[8,0,86,4], -"a03537.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d":[6,7,122], -"a03537.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d":[8,0,90,5], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,149,6], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,150,3], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,151,6], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,144,0], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[6,7,172], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,146,0], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,145,6], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,147,8], -"a03537.html#ga0b1aad3936bf003686d8db7fa2be5132":[8,0,148,1], -"a03537.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[6,7,170], -"a03537.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[8,0,134,10], -"a03537.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[8,0,133,10], -"a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[6,7,161], -"a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[8,0,76,10], -"a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[8,0,132,0], -"a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[8,0,123,11], -"a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[8,0,92,10], -"a03537.html#ga1299c47e6d73d987bc04b16f25637bf6":[6,7,129], -"a03537.html#ga1299c47e6d73d987bc04b16f25637bf6":[8,0,90,12], -"a03537.html#ga13c01ac16bb14fde75e9c00dcd1cc761":[8,0,119,0], -"a03537.html#ga13c01ac16bb14fde75e9c00dcd1cc761":[6,7,56], -"a03537.html#ga13ef2322176ad9b7ba3d2e23b277cce6":[8,0,119,2], -"a03537.html#ga13ef2322176ad9b7ba3d2e23b277cce6":[6,7,58], -"a03537.html#ga1473b18d902ce22c6b22d04ff5a7ef02":[6,7,171], -"a03537.html#ga1473b18d902ce22c6b22d04ff5a7ef02":[8,0,133,11], -"a03537.html#ga196dbc62546b39ac3e556a0f7f6b7132":[6,7,149], -"a03537.html#ga196dbc62546b39ac3e556a0f7f6b7132":[8,0,116,6], -"a03537.html#ga196dbc62546b39ac3e556a0f7f6b7132":[8,0,118,6], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,103,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,128,0], -"a03537.html#ga19891182689551cc3a88603135959351":[6,7,98], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,100,2], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,106,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,46,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,125,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,94,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,80,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,120,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,115,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,112,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,109,0], -"a03537.html#ga19891182689551cc3a88603135959351":[8,0,97,2], -"a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed":[6,7,139], -"a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed":[8,0,76,8], -"a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed":[8,0,123,9], -"a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed":[8,0,92,8], -"a03537.html#ga1b199a0aedb00251513eb57552f738b4":[8,0,96,1], -"a03537.html#ga1b199a0aedb00251513eb57552f738b4":[6,7,14], -"a03537.html#ga20af8352e13a7357650ba1cbf41349ea":[8,0,119,3], -"a03537.html#ga20af8352e13a7357650ba1cbf41349ea":[6,7,59], -"a03537.html#ga218b4f7c6cc2681a99c23a3b089d68b1":[6,7,187], -"a03537.html#ga218b4f7c6cc2681a99c23a3b089d68b1":[8,0,90,19], -"a03537.html#ga21a939cc86a0602cb2ba3be3eec26e6e":[6,7,127], -"a03537.html#ga21a939cc86a0602cb2ba3be3eec26e6e":[8,0,90,10], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[8,0,124,2], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[8,0,93,2], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[6,7,72], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[6,7,73], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[6,7,74], -"a03537.html#ga2416cca7ee952e679d466e3349d65035":[8,0,77,2], -"a03537.html#ga252e365a30f2583dae8a8eac073a9f53":[6,7,152], -"a03537.html#ga252e365a30f2583dae8a8eac073a9f53":[8,0,118,9], -"a03537.html#ga252e365a30f2583dae8a8eac073a9f53":[8,0,116,8], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[6,7,87], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[6,7,88], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[6,7,89], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[6,7,90], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[6,7,91], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[8,0,151,5], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[8,0,149,5], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[8,0,147,7], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[8,0,117,0], -"a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[8,0,145,5], -"a03537.html#ga2df85bfd309840b4c9a5087e053d4811":[8,0,91,3], -"a03537.html#ga2df85bfd309840b4c9a5087e053d4811":[6,7,71], -"a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[8,0,100,0], -"a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[8,0,96,2], -"a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[6,7,15], -"a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[6,7,16], -"a03537.html#ga313bdfc8337f930a7f9fc6ca4e7731d9":[6,7,124], -"a03537.html#ga313bdfc8337f930a7f9fc6ca4e7731d9":[8,0,90,7], -"a03537.html#ga31c35882825888bc79e420905830f25d":[6,7,102], -"a03537.html#ga31c35882825888bc79e420905830f25d":[8,0,97,5], -"a03537.html#ga31fd8170a49623686543f6247b883bd1":[6,7,154], -"a03537.html#ga31fd8170a49623686543f6247b883bd1":[8,0,46,9], -"a03537.html#ga31fd8170a49623686543f6247b883bd1":[8,0,83,4], -"a03537.html#ga354e6fa757688b73e6fb5293bb835def":[6,7,144], -"a03537.html#ga354e6fa757688b73e6fb5293bb835def":[8,0,118,1], -"a03537.html#ga354e6fa757688b73e6fb5293bb835def":[8,0,116,1], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[8,0,151,4], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[8,0,149,4], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[8,0,147,6], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[8,0,145,4], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[6,7,65], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[6,7,66], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[6,7,67], -"a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2":[6,7,68], -"a03537.html#ga3f3972f81de141ff0816b605054d775a":[6,7,126], -"a03537.html#ga3f3972f81de141ff0816b605054d775a":[8,0,90,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[6,7,117], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,86,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,126,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,78,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,84,8], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,113,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,110,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,101,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,107,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,104,8], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,88,9], -"a03537.html#ga3f89bae6a625d5f37abdcc99408def27":[8,0,95,9], -"a03537.html#ga450d95819e5184befaec71050a61dce9":[8,0,96,0], -"a03537.html#ga450d95819e5184befaec71050a61dce9":[6,7,13], -"a03537.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[6,7,108], -"a03537.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[8,0,83,2], -"a03537.html#ga4589d7b3e951f40b7928f1cf31f7ddf3":[8,0,46,5], -"a03537.html#ga47588dbefadcc1569513b053a156f3d6":[8,0,92,7], -"a03537.html#ga47588dbefadcc1569513b053a156f3d6":[6,7,138] +"a00910.html#gad115ce255664a48b80e90ea19c156b79":[9,0,2,0], +"a00910.html#gad2096a4618dd37c48ed48847fe63d844":[9,0,13,2], +"a00910.html#gad2096a4618dd37c48ed48847fe63d844":[9,0,1,46], +"a00910.html#gad2096a4618dd37c48ed48847fe63d844":[7,5,55], +"a00910.html#gad3bc620aedd9322d160eece0d8d20c82":[9,0,0,12], +"a00910.html#gad3bc620aedd9322d160eece0d8d20c82":[9,0,1,111], +"a00910.html#gad3bc620aedd9322d160eece0d8d20c82":[7,5,124], +"a00910.html#gad4d0b05dd9b5d0987e24eef9674922ce":[7,5,4], +"a00910.html#gad4d0b05dd9b5d0987e24eef9674922ce":[9,0,1,0], +"a00910.html#gada9491be0c81fb18b021f71b9a6eda3e":[7,5,21], +"a00910.html#gada9491be0c81fb18b021f71b9a6eda3e":[9,0,1,18], +"a00910.html#gada9491be0c81fb18b021f71b9a6eda3e":[9,0,5,1], +"a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[7,5,39], +"a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[9,0,22,0], +"a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87":[9,0,1,30], +"a00910.html#gade49e7746864105730fa7d531645ff62":[9,0,25,3], +"a00910.html#gade49e7746864105730fa7d531645ff62":[9,0,1,51], +"a00910.html#gade49e7746864105730fa7d531645ff62":[7,5,61], +"a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[9,0,25,13], +"a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[7,5,108], +"a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a":[9,0,1,95], +"a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272":[9,0,52,6], +"a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272":[9,0,53,4], +"a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272":[7,5,33], +"a00910.html#gae3343c160e80365b7e96bdfdc9b6365c":[9,0,25,11], +"a00910.html#gae3343c160e80365b7e96bdfdc9b6365c":[7,5,106], +"a00910.html#gae3343c160e80365b7e96bdfdc9b6365c":[9,0,1,93], +"a00910.html#gae655ce06583c08169170102fbb0b55c9":[7,5,103], +"a00910.html#gae655ce06583c08169170102fbb0b55c9":[9,0,25,8], +"a00910.html#gae655ce06583c08169170102fbb0b55c9":[9,0,1,90], +"a00910.html#gae7558905ea6a82c4bd50d4b99e954d91":[7,5,25], +"a00910.html#gae7558905ea6a82c4bd50d4b99e954d91":[9,0,1,22], +"a00910.html#gae7558905ea6a82c4bd50d4b99e954d91":[9,0,5,5], +"a00910.html#gae8cc7670847805423ad591985eecd832":[9,0,28,4], +"a00910.html#gae8cc7670847805423ad591985eecd832":[9,0,1,107], +"a00910.html#gae8cc7670847805423ad591985eecd832":[7,5,120], +"a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[7,5,99], +"a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[9,0,1,86], +"a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7":[9,0,24,0], +"a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c":[7,5,83], +"a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c":[9,0,1,73], +"a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c":[9,0,19,5], +"a00910.html#gaeee666028a097659af69cc828a6bd68b":[9,0,1,33], +"a00910.html#gaeee666028a097659af69cc828a6bd68b":[9,0,9,2], +"a00910.html#gaeee666028a097659af69cc828a6bd68b":[7,5,42], +"a00910.html#gaeeff0177acf29e6e7b134a14d7119d69":[9,0,52,5], +"a00910.html#gaeeff0177acf29e6e7b134a14d7119d69":[9,0,53,3], +"a00910.html#gaeeff0177acf29e6e7b134a14d7119d69":[7,5,32], +"a00910.html#gaefce484222bdbedef37787a9b10d4426":[9,0,22,1], +"a00910.html#gaefce484222bdbedef37787a9b10d4426":[9,0,1,60], +"a00910.html#gaefce484222bdbedef37787a9b10d4426":[7,5,70], +"a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6":[9,0,1,68], +"a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6":[7,5,78], +"a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6":[9,0,17,5], +"a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[7,5,63], +"a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[9,0,0,6], +"a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0":[9,0,1,53], +"a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6":[9,0,1,71], +"a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6":[7,5,81], +"a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6":[9,0,19,3], +"a00910.html#gafaccb0c9d12154b0c5b917f89f233721":[9,0,1,40], +"a00910.html#gafaccb0c9d12154b0c5b917f89f233721":[9,0,11,5], +"a00910.html#gafaccb0c9d12154b0c5b917f89f233721":[7,5,49], +"a00910.html#gaff701132013eaac5600dd9fd6253505d":[9,0,0,11], +"a00910.html#gaff701132013eaac5600dd9fd6253505d":[7,5,123], +"a00910.html#gaff701132013eaac5600dd9fd6253505d":[9,0,1,110], +"a00911.html":[7,6], +"a00911.html#ga0710d8bf5e92403c4026c32af39ad79e":[9,0,39,0], +"a00911.html#ga0710d8bf5e92403c4026c32af39ad79e":[9,0,40,0], +"a00911.html#ga0710d8bf5e92403c4026c32af39ad79e":[7,6,9], +"a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[9,0,41,1], +"a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[9,0,42,2], +"a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453":[7,6,11], +"a00911.html#ga58283666b662f084155ba693870c1077":[7,6,16], +"a00911.html#ga58283666b662f084155ba693870c1077":[9,0,43,2], +"a00911.html#ga58283666b662f084155ba693870c1077":[9,0,44,3], +"a00911.html#ga63412270c4629874f2764171200c1b5c":[9,0,43,0], +"a00911.html#ga63412270c4629874f2764171200c1b5c":[9,0,44,1], +"a00911.html#ga63412270c4629874f2764171200c1b5c":[7,6,14], +"a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[9,0,41,3], +"a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[9,0,42,4], +"a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03":[7,6,13], +"a00911.html#ga6bcf19f52fbceb7801fc3216d528fb3c":[9,0,38,2], +"a00911.html#ga6bcf19f52fbceb7801fc3216d528fb3c":[7,6,4], +"a00911.html#ga6eba254effebfbbb95381511fc7d80d5":[9,0,38,3], +"a00911.html#ga6eba254effebfbbb95381511fc7d80d5":[7,6,5], +"a00911.html#ga84b866657bf319dab2924c2db3a1e990":[9,0,42,1], +"a00911.html#ga84b866657bf319dab2924c2db3a1e990":[7,6,10], +"a00911.html#ga84b866657bf319dab2924c2db3a1e990":[9,0,41,0], +"a00911.html#ga86364f6d07b86740f3170d9d1ca60641":[9,0,44,0], +"a00911.html#ga86364f6d07b86740f3170d9d1ca60641":[7,6,7], +"a00911.html#gaa61eee6f208a1633d35cdf8d628a6835":[9,0,37,0], +"a00911.html#gaa61eee6f208a1633d35cdf8d628a6835":[9,0,38,4], +"a00911.html#gaa61eee6f208a1633d35cdf8d628a6835":[7,6,8], +"a00911.html#gab1a09fa1d854722cc667cea319ca9984":[9,0,44,4], +"a00911.html#gab1a09fa1d854722cc667cea319ca9984":[7,6,17], +"a00911.html#gab1a09fa1d854722cc667cea319ca9984":[9,0,43,3], +"a00911.html#gab6935877a2675bfc95af283fb43affb5":[9,0,38,0], +"a00911.html#gab6935877a2675bfc95af283fb43affb5":[7,6,2], +"a00911.html#gabed03bcc1228768534ef4ee49df0ad09":[9,0,41,2], +"a00911.html#gabed03bcc1228768534ef4ee49df0ad09":[9,0,42,3], +"a00911.html#gabed03bcc1228768534ef4ee49df0ad09":[7,6,12], +"a00911.html#gadb06f3adddd74993ab0da4be3ea71441":[9,0,38,1], +"a00911.html#gadb06f3adddd74993ab0da4be3ea71441":[7,6,3], +"a00911.html#gadb94a0991eb670ff1bf90253dfea0bfa":[9,0,42,0], +"a00911.html#gadb94a0991eb670ff1bf90253dfea0bfa":[7,6,6], +"a00911.html#gae3a29931f2104cce481aa9ef1ab16fea":[9,0,43,1], +"a00911.html#gae3a29931f2104cce481aa9ef1ab16fea":[7,6,15], +"a00911.html#gae3a29931f2104cce481aa9ef1ab16fea":[9,0,44,2], +"a00912.html":[7,7], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,152,10], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,155,5], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,149,2], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,154,8], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[7,7,174], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,153,3], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,151,2], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,150,8], +"a00912.html#ga003b63648f1a5f9eba274760559688f2":[9,0,156,8], +"a00912.html#ga0121a73c96416c97ce07ed9077226588":[7,7,132], +"a00912.html#ga0121a73c96416c97ce07ed9077226588":[9,0,81,1], +"a00912.html#ga0121a73c96416c97ce07ed9077226588":[9,0,128,2], +"a00912.html#ga0121a73c96416c97ce07ed9077226588":[9,0,97,1], +"a00912.html#ga020fb0be6c73515122cf4b9f749fd97d":[7,7,165], +"a00912.html#ga020fb0be6c73515122cf4b9f749fd97d":[9,0,128,13], +"a00912.html#ga020fb0be6c73515122cf4b9f749fd97d":[9,0,137,2], +"a00912.html#ga020fb0be6c73515122cf4b9f749fd97d":[9,0,95,16], +"a00912.html#ga02e9f36723f0feb21d373898728de04b":[7,7,148], +"a00912.html#ga02e9f36723f0feb21d373898728de04b":[9,0,123,5], +"a00912.html#ga02e9f36723f0feb21d373898728de04b":[9,0,121,5], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[7,7,109], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,109,0], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,131,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,83,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,100,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,106,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,115,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,118,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,112,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,91,1], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,89,0], +"a00912.html#ga05700385437884cc7b28c38d33e84f8c":[9,0,93,1], +"a00912.html#ga069bb8cb95b0528d5ce0304bb5561a40":[7,7,93], +"a00912.html#ga069bb8cb95b0528d5ce0304bb5561a40":[9,0,96,5], +"a00912.html#ga0810d89c328e48fd91eb604323cca4e9":[9,0,139,0], +"a00912.html#ga0810d89c328e48fd91eb604323cca4e9":[7,7,28], +"a00912.html#ga08b6c05184266dc4d5c8727bb9c1c754":[9,0,96,1], +"a00912.html#ga08b6c05184266dc4d5c8727bb9c1c754":[7,7,9], +"a00912.html#ga09a86ccc517208f9c9a057ea569e2a18":[7,7,166], +"a00912.html#ga09a86ccc517208f9c9a057ea569e2a18":[9,0,139,6], +"a00912.html#ga09a86ccc517208f9c9a057ea569e2a18":[9,0,138,6], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[7,7,112], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,91,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,100,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,83,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,89,3], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,131,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,112,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,115,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,118,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,109,3], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,106,4], +"a00912.html#ga09e7f465a040fbd19ea136269571de3c":[9,0,93,4], +"a00912.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d":[9,0,95,5], +"a00912.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d":[7,7,122], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,154,6], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,155,3], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[7,7,172], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,153,1], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,151,0], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,152,8], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,149,0], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,150,6], +"a00912.html#ga0b1aad3936bf003686d8db7fa2be5132":[9,0,156,6], +"a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[7,7,170], +"a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[9,0,138,10], +"a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4":[9,0,139,10], +"a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[7,7,161], +"a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[9,0,81,10], +"a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[9,0,128,11], +"a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[9,0,137,0], +"a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205":[9,0,97,10], +"a00912.html#ga1299c47e6d73d987bc04b16f25637bf6":[7,7,129], +"a00912.html#ga1299c47e6d73d987bc04b16f25637bf6":[9,0,95,12], +"a00912.html#ga13c01ac16bb14fde75e9c00dcd1cc761":[9,0,124,0], +"a00912.html#ga13c01ac16bb14fde75e9c00dcd1cc761":[7,7,56], +"a00912.html#ga13ef2322176ad9b7ba3d2e23b277cce6":[9,0,124,2], +"a00912.html#ga13ef2322176ad9b7ba3d2e23b277cce6":[7,7,58], +"a00912.html#ga1473b18d902ce22c6b22d04ff5a7ef02":[9,0,138,11], +"a00912.html#ga1473b18d902ce22c6b22d04ff5a7ef02":[7,7,171], +"a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132":[7,7,149], +"a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132":[9,0,123,6], +"a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132":[9,0,121,6], +"a00912.html#ga19891182689551cc3a88603135959351":[7,7,98], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,130,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,51,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,105,2], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,108,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,99,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,114,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,133,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,102,2], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,85,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,120,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,125,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,117,0], +"a00912.html#ga19891182689551cc3a88603135959351":[9,0,111,0], +"a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed":[9,0,97,8], +"a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed":[7,7,139], +"a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed":[9,0,81,8], +"a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed":[9,0,128,9], +"a00912.html#ga1b199a0aedb00251513eb57552f738b4":[7,7,14], +"a00912.html#ga1b199a0aedb00251513eb57552f738b4":[9,0,101,1], +"a00912.html#ga20af8352e13a7357650ba1cbf41349ea":[9,0,124,3], +"a00912.html#ga20af8352e13a7357650ba1cbf41349ea":[7,7,59], +"a00912.html#ga218b4f7c6cc2681a99c23a3b089d68b1":[7,7,187], +"a00912.html#ga218b4f7c6cc2681a99c23a3b089d68b1":[9,0,95,19], +"a00912.html#ga21a939cc86a0602cb2ba3be3eec26e6e":[7,7,127], +"a00912.html#ga21a939cc86a0602cb2ba3be3eec26e6e":[9,0,95,10], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[9,0,98,2], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[9,0,129,2], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[9,0,82,2], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[7,7,72], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[7,7,73], +"a00912.html#ga2416cca7ee952e679d466e3349d65035":[7,7,74], +"a00912.html#ga252e365a30f2583dae8a8eac073a9f53":[7,7,152], +"a00912.html#ga252e365a30f2583dae8a8eac073a9f53":[9,0,123,9], +"a00912.html#ga252e365a30f2583dae8a8eac073a9f53":[9,0,121,8], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[7,7,87], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[7,7,88], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[7,7,89], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[7,7,90], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[7,7,91], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[9,0,156,5], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[9,0,154,5], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[9,0,152,7], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[9,0,122,0], +"a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a":[9,0,150,5], +"a00912.html#ga2df85bfd309840b4c9a5087e053d4811":[9,0,96,3], +"a00912.html#ga2df85bfd309840b4c9a5087e053d4811":[7,7,71], +"a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[9,0,101,2], +"a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[9,0,105,0], +"a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[7,7,15], +"a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a":[7,7,16], +"a00912.html#ga313bdfc8337f930a7f9fc6ca4e7731d9":[7,7,124], +"a00912.html#ga313bdfc8337f930a7f9fc6ca4e7731d9":[9,0,95,7], +"a00912.html#ga31c35882825888bc79e420905830f25d":[7,7,102], +"a00912.html#ga31c35882825888bc79e420905830f25d":[9,0,102,5], +"a00912.html#ga31fd8170a49623686543f6247b883bd1":[7,7,154], +"a00912.html#ga31fd8170a49623686543f6247b883bd1":[9,0,51,9] }; diff --git a/docs/html/pages.html b/docs/html/pages.html index 516dd25cf..90ed5b45f 100644 --- a/docs/html/pages.html +++ b/docs/html/pages.html @@ -92,11 +92,12 @@ diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js index c4501a17b..c11de9d91 100644 --- a/docs/html/search/all_0.js +++ b/docs/html/search/all_0.js @@ -1,11 +1,11 @@ var searchData= [ - ['_5fatcab_5fexit',['_atcab_exit',['../a03535.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c'],['../a03535.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c']]], - ['_5fatinit',['_atinit',['../a03533.html#gafdef2e89419fb8f93160efdd109ef8e4',1,'atca_iface.c']]], - ['_5fgcdc',['_gCdc',['../a03537.html#gabc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_linux_kit_cdc.c'],['../a00452.html#abc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_win_kit_cdc.c']]], - ['_5fgdevice',['_gDevice',['../a03535.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c'],['../a03535.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c']]], - ['_5fghid',['_gHid',['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_all_platforms_kit_hidapi.c'],['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_linux_kit_hid.c'],['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_win_kit_hid.c']]], - ['_5fnop',['_NOP',['../a00290.html#a46388d9db8422abfea56ae2323f7a77c',1,'sha1_routines.h']]], - ['_5freserved',['_reserved',['../a03547.html#ad64c25d49d8bac111d62c92a0e552289',1,'ATCAPacket']]], - ['_5fwdreset',['_WDRESET',['../a00290.html#a45e79c30522d47f4c30922b3d5b06b46',1,'sha1_routines.h']]] + ['_5fatcab_5fexit',['_atcab_exit',['../a00910.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c'],['../a00910.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c']]], + ['_5fatinit',['_atinit',['../a00908.html#gafdef2e89419fb8f93160efdd109ef8e4',1,'atca_iface.c']]], + ['_5fgcdc',['_gCdc',['../a00912.html#gabc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_linux_kit_cdc.c'],['../a00473.html#abc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_win_kit_cdc.c']]], + ['_5fgdevice',['_gDevice',['../a00910.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c'],['../a00910.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c']]], + ['_5fghid',['_gHid',['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_all_platforms_kit_hidapi.c'],['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_linux_kit_hid.c'],['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_win_kit_hid.c']]], + ['_5fnop',['_NOP',['../a00311.html#a46388d9db8422abfea56ae2323f7a77c',1,'sha1_routines.h']]], + ['_5freserved',['_reserved',['../a00922.html#ad64c25d49d8bac111d62c92a0e552289',1,'ATCAPacket']]], + ['_5fwdreset',['_WDRESET',['../a00311.html#a45e79c30522d47f4c30922b3d5b06b46',1,'sha1_routines.h']]] ]; diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js index 782a731f8..12b5466b5 100644 --- a/docs/html/search/all_1.js +++ b/docs/html/search/all_1.js @@ -1,646 +1,664 @@ var searchData= [ - ['ack_5fcheck_5fdis',['ACK_CHECK_DIS',['../a00332.html#a8ad7ceb373ce664b1c2482a66537e7c0',1,'hal_esp32_i2c.c']]], - ['ack_5fcheck_5fen',['ACK_CHECK_EN',['../a00332.html#a7dd22b838d2b1f22d367e6cdef04ccc3',1,'hal_esp32_i2c.c']]], - ['ack_5fval',['ACK_VAL',['../a00332.html#a1d64a546dacc15052a6c4887f9d0020f',1,'hal_esp32_i2c.c']]], - ['aes_5fcount',['AES_COUNT',['../a03531.html#ga72cc5ecbdfa169d282776461ce48fda6',1,'atca_command.h']]], - ['aes_5fdata_5fsize',['AES_DATA_SIZE',['../a03531.html#ga8cbce00b91b0ddfb3264c9c367a3699a',1,'atca_command.h']]], - ['aes_5finput_5fidx',['AES_INPUT_IDX',['../a03531.html#gafabb67121c9c58fac9829287b55a2389',1,'atca_command.h']]], - ['aes_5fkeyid_5fidx',['AES_KEYID_IDX',['../a03531.html#ga2809c87d994c49b53e039f752834fc97',1,'atca_command.h']]], - ['aes_5fmode_5fdecrypt',['AES_MODE_DECRYPT',['../a03531.html#ga01cd269d08661e645b4caee850424130',1,'atca_command.h']]], - ['aes_5fmode_5fencrypt',['AES_MODE_ENCRYPT',['../a03531.html#ga5ebee4d7d2d30a88ded25f9a6feecc52',1,'atca_command.h']]], - ['aes_5fmode_5fgfm',['AES_MODE_GFM',['../a03531.html#ga34ec73cf7504b560883a5d192fe88793',1,'atca_command.h']]], - ['aes_5fmode_5fidx',['AES_MODE_IDX',['../a03531.html#ga890e2e40916e88caf596cff43be8ab23',1,'atca_command.h']]], - ['aes_5fmode_5fkey_5fblock_5fmask',['AES_MODE_KEY_BLOCK_MASK',['../a03531.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f',1,'atca_command.h']]], - ['aes_5fmode_5fkey_5fblock_5fpos',['AES_MODE_KEY_BLOCK_POS',['../a03531.html#gabbbbd4cd4cc05e2ea023f059676aa37e',1,'atca_command.h']]], - ['aes_5fmode_5fmask',['AES_MODE_MASK',['../a03531.html#ga7b2f5fb4edfbf4cb719aedbd7215b863',1,'atca_command.h']]], - ['aes_5fmode_5fop_5fmask',['AES_MODE_OP_MASK',['../a03531.html#ga62c9e80674303aea5f92d76c92d30d2b',1,'atca_command.h']]], - ['aes_5frsp_5fsize',['AES_RSP_SIZE',['../a03531.html#gab24f797b7c19e899ef753d9901850e44',1,'atca_command.h']]], - ['any',['ANY',['../a00533.html#a95fe0b508144cd04a02f65dc4db76462',1,'license.txt']]], - ['app_5fdigest',['app_digest',['../a03767.html#a15de5c1cdbe015c9927c51026a44c15d',1,'secure_boot_parameters']]], - ['ataes',['atAES',['../a03531.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atca_5faddress_5fmask',['ATCA_ADDRESS_MASK',['../a03531.html#ga579676fd500ded40bc49dc53231fa658',1,'atca_command.h']]], - ['atca_5faddress_5fmask_5fconfig',['ATCA_ADDRESS_MASK_CONFIG',['../a03531.html#ga32d53cee52cd042a31f1adc934ad7a5a',1,'atca_command.h']]], - ['atca_5faddress_5fmask_5fotp',['ATCA_ADDRESS_MASK_OTP',['../a03531.html#ga56e3f8d816e2068d80003fdee7d58763',1,'atca_command.h']]], - ['atca_5faes',['ATCA_AES',['../a03531.html#ga4edf9367ffdc790e886166890fc814c1',1,'atca_command.h']]], - ['atca_5faes_5fcbc_5fctx',['atca_aes_cbc_ctx',['../a03611.html',1,'']]], - ['atca_5faes_5fcbc_5fctx_5ft',['atca_aes_cbc_ctx_t',['../a03535.html#gaa702726fe160635225abc3c1ed421f7e',1,'atca_basic.h']]], - ['atca_5faes_5fcmac_5fctx',['atca_aes_cmac_ctx',['../a03615.html',1,'']]], - ['atca_5faes_5fcmac_5fctx_5ft',['atca_aes_cmac_ctx_t',['../a03535.html#ga05fa8c58bf4408381db8871b0dca64b6',1,'atca_basic.h']]], - ['atca_5faes_5fctr_5fctx',['atca_aes_ctr_ctx',['../a03619.html',1,'']]], - ['atca_5faes_5fctr_5fctx_5ft',['atca_aes_ctr_ctx_t',['../a03535.html#ga52b18f051752d214a2d5b485270f5b15',1,'atca_basic.h']]], - ['atca_5faes_5fgfm_5fsize',['ATCA_AES_GFM_SIZE',['../a03531.html#ga6ce84aad51d25e05139f83ac9ca2b162',1,'atca_command.h']]], - ['atca_5faes_5fkey_5ftype',['ATCA_AES_KEY_TYPE',['../a03531.html#ga8335b06c5f49c384e2c2f31861865a54',1,'atca_command.h']]], - ['atca_5falloc_5ffailure',['ATCA_ALLOC_FAILURE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1',1,'atca_status.h']]], - ['atca_5fassert_5ffailure',['ATCA_ASSERT_FAILURE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09',1,'atca_status.h']]], - ['atca_5fb283_5fkey_5ftype',['ATCA_B283_KEY_TYPE',['../a03531.html#ga16f1550cc792fa205acef2106f2fcf54',1,'atca_command.h']]], - ['atca_5fbad_5fopcode',['ATCA_BAD_OPCODE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15',1,'atca_status.h']]], - ['atca_5fbad_5fparam',['ATCA_BAD_PARAM',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200',1,'atca_status.h']]], - ['atca_5fbasic_2ec',['atca_basic.c',['../a00176.html',1,'']]], - ['atca_5fbasic_2eh',['atca_basic.h',['../a00179.html',1,'']]], - ['atca_5fbasic_5faes_2ec',['atca_basic_aes.c',['../a00182.html',1,'']]], - ['atca_5fbasic_5fcheckmac_2ec',['atca_basic_checkmac.c',['../a00185.html',1,'']]], - ['atca_5fbasic_5fcounter_2ec',['atca_basic_counter.c',['../a00188.html',1,'']]], - ['atca_5fbasic_5fderivekey_2ec',['atca_basic_derivekey.c',['../a00191.html',1,'']]], - ['atca_5fbasic_5fecdh_2ec',['atca_basic_ecdh.c',['../a00194.html',1,'']]], - ['atca_5fbasic_5fgendig_2ec',['atca_basic_gendig.c',['../a00197.html',1,'']]], - ['atca_5fbasic_5fgenkey_2ec',['atca_basic_genkey.c',['../a00200.html',1,'']]], - ['atca_5fbasic_5fhmac_2ec',['atca_basic_hmac.c',['../a00203.html',1,'']]], - ['atca_5fbasic_5finfo_2ec',['atca_basic_info.c',['../a00206.html',1,'']]], - ['atca_5fbasic_5fkdf_2ec',['atca_basic_kdf.c',['../a00209.html',1,'']]], - ['atca_5fbasic_5flock_2ec',['atca_basic_lock.c',['../a00212.html',1,'']]], - ['atca_5fbasic_5fmac_2ec',['atca_basic_mac.c',['../a00215.html',1,'']]], - ['atca_5fbasic_5fnonce_2ec',['atca_basic_nonce.c',['../a00218.html',1,'']]], - ['atca_5fbasic_5fprivwrite_2ec',['atca_basic_privwrite.c',['../a00221.html',1,'']]], - ['atca_5fbasic_5frandom_2ec',['atca_basic_random.c',['../a00224.html',1,'']]], - ['atca_5fbasic_5fread_2ec',['atca_basic_read.c',['../a00227.html',1,'']]], - ['atca_5fbasic_5fsecureboot_2ec',['atca_basic_secureboot.c',['../a00230.html',1,'']]], - ['atca_5fbasic_5fselftest_2ec',['atca_basic_selftest.c',['../a00233.html',1,'']]], - ['atca_5fbasic_5fsha_2ec',['atca_basic_sha.c',['../a00236.html',1,'']]], - ['atca_5fbasic_5fsign_2ec',['atca_basic_sign.c',['../a00239.html',1,'']]], - ['atca_5fbasic_5fupdateextra_2ec',['atca_basic_updateextra.c',['../a00242.html',1,'']]], - ['atca_5fbasic_5fverify_2ec',['atca_basic_verify.c',['../a00245.html',1,'']]], - ['atca_5fbasic_5fwrite_2ec',['atca_basic_write.c',['../a00248.html',1,'']]], - ['atca_5fblock_5fsize',['ATCA_BLOCK_SIZE',['../a03531.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef',1,'atca_command.h']]], - ['atca_5fbool_2eh',['atca_bool.h',['../a00089.html',1,'']]], - ['atca_5fcfgs_2ec',['atca_cfgs.c',['../a00092.html',1,'']]], - ['atca_5fcfgs_2eh',['atca_cfgs.h',['../a00095.html',1,'']]], - ['atca_5fcheck_5fmac_5fin_5fout',['atca_check_mac_in_out',['../a03743.html',1,'']]], - ['atca_5fcheck_5fmac_5fin_5fout_5ft',['atca_check_mac_in_out_t',['../a03538.html#ga897821490d4d10e168f1c94cd67966e7',1,'atca_host.h']]], - ['atca_5fcheckmac',['ATCA_CHECKMAC',['../a03531.html#ga1f9bb707789dc9194b06403113c9dfaf',1,'atca_command.h']]], - ['atca_5fcheckmac_5fverify_5ffailed',['ATCA_CHECKMAC_VERIFY_FAILED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2',1,'atca_status.h']]], - ['atca_5fchipmode_5fclock_5fdiv_5fm0',['ATCA_CHIPMODE_CLOCK_DIV_M0',['../a03531.html#gabe16121ea22ed08080997a2cfae1c125',1,'atca_command.h']]], - ['atca_5fchipmode_5fclock_5fdiv_5fm1',['ATCA_CHIPMODE_CLOCK_DIV_M1',['../a03531.html#gaabaee03887c7e4403ac4936d9cde406e',1,'atca_command.h']]], - ['atca_5fchipmode_5fclock_5fdiv_5fm2',['ATCA_CHIPMODE_CLOCK_DIV_M2',['../a03531.html#ga84f7e63b8711e799da259862b170fd75',1,'atca_command.h']]], - ['atca_5fchipmode_5fclock_5fdiv_5fmask',['ATCA_CHIPMODE_CLOCK_DIV_MASK',['../a03531.html#ga09ab7fb893534775d506020643820939',1,'atca_command.h']]], - ['atca_5fchipmode_5fi2c_5faddress_5fflag',['ATCA_CHIPMODE_I2C_ADDRESS_FLAG',['../a03531.html#ga74a13b4b6304a02b4e006901b6ac1de5',1,'atca_command.h']]], - ['atca_5fchipmode_5foffset',['ATCA_CHIPMODE_OFFSET',['../a03531.html#ga6eaf90b702c122de71a18a9b2bd43ba7',1,'atca_command.h']]], - ['atca_5fchipmode_5fttl_5fenable_5fflag',['ATCA_CHIPMODE_TTL_ENABLE_FLAG',['../a03531.html#ga10795619d6fb78965b7e78996261f6cd',1,'atca_command.h']]], - ['atca_5fchipmode_5fwatchdog_5flong',['ATCA_CHIPMODE_WATCHDOG_LONG',['../a03531.html#ga9a089181beb38a1e5c5add58e96302bc',1,'atca_command.h']]], - ['atca_5fchipmode_5fwatchdog_5fmask',['ATCA_CHIPMODE_WATCHDOG_MASK',['../a03531.html#ga814ad478cb05af339635633cbcd495b7',1,'atca_command.h']]], - ['atca_5fchipmode_5fwatchdog_5fshort',['ATCA_CHIPMODE_WATCHDOG_SHORT',['../a03531.html#gab2c08e9a862fce29e741ef2b75918a8e',1,'atca_command.h']]], - ['atca_5fcmd_5fsize_5fmax',['ATCA_CMD_SIZE_MAX',['../a03531.html#ga3f7b636ed69136b5e5aa6d172cfd34e9',1,'atca_command.h']]], - ['atca_5fcmd_5fsize_5fmin',['ATCA_CMD_SIZE_MIN',['../a03531.html#gac978ae798bc2c020c7b8a2e5a258016e',1,'atca_command.h']]], - ['atca_5fcomm_5ffail',['ATCA_COMM_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240',1,'atca_status.h']]], - ['atca_5fcommand',['atca_command',['../a03543.html',1,'']]], - ['atca_5fcommand_2ec',['atca_command.c',['../a00098.html',1,'']]], - ['atca_5fcommand_2eh',['atca_command.h',['../a00101.html',1,'']]], - ['atca_5fcommand_5fheader_5fsize',['ATCA_COMMAND_HEADER_SIZE',['../a03538.html#gab51341e9f564bc8f85c2e822835a8bcb',1,'atca_host.h']]], - ['atca_5fcompiler_2eh',['atca_compiler.h',['../a00104.html',1,'']]], - ['atca_5fconfig_5fzone_5flocked',['ATCA_CONFIG_ZONE_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0',1,'atca_status.h']]], - ['atca_5fcount_5fidx',['ATCA_COUNT_IDX',['../a03531.html#ga0aac7fbfd425112b4b1e922876532a9e',1,'atca_command.h']]], - ['atca_5fcount_5fsize',['ATCA_COUNT_SIZE',['../a03531.html#gad410516c4b4eb448a333eb3ed1f7b288',1,'atca_command.h']]], - ['atca_5fcounter',['ATCA_COUNTER',['../a03531.html#ga9599c4331857f1daa543a31fcce650fd',1,'atca_command.h']]], - ['atca_5fcrc_5fsize',['ATCA_CRC_SIZE',['../a03531.html#ga276faf364bbb0e27819842111e08842f',1,'atca_command.h']]], - ['atca_5fcrypto_5fsw_2eh',['atca_crypto_sw.h',['../a00260.html',1,'']]], - ['atca_5fcrypto_5fsw_5fecdsa_2ec',['atca_crypto_sw_ecdsa.c',['../a00263.html',1,'']]], - ['atca_5fcrypto_5fsw_5fecdsa_2eh',['atca_crypto_sw_ecdsa.h',['../a00266.html',1,'']]], - ['atca_5fcrypto_5fsw_5frand_2ec',['atca_crypto_sw_rand.c',['../a00269.html',1,'']]], - ['atca_5fcrypto_5fsw_5frand_2eh',['atca_crypto_sw_rand.h',['../a00272.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha1_2ec',['atca_crypto_sw_sha1.c',['../a00275.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha1_2eh',['atca_crypto_sw_sha1.h',['../a00278.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha2_2ec',['atca_crypto_sw_sha2.c',['../a00281.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha2_2eh',['atca_crypto_sw_sha2.h',['../a00284.html',1,'']]], - ['atca_5fcustom_5fiface',['ATCA_CUSTOM_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d',1,'atca_iface.h']]], - ['atca_5fdata_5fidx',['ATCA_DATA_IDX',['../a03531.html#ga756539af7bcadf33dd3a9b2f60763f7a',1,'atca_command.h']]], - ['atca_5fdata_5fsize',['ATCA_DATA_SIZE',['../a03531.html#ga0b96c7eee244d44c648245421745db12',1,'atca_command.h']]], - ['atca_5fdata_5fzone_5flocked',['ATCA_DATA_ZONE_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f',1,'atca_status.h']]], - ['atca_5fdecrypt_5fin_5fout',['atca_decrypt_in_out',['../a03739.html',1,'']]], - ['atca_5fdelay_5f10us',['atca_delay_10us',['../a03537.html#ga19891182689551cc3a88603135959351',1,'hal_at90usb1287_timer_asf.c']]], - ['atca_5fdelay_5fms',['atca_delay_ms',['../a03537.html#ga80a853a202b089064bfc4b159c3418b4',1,'atca_delay_ms(uint32_t delay): hal_at90usb1287_timer_asf.c'],['../a00335.html#a4b83848e938fac7ec4dde79e584b6f71',1,'atca_delay_ms(uint32_t msec): hal_esp32_timer.c']]], - ['atca_5fdelay_5fus',['atca_delay_us',['../a03537.html#ga7598dfcd6dcac882836544d48356d02f',1,'hal_at90usb1287_timer_asf.c']]], - ['atca_5fderive_5fkey',['ATCA_DERIVE_KEY',['../a03531.html#gac9405ff4647b09a6d8ab7a4d8a091ee8',1,'atca_command.h']]], - ['atca_5fderive_5fkey_5fin_5fout',['atca_derive_key_in_out',['../a03731.html',1,'']]], - ['atca_5fderive_5fkey_5fmac_5fin_5fout',['atca_derive_key_mac_in_out',['../a03735.html',1,'']]], - ['atca_5fderive_5fkey_5fzeros_5fsize',['ATCA_DERIVE_KEY_ZEROS_SIZE',['../a03538.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c',1,'atca_host.h']]], - ['atca_5fdev_5funknown',['ATCA_DEV_UNKNOWN',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad',1,'atca_devtypes.h']]], - ['atca_5fdevice',['atca_device',['../a03551.html',1,'']]], - ['atca_5fdevice_2ec',['atca_device.c',['../a00107.html',1,'']]], - ['atca_5fdevice_2eh',['atca_device.h',['../a00110.html',1,'']]], - ['atca_5fdevtypes_2eh',['atca_devtypes.h',['../a00113.html',1,'']]], - ['atca_5fecc_5fconfig_5fsize',['ATCA_ECC_CONFIG_SIZE',['../a03531.html#gae8b9077022cc706947fdc8b45a573d81',1,'atca_command.h']]], - ['atca_5fecc_5fp256_5ffield_5fsize',['ATCA_ECC_P256_FIELD_SIZE',['../a03536.html#gab6935877a2675bfc95af283fb43affb5',1,'atca_crypto_sw_ecdsa.h']]], - ['atca_5fecc_5fp256_5fprivate_5fkey_5fsize',['ATCA_ECC_P256_PRIVATE_KEY_SIZE',['../a03536.html#gadb06f3adddd74993ab0da4be3ea71441',1,'atca_crypto_sw_ecdsa.h']]], - ['atca_5fecc_5fp256_5fpublic_5fkey_5fsize',['ATCA_ECC_P256_PUBLIC_KEY_SIZE',['../a03536.html#ga6bcf19f52fbceb7801fc3216d528fb3c',1,'atca_crypto_sw_ecdsa.h']]], - ['atca_5fecc_5fp256_5fsignature_5fsize',['ATCA_ECC_P256_SIGNATURE_SIZE',['../a03536.html#ga6eba254effebfbbb95381511fc7d80d5',1,'atca_crypto_sw_ecdsa.h']]], - ['atca_5fecdh',['ATCA_ECDH',['../a03531.html#ga06c1c02df3023d78b6b224060966460f',1,'atca_command.h']]], - ['atca_5fexecute_5fcommand',['atca_execute_command',['../a00116.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c'],['../a00119.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c']]], - ['atca_5fexecution_2ec',['atca_execution.c',['../a00116.html',1,'']]], - ['atca_5fexecution_2eh',['atca_execution.h',['../a00119.html',1,'']]], - ['atca_5fexecution_5ferror',['ATCA_EXECUTION_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b',1,'atca_status.h']]], - ['atca_5ffunc_5ffail',['ATCA_FUNC_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db',1,'atca_status.h']]], - ['atca_5fgen_5fdig_5fin_5fout',['atca_gen_dig_in_out',['../a03723.html',1,'']]], - ['atca_5fgen_5fdig_5fin_5fout_5ft',['atca_gen_dig_in_out_t',['../a03538.html#ga5ed81b300bd0d04f88708ad122d3a53a',1,'atca_host.h']]], - ['atca_5fgen_5ffail',['ATCA_GEN_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4',1,'atca_status.h']]], - ['atca_5fgen_5fkey_5fin_5fout',['atca_gen_key_in_out',['../a03751.html',1,'']]], - ['atca_5fgen_5fkey_5fin_5fout_5ft',['atca_gen_key_in_out_t',['../a03538.html#ga804b097bbb0a7086f7d208390689146b',1,'atca_host.h']]], - ['atca_5fgendig',['ATCA_GENDIG',['../a03531.html#ga37e24393c3e995d47a09ad962b6b83de',1,'atca_command.h']]], - ['atca_5fgendig_5fzeros_5fsize',['ATCA_GENDIG_ZEROS_SIZE',['../a03538.html#ga5398e83ccfca8ada7cb609c1e34d2cc4',1,'atca_host.h']]], - ['atca_5fgenkey',['ATCA_GENKEY',['../a03531.html#ga17f002359b157bee44a3c071a5a206db',1,'atca_command.h']]], - ['atca_5fhal_2ec',['atca_hal.c',['../a00305.html',1,'']]], - ['atca_5fhal_2eh',['atca_hal.h',['../a00308.html',1,'']]], - ['atca_5fhealth_5ftest_5ferror',['ATCA_HEALTH_TEST_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d',1,'atca_status.h']]], - ['atca_5fhelpers_2ec',['atca_helpers.c',['../a00251.html',1,'']]], - ['atca_5fhelpers_2eh',['atca_helpers.h',['../a00254.html',1,'']]], - ['atca_5fhid_5fiface',['ATCA_HID_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1',1,'atca_iface.h']]], - ['atca_5fhmac',['ATCA_HMAC',['../a03531.html#ga36122a4f84ec0c31330c3c0458304029',1,'atca_command.h']]], - ['atca_5fhmac_5fin_5fout',['atca_hmac_in_out',['../a03719.html',1,'']]], - ['atca_5fhmac_5fsha256_5fctx_5ft',['atca_hmac_sha256_ctx_t',['../a03535.html#ga4c1f62e502c168be9261d2af921e78ba',1,'atca_basic.h']]], - ['atca_5fhost_2ec',['atca_host.c',['../a00521.html',1,'']]], - ['atca_5fhost_2eh',['atca_host.h',['../a00524.html',1,'']]], - ['atca_5fi2c_5fiface',['ATCA_I2C_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb',1,'atca_iface.h']]], - ['atca_5fiface',['atca_iface',['../a03583.html',1,'']]], - ['atca_5fiface_2ec',['atca_iface.c',['../a00122.html',1,'']]], - ['atca_5fiface_2eh',['atca_iface.h',['../a00125.html',1,'']]], - ['atca_5finclude_5fdata_5fin_5fout',['atca_include_data_in_out',['../a03691.html',1,'']]], - ['atca_5finfo',['ATCA_INFO',['../a03531.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f',1,'atca_command.h']]], - ['atca_5finvalid_5fid',['ATCA_INVALID_ID',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816',1,'atca_status.h']]], - ['atca_5finvalid_5fsize',['ATCA_INVALID_SIZE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5',1,'atca_status.h']]], - ['atca_5fio_5fdecrypt_5fin_5fout',['atca_io_decrypt_in_out',['../a03699.html',1,'']]], - ['atca_5fio_5fdecrypt_5fin_5fout_5ft',['atca_io_decrypt_in_out_t',['../a03538.html#ga787a3ef3bd9a6feaf71b50fc127b619d',1,'atca_host.h']]], - ['atca_5fjwt_2ec',['atca_jwt.c',['../a00527.html',1,'']]], - ['atca_5fjwt_2eh',['atca_jwt.h',['../a00530.html',1,'']]], - ['atca_5fjwt_5fadd_5fclaim_5fnumeric',['atca_jwt_add_claim_numeric',['../a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c'],['../a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c']]], - ['atca_5fjwt_5fadd_5fclaim_5fstring',['atca_jwt_add_claim_string',['../a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c'],['../a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c']]], - ['atca_5fjwt_5fcheck_5fpayload_5fstart',['atca_jwt_check_payload_start',['../a03539.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c'],['../a03539.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c']]], - ['atca_5fjwt_5ffinalize',['atca_jwt_finalize',['../a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c'],['../a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c']]], - ['atca_5fjwt_5finit',['atca_jwt_init',['../a03539.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c'],['../a03539.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c']]], - ['atca_5fjwt_5ft',['atca_jwt_t',['../a03759.html',1,'']]], - ['atca_5fjwt_5fverify',['atca_jwt_verify',['../a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c'],['../a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c']]], - ['atca_5fk283_5fkey_5ftype',['ATCA_K283_KEY_TYPE',['../a03531.html#gaac4e75cf70cf0cf946216ffefaf65525',1,'atca_command.h']]], - ['atca_5fkdf',['ATCA_KDF',['../a03531.html#ga1c0632a1eabc73aaebcb4c7f265b8a00',1,'atca_command.h']]], - ['atca_5fkey_5fcount',['ATCA_KEY_COUNT',['../a03531.html#gafa043ddb1952520a2bba28ac41a98f93',1,'atca_command.h']]], - ['atca_5fkey_5fid_5fmax',['ATCA_KEY_ID_MAX',['../a03531.html#ga5da5f8005c1b2612b998afcbd823c716',1,'atca_command.h']]], - ['atca_5fkey_5fsize',['ATCA_KEY_SIZE',['../a03531.html#ga66a410dde8f388c582495ba315284276',1,'atca_command.h']]], - ['atca_5flock',['ATCA_LOCK',['../a03531.html#gac227802d9a5680688ac4c2b23b38273c',1,'atca_command.h']]], - ['atca_5flocked',['ATCA_LOCKED',['../a03531.html#gaf397e129e4581162f91873358b5f1538',1,'atca_command.h']]], - ['atca_5fmac',['ATCA_MAC',['../a03531.html#gaa0843d9ec7e246455483a1fb1fdf3a07',1,'atca_command.h']]], - ['atca_5fmac_5fin_5fout',['atca_mac_in_out',['../a03715.html',1,'']]], - ['atca_5fmac_5fin_5fout_5ft',['atca_mac_in_out_t',['../a03538.html#ga21e3f5ec2d0765d3e98432c4e8498350',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fderive_5fkey',['ATCA_MSG_SIZE_DERIVE_KEY',['../a03538.html#ga1f445a11e4da099fec31efd43eadc234',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fderive_5fkey_5fmac',['ATCA_MSG_SIZE_DERIVE_KEY_MAC',['../a03538.html#ga4ef7d31c60616cf5177f415e32607d10',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fencrypt_5fmac',['ATCA_MSG_SIZE_ENCRYPT_MAC',['../a03538.html#gafd8064c07a5f22cdb087c88e1b87c1be',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fgen_5fdig',['ATCA_MSG_SIZE_GEN_DIG',['../a03538.html#ga656372cab66beeb5a333e9a33e342017',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fhmac',['ATCA_MSG_SIZE_HMAC',['../a03538.html#gae9245f524128f65f77f65002a5a7265f',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fmac',['ATCA_MSG_SIZE_MAC',['../a03538.html#ga2b5993f5b7254d8c6e50794824cf47b6',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fnonce',['ATCA_MSG_SIZE_NONCE',['../a03538.html#gaebdc2d83274268bb48fc45e87aef38af',1,'atca_host.h']]], - ['atca_5fmsg_5fsize_5fprivwrite_5fmac',['ATCA_MSG_SIZE_PRIVWRITE_MAC',['../a03538.html#ga1039bfbe7e13d614814341bdee6afa7b',1,'atca_host.h']]], - ['atca_5fmutex_5ftimeout',['ATCA_MUTEX_TIMEOUT',['../a00338.html#acf61a669d2246c92200734be17bd5488',1,'hal_freertos.c']]], - ['atca_5fno_5fdevices',['ATCA_NO_DEVICES',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822',1,'atca_status.h']]], - ['atca_5fnonce',['ATCA_NONCE',['../a03531.html#ga232e4a2b3f189cc2c3594ce5f18da3aa',1,'atca_command.h']]], - ['atca_5fnonce_5fin_5fout',['atca_nonce_in_out',['../a03695.html',1,'']]], - ['atca_5fnonce_5fin_5fout_5ft',['atca_nonce_in_out_t',['../a03538.html#gae9d8a27e97696e2e02cea680ea44e3f2',1,'atca_host.h']]], - ['atca_5fnot_5flocked',['ATCA_NOT_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8',1,'atca_status.h']]], - ['atca_5fopcode_5fidx',['ATCA_OPCODE_IDX',['../a03531.html#ga15c3e02dd629f85722f4b74e61f3adca',1,'atca_command.h']]], - ['atca_5fotp_5fblock_5fmax',['ATCA_OTP_BLOCK_MAX',['../a03531.html#gaa0eacfa4e596c3eb572753b7f5171276',1,'atca_command.h']]], - ['atca_5fotp_5fsize',['ATCA_OTP_SIZE',['../a03531.html#ga4c05f7bd221df19c5c6ad1fe1f4709be',1,'atca_command.h']]], - ['atca_5fp256_5fkey_5ftype',['ATCA_P256_KEY_TYPE',['../a03531.html#ga6e53cd97c61a185ca397ebed8dc3edcb',1,'atca_command.h']]], - ['atca_5fpacket_5foverhead',['ATCA_PACKET_OVERHEAD',['../a03531.html#gaa569255bc251cd90cb2d0f6b710164bc',1,'atca_command.h']]], - ['atca_5fparam1_5fidx',['ATCA_PARAM1_IDX',['../a03531.html#ga090c04fed9d153a97fb77195c7eb2f56',1,'atca_command.h']]], - ['atca_5fparam2_5fidx',['ATCA_PARAM2_IDX',['../a03531.html#ga9e84a71fc7e3ba613779aeb8d740eb23',1,'atca_command.h']]], - ['atca_5fparity_5ferror',['ATCA_PARITY_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3',1,'atca_status.h']]], - ['atca_5fparse_5ferror',['ATCA_PARSE_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95',1,'atca_status.h']]], - ['atca_5fpause',['ATCA_PAUSE',['../a03531.html#ga7d786006183912073939b3f62075dd27',1,'atca_command.h']]], - ['atca_5fpolling_5ffrequency_5ftime_5fmsec',['ATCA_POLLING_FREQUENCY_TIME_MSEC',['../a00116.html#a608ef7949677dac87e1c76c826e6bf40',1,'atca_execution.c']]], - ['atca_5fpolling_5finit_5ftime_5fmsec',['ATCA_POLLING_INIT_TIME_MSEC',['../a00116.html#a8bec71e1581c804c34ee5239109e0aaf',1,'atca_execution.c']]], - ['atca_5fpolling_5fmax_5ftime_5fmsec',['ATCA_POLLING_MAX_TIME_MSEC',['../a00116.html#a3fec2247165d648a94cea3d0cbfd662f',1,'atca_execution.c']]], - ['atca_5fpost_5fdelay_5fmsec',['ATCA_POST_DELAY_MSEC',['../a03533.html#gad476da768505d62bcd85e8fb55cdb1eb',1,'atca_iface.c']]], - ['atca_5fpriv_5fkey_5fsize',['ATCA_PRIV_KEY_SIZE',['../a03531.html#ga3caf91c8e7ec183e0ad7b93dad9cb548',1,'atca_command.h']]], - ['atca_5fprivwrite',['ATCA_PRIVWRITE',['../a03531.html#ga3171c7ab4447a2e752706bed1072e694',1,'atca_command.h']]], - ['atca_5fprivwrite_5fmac_5fzeros_5fsize',['ATCA_PRIVWRITE_MAC_ZEROS_SIZE',['../a03538.html#ga9c24dfde4798589fd98c2583d170aeb1',1,'atca_host.h']]], - ['atca_5fprivwrite_5fplain_5ftext_5fsize',['ATCA_PRIVWRITE_PLAIN_TEXT_SIZE',['../a03538.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb',1,'atca_host.h']]], - ['atca_5fpub_5fkey_5fpad',['ATCA_PUB_KEY_PAD',['../a03531.html#gae52318f0263884ff3a3e67328138cc75',1,'atca_command.h']]], - ['atca_5fpub_5fkey_5fsize',['ATCA_PUB_KEY_SIZE',['../a03531.html#ga07089e8e8b1aa335ddfd37e591f64ebb',1,'atca_command.h']]], - ['atca_5frandom',['ATCA_RANDOM',['../a03531.html#gace94188e9d741a9b44616474b633064f',1,'atca_command.h']]], - ['atca_5fread',['ATCA_READ',['../a03531.html#ga8760372110d92cea3570a5720db05de2',1,'atca_command.h']]], - ['atca_5fresync_5fwith_5fwakeup',['ATCA_RESYNC_WITH_WAKEUP',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be',1,'atca_status.h']]], - ['atca_5frsp_5fdata_5fidx',['ATCA_RSP_DATA_IDX',['../a03531.html#gabaaa930c2275599fcc3d83cfc02bfafe',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5f16',['ATCA_RSP_SIZE_16',['../a03531.html#ga0be09b502137446daedc43f1d3e85f86',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5f32',['ATCA_RSP_SIZE_32',['../a03531.html#gafd812ab5b70a92a4d3a420c4f7106ac5',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5f4',['ATCA_RSP_SIZE_4',['../a03531.html#ga15cc6f16cdb8f11b60981af7c3b15ef8',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5f64',['ATCA_RSP_SIZE_64',['../a03531.html#ga5b7ad7c3c75639352af5ad3b1298500c',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5f72',['ATCA_RSP_SIZE_72',['../a03531.html#ga67ca82b396385dd18790b48d731dfe15',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5fmax',['ATCA_RSP_SIZE_MAX',['../a03531.html#ga908aece3a9501eb14a70c2b24a3e4089',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5fmin',['ATCA_RSP_SIZE_MIN',['../a03531.html#ga0c738f2cc7bf063582c34188f85ddc3c',1,'atca_command.h']]], - ['atca_5frsp_5fsize_5fval',['ATCA_RSP_SIZE_VAL',['../a03531.html#ga882f14cac02df8282ccad2a43afc8a23',1,'atca_command.h']]], - ['atca_5frx_5fcrc_5ferror',['ATCA_RX_CRC_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9',1,'atca_status.h']]], - ['atca_5frx_5ffail',['ATCA_RX_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4',1,'atca_status.h']]], - ['atca_5frx_5fno_5fresponse',['ATCA_RX_NO_RESPONSE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276',1,'atca_status.h']]], - ['atca_5frx_5ftimeout',['ATCA_RX_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d',1,'atca_status.h']]], - ['atca_5fsecureboot',['ATCA_SECUREBOOT',['../a03531.html#gaf4aab184dc60e2de854994d26d57dfde',1,'atca_command.h']]], - ['atca_5fsecureboot_5fenc_5fin_5fout',['atca_secureboot_enc_in_out',['../a03707.html',1,'']]], - ['atca_5fsecureboot_5fenc_5fin_5fout_5ft',['atca_secureboot_enc_in_out_t',['../a03538.html#gaa60674423eaa2e7f37f2c1cf2855f2d7',1,'atca_host.h']]], - ['atca_5fsecureboot_5fmac_5fin_5fout',['atca_secureboot_mac_in_out',['../a03711.html',1,'']]], - ['atca_5fsecureboot_5fmac_5fin_5fout_5ft',['atca_secureboot_mac_in_out_t',['../a03538.html#gace9a9d1e2e34d294e573098600b6f061',1,'atca_host.h']]], - ['atca_5fselftest',['ATCA_SELFTEST',['../a03531.html#gacbec80dc1b5f24d3013c2a9b06c11bdc',1,'atca_command.h']]], - ['atca_5fserial_5fnum_5fsize',['ATCA_SERIAL_NUM_SIZE',['../a03531.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0',1,'atca_command.h']]], - ['atca_5fsha',['ATCA_SHA',['../a03531.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b',1,'atca_command.h']]], - ['atca_5fsha1_5fdigest_5fsize',['ATCA_SHA1_DIGEST_SIZE',['../a03536.html#gadb94a0991eb670ff1bf90253dfea0bfa',1,'atca_crypto_sw_sha1.h']]], - ['atca_5fsha256_5fblock_5fsize',['ATCA_SHA256_BLOCK_SIZE',['../a03531.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c',1,'atca_command.h']]], - ['atca_5fsha256_5fctx',['atca_sha256_ctx',['../a03623.html',1,'']]], - ['atca_5fsha256_5fctx_5ft',['atca_sha256_ctx_t',['../a03535.html#ga530ccce9f617be7dbf3661e19a4c0546',1,'atca_basic.h']]], - ['atca_5fsha2_5f256_5fdigest_5fsize',['ATCA_SHA2_256_DIGEST_SIZE',['../a03536.html#ga86364f6d07b86740f3170d9d1ca60641',1,'atca_crypto_sw_sha2.h']]], - ['atca_5fsha_5fconfig_5fsize',['ATCA_SHA_CONFIG_SIZE',['../a03531.html#ga1887d11853092541df18c2a04fb6b87a',1,'atca_command.h']]], - ['atca_5fsha_5fdigest_5fsize',['ATCA_SHA_DIGEST_SIZE',['../a03531.html#gad1d5f6fcf8f33b7ea3061280620df8bd',1,'atca_command.h']]], - ['atca_5fsha_5fkey_5ftype',['ATCA_SHA_KEY_TYPE',['../a03531.html#gad325831ee2326885795706efd7b3b00e',1,'atca_command.h']]], - ['atca_5fsig_5fsize',['ATCA_SIG_SIZE',['../a03531.html#ga56448f81a8d04c6871b3422c496bf8b6',1,'atca_command.h']]], - ['atca_5fsign',['ATCA_SIGN',['../a03531.html#ga516dbf4bbd2c4b366e0306890d0bca56',1,'atca_command.h']]], - ['atca_5fsign_5finternal_5fin_5fout',['atca_sign_internal_in_out',['../a03755.html',1,'']]], - ['atca_5fsign_5finternal_5fin_5fout_5ft',['atca_sign_internal_in_out_t',['../a03538.html#gafdb82fc57fb953626c28c757a5220274',1,'atca_host.h']]], - ['atca_5fsmall_5fbuffer',['ATCA_SMALL_BUFFER',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743',1,'atca_status.h']]], - ['atca_5fsn_5f0_5fdef',['ATCA_SN_0_DEF',['../a03538.html#ga1a026ad1d6e4ccd5c32f7f0462877b39',1,'atca_host.h']]], - ['atca_5fsn_5f1_5fdef',['ATCA_SN_1_DEF',['../a03538.html#ga5e4f22a404b71cabba4fd7085dff5e7c',1,'atca_host.h']]], - ['atca_5fsn_5f8_5fdef',['ATCA_SN_8_DEF',['../a03538.html#ga232f0d699ece83f51d63e5a66d254be5',1,'atca_host.h']]], - ['atca_5fspi_5fiface',['ATCA_SPI_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7',1,'atca_iface.h']]], - ['atca_5fstart_5fconfig_2eh',['atca_start_config.h',['../a00311.html',1,'']]], - ['atca_5fstart_5fiface_2eh',['atca_start_iface.h',['../a00314.html',1,'']]], - ['atca_5fstatus',['ATCA_STATUS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd',1,'atca_status.h']]], - ['atca_5fstatus_2eh',['atca_status.h',['../a00128.html',1,'']]], - ['atca_5fstatus_5fcrc',['ATCA_STATUS_CRC',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228',1,'atca_status.h']]], - ['atca_5fstatus_5fecc',['ATCA_STATUS_ECC',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77',1,'atca_status.h']]], - ['atca_5fstatus_5fselftest_5ferror',['ATCA_STATUS_SELFTEST_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f',1,'atca_status.h']]], - ['atca_5fstatus_5funknown',['ATCA_STATUS_UNKNOWN',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f',1,'atca_status.h']]], - ['atca_5fsuccess',['ATCA_SUCCESS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7',1,'atca_status.h']]], - ['atca_5fswi_5fiface',['ATCA_SWI_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26',1,'atca_iface.h']]], - ['atca_5ftemp_5fkey',['atca_temp_key',['../a03687.html',1,'']]], - ['atca_5ftemp_5fkey_5ft',['atca_temp_key_t',['../a03538.html#ga30bc02410edabefa2e210709b00105de',1,'atca_host.h']]], - ['atca_5ftempkey_5fkeyid',['ATCA_TEMPKEY_KEYID',['../a03531.html#ga988fff8295c1914217b8543b614f556c',1,'atca_command.h']]], - ['atca_5ftimeout',['ATCA_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31',1,'atca_status.h']]], - ['atca_5ftoo_5fmany_5fcomm_5fretries',['ATCA_TOO_MANY_COMM_RETRIES',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7',1,'atca_status.h']]], - ['atca_5ftx_5ffail',['ATCA_TX_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb',1,'atca_status.h']]], - ['atca_5ftx_5ftimeout',['ATCA_TX_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae',1,'atca_status.h']]], - ['atca_5fuart_5fiface',['ATCA_UART_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d',1,'atca_iface.h']]], - ['atca_5funimplemented',['ATCA_UNIMPLEMENTED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450',1,'atca_status.h']]], - ['atca_5funknown_5fiface',['ATCA_UNKNOWN_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec',1,'atca_iface.h']]], - ['atca_5funlocked',['ATCA_UNLOCKED',['../a03531.html#ga54155caf79f004ccf0a875cf3a0ef05b',1,'atca_command.h']]], - ['atca_5funsupported_5fcmd',['ATCA_UNSUPPORTED_CMD',['../a00119.html#aa025be8149d8f6e4d07aaa436b026db2',1,'atca_execution.h']]], - ['atca_5fupdate_5fextra',['ATCA_UPDATE_EXTRA',['../a03531.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2',1,'atca_command.h']]], - ['atca_5fverify',['ATCA_VERIFY',['../a03531.html#ga8e357a6e926176155fe47aba97d915fb',1,'atca_command.h']]], - ['atca_5fverify_5fin_5fout',['atca_verify_in_out',['../a03747.html',1,'']]], - ['atca_5fverify_5fin_5fout_5ft',['atca_verify_in_out_t',['../a03538.html#gab4d485e0545aa3defd75702fe51f9a13',1,'atca_host.h']]], - ['atca_5fverify_5fmac',['atca_verify_mac',['../a03703.html',1,'']]], - ['atca_5fverify_5fmac_5fin_5fout_5ft',['atca_verify_mac_in_out_t',['../a03538.html#ga39d794a93edb13943760550086940fa4',1,'atca_host.h']]], - ['atca_5fversion',['atca_version',['../a00176.html#af135cce4a2e6bbf79b75840195c46de5',1,'atca_basic.c']]], - ['atca_5fwake_5ffailed',['ATCA_WAKE_FAILED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42',1,'atca_status.h']]], - ['atca_5fwake_5fsuccess',['ATCA_WAKE_SUCCESS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a',1,'atca_status.h']]], - ['atca_5fword_5fsize',['ATCA_WORD_SIZE',['../a03531.html#ga555bdf8fa32d4d47577f7748ca928389',1,'atca_command.h']]], - ['atca_5fwrite',['ATCA_WRITE',['../a03531.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771',1,'atca_command.h']]], - ['atca_5fwrite_5fmac_5fin_5fout',['atca_write_mac_in_out',['../a03727.html',1,'']]], - ['atca_5fwrite_5fmac_5fin_5fout_5ft',['atca_write_mac_in_out_t',['../a03538.html#gafeefb2141ebb14988f08eb86f7cd6608',1,'atca_host.h']]], - ['atca_5fwrite_5fmac_5fzeros_5fsize',['ATCA_WRITE_MAC_ZEROS_SIZE',['../a03538.html#ga43496218f8a98faad996489af047272f',1,'atca_host.h']]], - ['atca_5fzone_5fconfig',['ATCA_ZONE_CONFIG',['../a03531.html#gadd3796a1d4de55604283aef5a70f7945',1,'atca_command.h']]], - ['atca_5fzone_5fdata',['ATCA_ZONE_DATA',['../a03531.html#ga4c65b241280290fae9fd4faa9d7a292b',1,'atca_command.h']]], - ['atca_5fzone_5fencrypted',['ATCA_ZONE_ENCRYPTED',['../a03531.html#ga167bc588244395e98461008070fee8f3',1,'atca_command.h']]], - ['atca_5fzone_5fmask',['ATCA_ZONE_MASK',['../a03531.html#ga1d6d2f2713e845ec3b3bf465025d6858',1,'atca_command.h']]], - ['atca_5fzone_5fotp',['ATCA_ZONE_OTP',['../a03531.html#ga547efc6fa3cb0501b2e53f80023dff7e',1,'atca_command.h']]], - ['atca_5fzone_5freadwrite_5f32',['ATCA_ZONE_READWRITE_32',['../a03531.html#gaa32b46f2c058ee54377d0cbef1ec8764',1,'atca_command.h']]], - ['atcab_5faes',['atcab_aes',['../a03535.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c'],['../a03535.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5fdecrypt_5fblock',['atcab_aes_cbc_decrypt_block',['../a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5fencrypt_5fblock',['atcab_aes_cbc_encrypt_block',['../a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5finit',['atcab_aes_cbc_init',['../a03535.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes.c'],['../a03535.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5ffinish',['atcab_aes_cmac_finish',['../a03535.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes.c'],['../a03535.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5finit',['atcab_aes_cmac_init',['../a03535.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes.c'],['../a03535.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5fupdate',['atcab_aes_cmac_update',['../a03535.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes.c'],['../a03535.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fblock',['atcab_aes_ctr_block',['../a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fdecrypt_5fblock',['atcab_aes_ctr_decrypt_block',['../a03535.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fencrypt_5fblock',['atcab_aes_ctr_encrypt_block',['../a03535.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5finit',['atcab_aes_ctr_init',['../a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes.c'],['../a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5finit_5frand',['atcab_aes_ctr_init_rand',['../a03535.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes.c'],['../a03535.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fdecrypt',['atcab_aes_decrypt',['../a03535.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fencrypt',['atcab_aes_encrypt',['../a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fgfm',['atcab_aes_gfm',['../a03535.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a03535.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], - ['atcab_5fb64rules_5fdefault',['atcab_b64rules_default',['../a03535.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c'],['../a03535.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c']]], - ['atcab_5fb64rules_5fmime',['atcab_b64rules_mime',['../a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c'],['../a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c']]], - ['atcab_5fb64rules_5furlsafe',['atcab_b64rules_urlsafe',['../a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c'],['../a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c']]], - ['atcab_5fbase64decode',['atcab_base64decode',['../a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len): atca_helpers.c'],['../a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size): atca_helpers.c']]], - ['atcab_5fbase64decode_5f',['atcab_base64decode_',['../a03535.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c']]], - ['atcab_5fbase64encode',['atcab_base64encode',['../a03535.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len): atca_helpers.c'],['../a03535.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size): atca_helpers.c']]], - ['atcab_5fbase64encode_5f',['atcab_base64encode_',['../a03535.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c']]], - ['atcab_5fbin2hex',['atcab_bin2hex',['../a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c'],['../a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c']]], - ['atcab_5fbin2hex_5f',['atcab_bin2hex_',['../a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c'],['../a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c']]], - ['atcab_5fcfg_5fdiscover',['atcab_cfg_discover',['../a03535.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max_ifaces): atca_basic.c'],['../a03535.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max): atca_basic.c']]], - ['atcab_5fchallenge',['atcab_challenge',['../a03535.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c'],['../a03535.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c']]], - ['atcab_5fchallenge_5fseed_5fupdate',['atcab_challenge_seed_update',['../a03535.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fcheckmac',['atcab_checkmac',['../a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c'],['../a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c']]], - ['atcab_5fcmp_5fconfig_5fzone',['atcab_cmp_config_zone',['../a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c'],['../a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c']]], - ['atcab_5fcounter',['atcab_counter',['../a03535.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fcounter_5fincrement',['atcab_counter_increment',['../a03535.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fcounter_5fread',['atcab_counter_read',['../a03535.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fderivekey',['atcab_derivekey',['../a03535.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t *mac): atca_basic_derivekey.c'],['../a03535.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t target_key, const uint8_t *mac): atca_basic_derivekey.c']]], - ['atcab_5fecdh',['atcab_ecdh',['../a03535.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a03535.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fbase',['atcab_ecdh_base',['../a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c'],['../a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fenc',['atcab_ecdh_enc',['../a03535.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c'],['../a03535.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fioenc',['atcab_ecdh_ioenc',['../a03535.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a03535.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5ftempkey',['atcab_ecdh_tempkey',['../a03535.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a03535.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5ftempkey_5fioenc',['atcab_ecdh_tempkey_ioenc',['../a03535.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a03535.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], - ['atcab_5fgendig',['atcab_gendig',['../a03535.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c'],['../a03535.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c']]], - ['atcab_5fgenkey',['atcab_genkey',['../a03535.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fgenkey_5fbase',['atcab_genkey_base',['../a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fget_5faddr',['atcab_get_addr',['../a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c'],['../a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c']]], - ['atcab_5fget_5fdevice',['atcab_get_device',['../a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c'],['../a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c']]], - ['atcab_5fget_5fpubkey',['atcab_get_pubkey',['../a03535.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fget_5fzone_5fsize',['atcab_get_zone_size',['../a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c'],['../a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c']]], - ['atcab_5fhex2bin',['atcab_hex2bin',['../a03535.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size): atca_helpers.c'],['../a03535.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len): atca_helpers.c']]], - ['atcab_5fhmac',['atcab_hmac',['../a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c'],['../a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c']]], - ['atcab_5fhw_5fsha2_5f256',['atcab_hw_sha2_256',['../a03535.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5ffinish',['atcab_hw_sha2_256_finish',['../a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5finit',['atcab_hw_sha2_256_init',['../a03535.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c'],['../a03535.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5fupdate',['atcab_hw_sha2_256_update',['../a03535.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a03535.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], - ['atcab_5fidle',['atcab_idle',['../a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c'],['../a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c']]], - ['atcab_5finfo',['atcab_info',['../a03535.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c'],['../a03535.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c']]], - ['atcab_5finfo_5fbase',['atcab_info_base',['../a03535.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c'],['../a03535.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c']]], - ['atcab_5finfo_5fget_5flatch',['atcab_info_get_latch',['../a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c'],['../a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c']]], - ['atcab_5finfo_5fset_5flatch',['atcab_info_set_latch',['../a03535.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c'],['../a03535.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c']]], - ['atcab_5finit',['atcab_init',['../a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c'],['../a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c']]], - ['atcab_5finit_5fdevice',['atcab_init_device',['../a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c'],['../a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c']]], - ['atcab_5fis_5flocked',['atcab_is_locked',['../a03535.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c'],['../a03535.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c']]], - ['atcab_5fis_5fslot_5flocked',['atcab_is_slot_locked',['../a03535.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c'],['../a03535.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c']]], - ['atcab_5fkdf',['atcab_kdf',['../a03535.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c'],['../a03535.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c']]], - ['atcab_5flock',['atcab_lock',['../a03535.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5flock_5fconfig_5fzone',['atcab_lock_config_zone',['../a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c'],['../a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c']]], - ['atcab_5flock_5fconfig_5fzone_5fcrc',['atcab_lock_config_zone_crc',['../a03535.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fslot',['atcab_lock_data_slot',['../a03535.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c'],['../a03535.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fzone',['atcab_lock_data_zone',['../a03535.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c'],['../a03535.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fzone_5fcrc',['atcab_lock_data_zone_crc',['../a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5fmac',['atcab_mac',['../a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c'],['../a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c']]], - ['atcab_5fnonce',['atcab_nonce',['../a03535.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c'],['../a03535.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c']]], - ['atcab_5fnonce_5fbase',['atcab_nonce_base',['../a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fnonce_5fload',['atcab_nonce_load',['../a03535.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c'],['../a03535.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c']]], - ['atcab_5fnonce_5frand',['atcab_nonce_rand',['../a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fprintbin',['atcab_printbin',['../a03535.html#ga72601de415fd0bbc73faa1ddbc52e56e',1,'atca_helpers.h']]], - ['atcab_5fprintbin_5flabel',['atcab_printbin_label',['../a03535.html#ga248355e3b4bcdd5d728f214fc2eb79e4',1,'atca_helpers.h']]], - ['atcab_5fprintbin_5fsp',['atcab_printbin_sp',['../a03535.html#ga1f88c481b376a7be9112ff081c4ad854',1,'atca_helpers.h']]], - ['atcab_5fpriv_5fwrite',['atcab_priv_write',['../a03535.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c'],['../a03535.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c']]], - ['atcab_5frandom',['atcab_random',['../a03535.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c'],['../a03535.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c']]], - ['atcab_5fread_5fbytes_5fzone',['atcab_read_bytes_zone',['../a03535.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c'],['../a03535.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c']]], - ['atcab_5fread_5fconfig_5fzone',['atcab_read_config_zone',['../a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c'],['../a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c']]], - ['atcab_5fread_5fenc',['atcab_read_enc',['../a03535.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c'],['../a03535.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c']]], - ['atcab_5fread_5fpubkey',['atcab_read_pubkey',['../a03535.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c'],['../a03535.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c']]], - ['atcab_5fread_5fserial_5fnumber',['atcab_read_serial_number',['../a03535.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c'],['../a03535.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c']]], - ['atcab_5fread_5fsig',['atcab_read_sig',['../a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c'],['../a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c']]], - ['atcab_5fread_5fzone',['atcab_read_zone',['../a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c'],['../a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c']]], - ['atcab_5frelease',['atcab_release',['../a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c'],['../a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c']]], - ['atcab_5fsecureboot',['atcab_secureboot',['../a03535.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c'],['../a03535.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c']]], - ['atcab_5fsecureboot_5fmac',['atcab_secureboot_mac',['../a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c'],['../a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c']]], - ['atcab_5fselftest',['atcab_selftest',['../a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c'],['../a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c']]], - ['atcab_5fsha',['atcab_sha',['../a03535.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fsha_5fbase',['atcab_sha_base',['../a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c'],['../a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *message, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fend',['atcab_sha_end',['../a03535.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c'],['../a03535.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac',['atcab_sha_hmac',['../a03535.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a03535.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5ffinish',['atcab_sha_hmac_finish',['../a03535.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a03535.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5finit',['atcab_sha_hmac_init',['../a03535.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c'],['../a03535.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5fupdate',['atcab_sha_hmac_update',['../a03535.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a03535.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fread_5fcontext',['atcab_sha_read_context',['../a03535.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c'],['../a03535.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fstart',['atcab_sha_start',['../a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c'],['../a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c']]], - ['atcab_5fsha_5fupdate',['atcab_sha_update',['../a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c'],['../a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c']]], - ['atcab_5fsha_5fwrite_5fcontext',['atcab_sha_write_context',['../a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c'],['../a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c']]], - ['atcab_5fsign',['atcab_sign',['../a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsign_5fbase',['atcab_sign_base',['../a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsign_5finternal',['atcab_sign_internal',['../a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsleep',['atcab_sleep',['../a03535.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c'],['../a03535.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c']]], - ['atcab_5fupdateextra',['atcab_updateextra',['../a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c'],['../a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c']]], - ['atcab_5fverify',['atcab_verify',['../a03535.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c'],['../a03535.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c']]], - ['atcab_5fverify_5fextern',['atcab_verify_extern',['../a03535.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fextern_5fmac',['atcab_verify_extern_mac',['../a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5finvalidate',['atcab_verify_invalidate',['../a03535.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fstored',['atcab_verify_stored',['../a03535.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fstored_5fmac',['atcab_verify_stored_mac',['../a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fvalidate',['atcab_verify_validate',['../a03535.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fversion',['atcab_version',['../a03535.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c'],['../a03535.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c']]], - ['atcab_5fwakeup',['atcab_wakeup',['../a03535.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c'],['../a03535.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c']]], - ['atcab_5fwrite',['atcab_write',['../a03535.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c'],['../a03535.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c']]], - ['atcab_5fwrite_5fbytes_5fzone',['atcab_write_bytes_zone',['../a03535.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c'],['../a03535.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c']]], - ['atcab_5fwrite_5fconfig_5fcounter',['atcab_write_config_counter',['../a03535.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c'],['../a03535.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c']]], - ['atcab_5fwrite_5fconfig_5fzone',['atcab_write_config_zone',['../a03535.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c'],['../a03535.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c']]], - ['atcab_5fwrite_5fenc',['atcab_write_enc',['../a03535.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c'],['../a03535.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c']]], - ['atcab_5fwrite_5fpubkey',['atcab_write_pubkey',['../a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c'],['../a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c']]], - ['atcab_5fwrite_5fzone',['atcab_write_zone',['../a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c'],['../a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c']]], - ['atcac_5fsha1_5fctx',['atcac_sha1_ctx',['../a03631.html',1,'']]], - ['atcac_5fsha2_5f256_5fctx',['atcac_sha2_256_ctx',['../a03635.html',1,'']]], - ['atcac_5fsw_5fecdsa_5fverify_5fp256',['atcac_sw_ecdsa_verify_p256',['../a03536.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c'],['../a03536.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c']]], - ['atcac_5fsw_5frandom',['atcac_sw_random',['../a03536.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c'],['../a03536.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c']]], - ['atcac_5fsw_5fsha1',['atcac_sw_sha1',['../a03536.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a03536.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5ffinish',['atcac_sw_sha1_finish',['../a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5finit',['atcac_sw_sha1_init',['../a03536.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c'],['../a03536.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5fupdate',['atcac_sw_sha1_update',['../a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c'],['../a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha2_5f256',['atcac_sw_sha2_256',['../a03536.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a03536.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5ffinish',['atcac_sw_sha2_256_finish',['../a03536.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a03536.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5finit',['atcac_sw_sha2_256_init',['../a03536.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c'],['../a03536.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5fupdate',['atcac_sw_sha2_256_update',['../a03536.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c'],['../a03536.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c']]], - ['atcacdc',['atcacdc',['../a03663.html',1,'']]], - ['atcacdc_5ft',['atcacdc_t',['../a03537.html#ga2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_linux_kit_cdc.h'],['../a00455.html#a2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_win_kit_cdc.h']]], - ['atcacert_2eh',['atcacert.h',['../a00131.html',1,'']]], - ['atcacert_5fbuild_5fstate_5fs',['atcacert_build_state_s',['../a03607.html',1,'']]], - ['atcacert_5fbuild_5fstate_5ft',['atcacert_build_state_t',['../a03534.html#ga92ccf01a2c37be9caa7d840846672c83',1,'atcacert_def.h']]], - ['atcacert_5fcert_5fbuild_5ffinish',['atcacert_cert_build_finish',['../a03534.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c'],['../a03534.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c']]], - ['atcacert_5fcert_5fbuild_5fprocess',['atcacert_cert_build_process',['../a03534.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c'],['../a03534.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c']]], - ['atcacert_5fcert_5fbuild_5fstart',['atcacert_cert_build_start',['../a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c'],['../a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c']]], - ['atcacert_5fcert_5felement_5fs',['atcacert_cert_element_s',['../a03599.html',1,'']]], - ['atcacert_5fcert_5felement_5ft',['atcacert_cert_element_t',['../a03534.html#ga8d14206d455a7a7835ed613e57c20dd3',1,'atcacert_def.h']]], - ['atcacert_5fcert_5floc_5fs',['atcacert_cert_loc_s',['../a03595.html',1,'']]], - ['atcacert_5fcert_5floc_5ft',['atcacert_cert_loc_t',['../a03534.html#gae7c32139e6dce0fe25b4598299a77df6',1,'atcacert_def.h']]], - ['atcacert_5fcert_5fsn_5fsrc_5fe',['atcacert_cert_sn_src_e',['../a03534.html#ga813047a656af7fe578d28fd54c840e8e',1,'atcacert_def.h']]], - ['atcacert_5fcert_5fsn_5fsrc_5ft',['atcacert_cert_sn_src_t',['../a03534.html#gaa557358df9a164d6c1f14b1f53662c6c',1,'atcacert_def.h']]], - ['atcacert_5fcert_5ftype_5fe',['atcacert_cert_type_e',['../a03534.html#ga5430f01929cd7269e04db08d1f28642f',1,'atcacert_def.h']]], - ['atcacert_5fcert_5ftype_5ft',['atcacert_cert_type_t',['../a03534.html#ga8fcfb1307197295422ace828b40ee37d',1,'atcacert_def.h']]], - ['atcacert_5fclient_2ec',['atcacert_client.c',['../a00134.html',1,'']]], - ['atcacert_5fclient_2eh',['atcacert_client.h',['../a00137.html',1,'']]], - ['atcacert_5fcreate_5fcsr',['atcacert_create_csr',['../a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c'],['../a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c']]], - ['atcacert_5fcreate_5fcsr_5fpem',['atcacert_create_csr_pem',['../a03534.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c'],['../a03534.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c']]], - ['atcacert_5fdate_2ec',['atcacert_date.c',['../a00140.html',1,'']]], - ['atcacert_5fdate_2eh',['atcacert_date.h',['../a00143.html',1,'']]], - ['atcacert_5fdate_5fdec',['atcacert_date_dec',['../a03534.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fcompcert',['atcacert_date_dec_compcert',['../a03534.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c'],['../a03534.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fiso8601_5fsep',['atcacert_date_dec_iso8601_sep',['../a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fbe',['atcacert_date_dec_posix_uint32_be',['../a03534.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fle',['atcacert_date_dec_posix_uint32_le',['../a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5frfc5280_5fgen',['atcacert_date_dec_rfc5280_gen',['../a03534.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5frfc5280_5futc',['atcacert_date_dec_rfc5280_utc',['../a03534.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fenc',['atcacert_date_enc',['../a03534.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c'],['../a03534.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fcompcert',['atcacert_date_enc_compcert',['../a03534.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c'],['../a03534.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fiso8601_5fsep',['atcacert_date_enc_iso8601_sep',['../a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c'],['../a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fbe',['atcacert_date_enc_posix_uint32_be',['../a03534.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c'],['../a03534.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fle',['atcacert_date_enc_posix_uint32_le',['../a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c'],['../a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5frfc5280_5fgen',['atcacert_date_enc_rfc5280_gen',['../a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c'],['../a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5frfc5280_5futc',['atcacert_date_enc_rfc5280_utc',['../a03534.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c'],['../a03534.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fformat_5fe',['atcacert_date_format_e',['../a03534.html#ga62a103735770a0f935a472fc2c1d78db',1,'atcacert_date.h']]], - ['atcacert_5fdate_5fformat_5fsizes',['ATCACERT_DATE_FORMAT_SIZES',['../a03534.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c'],['../a03534.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c']]], - ['atcacert_5fdate_5fformat_5fsizes_5fcount',['ATCACERT_DATE_FORMAT_SIZES_COUNT',['../a03534.html#ga82737078e820e6d6beeca7466841e43d',1,'atcacert_date.h']]], - ['atcacert_5fdate_5fformat_5ft',['atcacert_date_format_t',['../a03534.html#ga7f389df0f74fd3593ab7e3a4d380433f',1,'atcacert_date.h']]], - ['atcacert_5fdate_5fget_5fmax_5fdate',['atcacert_date_get_max_date',['../a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdecode_5fpem',['atcacert_decode_pem',['../a00170.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c'],['../a00173.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c']]], - ['atcacert_5fdecode_5fpem_5fcert',['atcacert_decode_pem_cert',['../a00170.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c'],['../a00173.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c']]], - ['atcacert_5fdecode_5fpem_5fcsr',['atcacert_decode_pem_csr',['../a00170.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c'],['../a00173.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c']]], - ['atcacert_5fdef_2ec',['atcacert_def.c',['../a00146.html',1,'']]], - ['atcacert_5fdef_2eh',['atcacert_def.h',['../a00149.html',1,'']]], - ['atcacert_5fdef_5fs',['atcacert_def_s',['../a03603.html',1,'']]], - ['atcacert_5fdef_5ft',['atcacert_def_t',['../a03534.html#gae9e78b17340263e97844ccaf72ca16ac',1,'atcacert_def.h']]], - ['atcacert_5fder_2ec',['atcacert_der.c',['../a00152.html',1,'']]], - ['atcacert_5fder_2eh',['atcacert_der.h',['../a00155.html',1,'']]], - ['atcacert_5fder_5fadjust_5flength',['atcacert_der_adjust_length',['../a03534.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c'],['../a03534.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5fecdsa_5fsig_5fvalue',['atcacert_der_dec_ecdsa_sig_value',['../a03534.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c'],['../a03534.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5finteger',['atcacert_der_dec_integer',['../a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c'],['../a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5flength',['atcacert_der_dec_length',['../a03534.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c'],['../a03534.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5fecdsa_5fsig_5fvalue',['atcacert_der_enc_ecdsa_sig_value',['../a03534.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c'],['../a03534.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5finteger',['atcacert_der_enc_integer',['../a03534.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c'],['../a03534.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5flength',['atcacert_der_enc_length',['../a03534.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c'],['../a03534.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c']]], - ['atcacert_5fdevice_5floc_5fs',['atcacert_device_loc_s',['../a03591.html',1,'']]], - ['atcacert_5fdevice_5floc_5ft',['atcacert_device_loc_t',['../a03534.html#ga0fb6e40d2f1496215af2f9ae23c861a0',1,'atcacert_def.h']]], - ['atcacert_5fdevice_5fzone_5fe',['atcacert_device_zone_e',['../a03534.html#ga1c0876228cb459f64347a63f3bae4c73',1,'atcacert_def.h']]], - ['atcacert_5fdevice_5fzone_5ft',['atcacert_device_zone_t',['../a03534.html#ga294899ca77a6801288e1ccb148de1f8b',1,'atcacert_def.h']]], - ['atcacert_5fe_5fbad_5fcert',['ATCACERT_E_BAD_CERT',['../a03534.html#ga822ee0620c8d2d12ff971b9b35f9f5cd',1,'atcacert.h']]], - ['atcacert_5fe_5fbad_5fparams',['ATCACERT_E_BAD_PARAMS',['../a03534.html#ga47509d283523ab1892fb8746d6f4e37d',1,'atcacert.h']]], - ['atcacert_5fe_5fbuffer_5ftoo_5fsmall',['ATCACERT_E_BUFFER_TOO_SMALL',['../a03534.html#ga7a2e774fc8b12c4045dea335a86afca6',1,'atcacert.h']]], - ['atcacert_5fe_5fdecoding_5ferror',['ATCACERT_E_DECODING_ERROR',['../a03534.html#gaea155533fdd352d6602d3e2fc717930f',1,'atcacert.h']]], - ['atcacert_5fe_5felem_5fmissing',['ATCACERT_E_ELEM_MISSING',['../a03534.html#ga8e3e7c64650c92364bbac17f6a75474a',1,'atcacert.h']]], - ['atcacert_5fe_5felem_5fout_5fof_5fbounds',['ATCACERT_E_ELEM_OUT_OF_BOUNDS',['../a03534.html#ga62604c78d688530173e203b02df180fa',1,'atcacert.h']]], - ['atcacert_5fe_5ferror',['ATCACERT_E_ERROR',['../a03534.html#ga048a6bb9781dbbc402409a172f976f74',1,'atcacert.h']]], - ['atcacert_5fe_5finvalid_5fdate',['ATCACERT_E_INVALID_DATE',['../a03534.html#gaafd66d6744314225ead24b3901bd6372',1,'atcacert.h']]], - ['atcacert_5fe_5fsuccess',['ATCACERT_E_SUCCESS',['../a03534.html#ga7bd1ad830360fc8b988f855da6d0d5ba',1,'atcacert.h']]], - ['atcacert_5fe_5funexpected_5felem_5fsize',['ATCACERT_E_UNEXPECTED_ELEM_SIZE',['../a03534.html#ga5a7cb98e18ad338f2eaf6594acb67c32',1,'atcacert.h']]], - ['atcacert_5fe_5funimplemented',['ATCACERT_E_UNIMPLEMENTED',['../a03534.html#ga4b6db1523875a2b1453ef5e16989ecd4',1,'atcacert.h']]], - ['atcacert_5fe_5fverify_5ffailed',['ATCACERT_E_VERIFY_FAILED',['../a03534.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d',1,'atcacert.h']]], - ['atcacert_5fe_5fwrong_5fcert_5fdef',['ATCACERT_E_WRONG_CERT_DEF',['../a03534.html#ga01010ef58d52a05292f6a70ff3d53ce8',1,'atcacert.h']]], - ['atcacert_5fencode_5fpem',['atcacert_encode_pem',['../a00170.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c'],['../a00173.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c']]], - ['atcacert_5fencode_5fpem_5fcert',['atcacert_encode_pem_cert',['../a00170.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c'],['../a00173.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c']]], - ['atcacert_5fencode_5fpem_5fcsr',['atcacert_encode_pem_csr',['../a00170.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c'],['../a00173.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c']]], - ['atcacert_5fgen_5fcert_5fsn',['atcacert_gen_cert_sn',['../a03534.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c'],['../a03534.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c']]], - ['atcacert_5fgen_5fchallenge_5fhw',['atcacert_gen_challenge_hw',['../a03534.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c'],['../a03534.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c']]], - ['atcacert_5fgen_5fchallenge_5fsw',['atcacert_gen_challenge_sw',['../a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c'],['../a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c']]], - ['atcacert_5fget_5fauth_5fkey_5fid',['atcacert_get_auth_key_id',['../a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c'],['../a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fcert_5felement',['atcacert_get_cert_element',['../a03534.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c'],['../a03534.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c']]], - ['atcacert_5fget_5fcert_5fsn',['atcacert_get_cert_sn',['../a03534.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c'],['../a03534.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c']]], - ['atcacert_5fget_5fcomp_5fcert',['atcacert_get_comp_cert',['../a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c'],['../a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c']]], - ['atcacert_5fget_5fdevice_5fdata',['atcacert_get_device_data',['../a03534.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c'],['../a03534.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c']]], - ['atcacert_5fget_5fdevice_5flocs',['atcacert_get_device_locs',['../a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c'],['../a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c']]], - ['atcacert_5fget_5fexpire_5fdate',['atcacert_get_expire_date',['../a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fget_5fissue_5fdate',['atcacert_get_issue_date',['../a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fget_5fkey_5fid',['atcacert_get_key_id',['../a03534.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c'],['../a03534.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fresponse',['atcacert_get_response',['../a03534.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c'],['../a03534.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c']]], - ['atcacert_5fget_5fsignature',['atcacert_get_signature',['../a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c'],['../a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c']]], - ['atcacert_5fget_5fsigner_5fid',['atcacert_get_signer_id',['../a03534.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c'],['../a03534.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c']]], - ['atcacert_5fget_5fsubj_5fkey_5fid',['atcacert_get_subj_key_id',['../a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c'],['../a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fsubj_5fpublic_5fkey',['atcacert_get_subj_public_key',['../a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c'],['../a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c']]], - ['atcacert_5fget_5ftbs',['atcacert_get_tbs',['../a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c'],['../a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c']]], - ['atcacert_5fget_5ftbs_5fdigest',['atcacert_get_tbs_digest',['../a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c'],['../a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c']]], - ['atcacert_5fhost_5fhw_2ec',['atcacert_host_hw.c',['../a00158.html',1,'']]], - ['atcacert_5fhost_5fhw_2eh',['atcacert_host_hw.h',['../a00161.html',1,'']]], - ['atcacert_5fhost_5fsw_2ec',['atcacert_host_sw.c',['../a00164.html',1,'']]], - ['atcacert_5fhost_5fsw_2eh',['atcacert_host_sw.h',['../a00167.html',1,'']]], - ['atcacert_5fis_5fdevice_5floc_5foverlap',['atcacert_is_device_loc_overlap',['../a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c'],['../a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c']]], - ['atcacert_5fmax',['ATCACERT_MAX',['../a00146.html#a3619112000a52adc0d060cf5ab29212e',1,'atcacert_def.c']]], - ['atcacert_5fmerge_5fdevice_5floc',['atcacert_merge_device_loc',['../a03534.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c'],['../a03534.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c']]], - ['atcacert_5fmin',['ATCACERT_MIN',['../a00146.html#a52393fe9fec6f6b0da20dcfd5a6bc25f',1,'atcacert_def.c']]], - ['atcacert_5fpem_2ec',['atcacert_pem.c',['../a00170.html',1,'']]], - ['atcacert_5fpem_2eh',['atcacert_pem.h',['../a00173.html',1,'']]], - ['atcacert_5fpublic_5fkey_5fadd_5fpadding',['atcacert_public_key_add_padding',['../a03534.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c'],['../a03534.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c']]], - ['atcacert_5fpublic_5fkey_5fremove_5fpadding',['atcacert_public_key_remove_padding',['../a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c'],['../a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c']]], - ['atcacert_5fread_5fcert',['atcacert_read_cert',['../a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c'],['../a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c']]], - ['atcacert_5fset_5fauth_5fkey_5fid',['atcacert_set_auth_key_id',['../a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c'],['../a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c']]], - ['atcacert_5fset_5fauth_5fkey_5fid_5fraw',['atcacert_set_auth_key_id_raw',['../a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c'],['../a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c']]], - ['atcacert_5fset_5fcert_5felement',['atcacert_set_cert_element',['../a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c'],['../a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c']]], - ['atcacert_5fset_5fcert_5fsn',['atcacert_set_cert_sn',['../a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c'],['../a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c']]], - ['atcacert_5fset_5fcomp_5fcert',['atcacert_set_comp_cert',['../a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c'],['../a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c']]], - ['atcacert_5fset_5fexpire_5fdate',['atcacert_set_expire_date',['../a03534.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fset_5fissue_5fdate',['atcacert_set_issue_date',['../a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fset_5fsignature',['atcacert_set_signature',['../a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c'],['../a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c']]], - ['atcacert_5fset_5fsigner_5fid',['atcacert_set_signer_id',['../a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c'],['../a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c']]], - ['atcacert_5fset_5fsubj_5fpublic_5fkey',['atcacert_set_subj_public_key',['../a03534.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c'],['../a03534.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c']]], - ['atcacert_5fstd_5fcert_5felement_5fe',['atcacert_std_cert_element_e',['../a03534.html#ga77184d0c71198b489ea9b57d07da824e',1,'atcacert_def.h']]], - ['atcacert_5fstd_5fcert_5felement_5ft',['atcacert_std_cert_element_t',['../a03534.html#ga4889317187186736e62beb7538b870b2',1,'atcacert_def.h']]], - ['atcacert_5ftm_5futc_5fs',['atcacert_tm_utc_s',['../a03587.html',1,'']]], - ['atcacert_5ftm_5futc_5ft',['atcacert_tm_utc_t',['../a03534.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121',1,'atcacert_date.h']]], - ['atcacert_5fverify_5fcert_5fhw',['atcacert_verify_cert_hw',['../a03534.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c'],['../a03534.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c']]], - ['atcacert_5fverify_5fcert_5fsw',['atcacert_verify_cert_sw',['../a03534.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c'],['../a03534.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c']]], - ['atcacert_5fverify_5fresponse_5fhw',['atcacert_verify_response_hw',['../a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c'],['../a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c']]], - ['atcacert_5fverify_5fresponse_5fsw',['atcacert_verify_response_sw',['../a03534.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c'],['../a03534.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c']]], - ['atcacert_5fwrite_5fcert',['atcacert_write_cert',['../a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c'],['../a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c']]], - ['atcacommand',['ATCACommand',['../a03531.html#gaebeafc249bfe2b00b6809d5c328841d9',1,'atca_command.h']]], - ['atcacustom',['atcacustom',['../a03555.html#abd8750afb7cb6d240c858a382a210fa7',1,'ATCAIfaceCfg']]], - ['atcadevice',['ATCADevice',['../a03532.html#gaa94f7bb4af0a3d6735225cc85d92cb50',1,'atca_device.h']]], - ['atcadevicetype',['ATCADeviceType',['../a03532.html#gafb234ccd6a80d09c0efbe336c2354267',1,'atca_devtypes.h']]], - ['atcah_5fcheck_5fmac',['atcah_check_mac',['../a03538.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c'],['../a03538.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c']]], - ['atcah_5fconfig_5fto_5fsign_5finternal',['atcah_config_to_sign_internal',['../a03538.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c'],['../a03538.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c']]], - ['atcah_5fdecrypt',['atcah_decrypt',['../a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c'],['../a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c']]], - ['atcah_5fderive_5fkey',['atcah_derive_key',['../a03538.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c'],['../a03538.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c']]], - ['atcah_5fderive_5fkey_5fmac',['atcah_derive_key_mac',['../a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c'],['../a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c']]], - ['atcah_5fencode_5fcounter_5fmatch',['atcah_encode_counter_match',['../a03538.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter_value, uint8_t *counter_match_value): atca_host.c'],['../a03538.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match): atca_host.c']]], - ['atcah_5fgen_5fdig',['atcah_gen_dig',['../a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c'],['../a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c']]], - ['atcah_5fgen_5fkey_5fmsg',['atcah_gen_key_msg',['../a03538.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c'],['../a03538.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c']]], - ['atcah_5fgen_5fmac',['atcah_gen_mac',['../a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c'],['../a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c']]], - ['atcah_5fhmac',['atcah_hmac',['../a03538.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c'],['../a03538.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c']]], - ['atcah_5finclude_5fdata',['atcah_include_data',['../a03538.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c'],['../a03538.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c']]], - ['atcah_5fio_5fdecrypt',['atcah_io_decrypt',['../a03538.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c'],['../a03538.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c']]], - ['atcah_5fmac',['atcah_mac',['../a03538.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c'],['../a03538.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c']]], - ['atcah_5fnonce',['atcah_nonce',['../a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c'],['../a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c']]], - ['atcah_5fprivwrite_5fauth_5fmac',['atcah_privwrite_auth_mac',['../a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], - ['atcah_5fsecureboot_5fenc',['atcah_secureboot_enc',['../a03538.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c'],['../a03538.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c']]], - ['atcah_5fsecureboot_5fmac',['atcah_secureboot_mac',['../a03538.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c'],['../a03538.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c']]], - ['atcah_5fsha256',['atcah_sha256',['../a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c'],['../a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c']]], - ['atcah_5fsign_5finternal_5fmsg',['atcah_sign_internal_msg',['../a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c'],['../a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c']]], - ['atcah_5fverify_5fmac',['atcah_verify_mac',['../a03538.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c'],['../a03538.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c']]], - ['atcah_5fwrite_5fauth_5fmac',['atcah_write_auth_mac',['../a03538.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a03538.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], - ['atcahal_5ft',['ATCAHAL_t',['../a03647.html',1,'']]], - ['atcahid',['atcahid',['../a03651.html',1,'atcahid'],['../a03555.html#aa757f95b731b8dfdd4ce785e26944728',1,'ATCAIfaceCfg::atcahid()']]], - ['atcahid_5ft',['atcahid_t',['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_all_platforms_kit_hidapi.h'],['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_linux_kit_hid.h'],['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_win_kit_hid.h']]], - ['atcai2c',['atcai2c',['../a03555.html#a88f8040c47fc046b2198a26f4ed3faf0',1,'ATCAIfaceCfg']]], - ['atcai2cmaster',['atcaI2Cmaster',['../a03655.html',1,'']]], - ['atcai2cmaster_5ft',['ATCAI2CMaster_t',['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_at90usb1287_i2c_asf.h'],['../a00332.html#ae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_esp32_i2c.c'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_bitbang.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_start.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_linux_i2c_userspace.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mx695f512h_i2c.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mz2048efm_i2c.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_sam4s_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samb11_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samd21_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samg55_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samv71_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_xmega_a3bu_i2c_asf.h']]], - ['atcaiface',['ATCAIface',['../a03533.html#ga75c11126f3fe81df3d6c27f5bb393303',1,'atca_iface.h']]], - ['atcaifacecfg',['ATCAIfaceCfg',['../a03555.html',1,'']]], - ['atcaifacetype',['ATCAIfaceType',['../a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089',1,'atca_iface.h']]], - ['atcalccrc',['atCalcCrc',['../a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *packet): atca_command.c'],['../a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *pkt): atca_command.c']]], - ['atcapacket',['ATCAPacket',['../a03547.html',1,'']]], - ['atcaswi',['atcaswi',['../a03555.html#a9670d2ececfd8d536f8e6b629ab7b1ed',1,'ATCAIfaceCfg']]], - ['atcaswimaster',['atcaSWImaster',['../a03675.html',1,'']]], - ['atcaswimaster_5ft',['ATCASWIMaster_t',['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): hal_swi_bitbang.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_at90usb1287_asf.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_samd21_asf.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_start.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_xmega_a3bu_asf.h']]], - ['atcauart',['atcauart',['../a03555.html#a0b39f87d1a01274c9da57768841683c3',1,'ATCAIfaceCfg']]], - ['atcheckcrc',['atCheckCrc',['../a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c'],['../a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c']]], - ['atcheckmac',['atCheckMAC',['../a03531.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atcounter',['atCounter',['../a03531.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atcrc',['atCRC',['../a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c'],['../a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c']]], - ['atderivekey',['atDeriveKey',['../a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], - ['atecc108a',['ATECC108A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c',1,'atca_devtypes.h']]], - ['atecc508a',['ATECC508A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae',1,'atca_devtypes.h']]], - ['atecc608a',['ATECC608A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf',1,'atca_devtypes.h']]], - ['atecdh',['atECDH',['../a03531.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atgendig',['atGenDig',['../a03531.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c'],['../a03531.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c']]], - ['atgenkey',['atGenKey',['../a03531.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atgetcommands',['atGetCommands',['../a03532.html#gabf51c08f1928fc5ec44936f3117a9f7e',1,'atca_device.c']]], - ['atgetiface',['atGetIFace',['../a03532.html#ga3f98e29cffa06446fc91b329703606af',1,'atca_device.c']]], - ['atgetifacecfg',['atgetifacecfg',['../a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e',1,'atca_iface.c']]], - ['atgetifacehaldat',['atgetifacehaldat',['../a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0',1,'atca_iface.c']]], - ['athmac',['atHMAC',['../a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atidle',['atidle',['../a03583.html#af98425da891944b45d56cebd93b131f6',1,'atca_iface::atidle()'],['../a03533.html#gac794fffe040e6d47a34c756720f3cbea',1,'atidle(): atca_iface.c']]], - ['atinfo',['atInfo',['../a03531.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atinit',['atinit',['../a03583.html#a43753a99c2b46caab2ae85d0504f1f84',1,'atca_iface::atinit()'],['../a03533.html#ga386353e8700eec35e4548dfa29f13b8d',1,'atinit(): atca_iface.c']]], - ['atiseccfamily',['atIsECCFamily',['../a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c']]], - ['atisshafamily',['atIsSHAFamily',['../a03531.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c']]], - ['atkdf',['atKDF',['../a03531.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atlock',['atLock',['../a03531.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atmac',['atMAC',['../a03531.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atnonce',['atNonce',['../a03531.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atpause',['atPause',['../a03531.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atpostinit',['atpostinit',['../a03583.html#a0dd463e6dbb6121768480ab7b42ba604',1,'atca_iface::atpostinit()'],['../a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5',1,'atpostinit(): atca_iface.h']]], - ['atprivwrite',['atPrivWrite',['../a03531.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atrandom',['atRandom',['../a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atread',['atRead',['../a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atreceive',['atreceive',['../a03583.html#a7ebe5db4da26f30972448931b7500546',1,'atca_iface::atreceive()'],['../a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb',1,'atreceive(): atca_iface.c']]], - ['atsecureboot',['atSecureBoot',['../a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atselftest',['atSelfTest',['../a03531.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atsend',['atsend',['../a03583.html#a343ec53c611863bf30624e5775782ab5',1,'atca_iface::atsend()'],['../a03533.html#ga29c6f441d31c84629954d50cc95d3c5d',1,'atsend(): atca_iface.c']]], - ['atsha',['atSHA',['../a03531.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c'],['../a03531.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c']]], - ['atsha204a',['ATSHA204A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268',1,'atca_devtypes.h']]], - ['atsign',['atSign',['../a03531.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atsleep',['atsleep',['../a03583.html#ae643f9f7998343cc33822de00192626b',1,'atca_iface::atsleep()'],['../a03533.html#gac06336335e5f3191e3b1fc06d2830d96',1,'atsleep(): atca_iface.c']]], - ['atupdateextra',['atUpdateExtra',['../a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atverify',['atVerify',['../a03531.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atwake',['atwake',['../a03583.html#a6cb270146e07d7c258bca835fda84be5',1,'atca_iface::atwake()'],['../a03533.html#ga32693c852341e1b946bab3cca5f71761',1,'atwake(): atca_iface.c']]], - ['atwrite',['atWrite',['../a03531.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a03531.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], - ['auth_5fmac',['auth_mac',['../a03727.html#a9f11512564ff4aeaf5f9d0646d971ed2',1,'atca_write_mac_in_out']]], - ['atcacommand_20_28atca_5f_29',['ATCACommand (atca_)',['../a03531.html',1,'']]], - ['atcadevice_20_28atca_5f_29',['ATCADevice (atca_)',['../a03532.html',1,'']]], - ['atcaiface_20_28atca_5f_29',['ATCAIface (atca_)',['../a03533.html',1,'']]], - ['app_20directory_20_2d_20purpose',['app directory - Purpose',['../a03776.html',1,'']]], - ['readme_2emd',['README.md',['../a03787.html',1,'']]] + ['aad_5fsize',['aad_size',['../a01002.html#a54771a0ca82f1089cc420f3fc1ef7f79',1,'atca_aes_gcm_ctx']]], + ['ack_5fcheck_5fdis',['ACK_CHECK_DIS',['../a00353.html#a8ad7ceb373ce664b1c2482a66537e7c0',1,'hal_esp32_i2c.c']]], + ['ack_5fcheck_5fen',['ACK_CHECK_EN',['../a00353.html#a7dd22b838d2b1f22d367e6cdef04ccc3',1,'hal_esp32_i2c.c']]], + ['ack_5fval',['ACK_VAL',['../a00353.html#a1d64a546dacc15052a6c4887f9d0020f',1,'hal_esp32_i2c.c']]], + ['aes_5fcount',['AES_COUNT',['../a00906.html#ga72cc5ecbdfa169d282776461ce48fda6',1,'atca_command.h']]], + ['aes_5fdata_5fsize',['AES_DATA_SIZE',['../a00906.html#ga8cbce00b91b0ddfb3264c9c367a3699a',1,'atca_command.h']]], + ['aes_5finput_5fidx',['AES_INPUT_IDX',['../a00906.html#gafabb67121c9c58fac9829287b55a2389',1,'atca_command.h']]], + ['aes_5fkeyid_5fidx',['AES_KEYID_IDX',['../a00906.html#ga2809c87d994c49b53e039f752834fc97',1,'atca_command.h']]], + ['aes_5fmode_5fdecrypt',['AES_MODE_DECRYPT',['../a00906.html#ga01cd269d08661e645b4caee850424130',1,'atca_command.h']]], + ['aes_5fmode_5fencrypt',['AES_MODE_ENCRYPT',['../a00906.html#ga5ebee4d7d2d30a88ded25f9a6feecc52',1,'atca_command.h']]], + ['aes_5fmode_5fgfm',['AES_MODE_GFM',['../a00906.html#ga34ec73cf7504b560883a5d192fe88793',1,'atca_command.h']]], + ['aes_5fmode_5fidx',['AES_MODE_IDX',['../a00906.html#ga890e2e40916e88caf596cff43be8ab23',1,'atca_command.h']]], + ['aes_5fmode_5fkey_5fblock_5fmask',['AES_MODE_KEY_BLOCK_MASK',['../a00906.html#gaf54068dbf6ecb7bf8b1881caa0f3b89f',1,'atca_command.h']]], + ['aes_5fmode_5fkey_5fblock_5fpos',['AES_MODE_KEY_BLOCK_POS',['../a00906.html#gabbbbd4cd4cc05e2ea023f059676aa37e',1,'atca_command.h']]], + ['aes_5fmode_5fmask',['AES_MODE_MASK',['../a00906.html#ga7b2f5fb4edfbf4cb719aedbd7215b863',1,'atca_command.h']]], + ['aes_5fmode_5fop_5fmask',['AES_MODE_OP_MASK',['../a00906.html#ga62c9e80674303aea5f92d76c92d30d2b',1,'atca_command.h']]], + ['aes_5frsp_5fsize',['AES_RSP_SIZE',['../a00906.html#gab24f797b7c19e899ef753d9901850e44',1,'atca_command.h']]], + ['any',['ANY',['../a00554.html#a95fe0b508144cd04a02f65dc4db76462',1,'license.txt']]], + ['app_5fdigest',['app_digest',['../a01146.html#a15de5c1cdbe015c9927c51026a44c15d',1,'secure_boot_parameters']]], + ['ataes',['atAES',['../a00906.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atca_5faddress_5fmask',['ATCA_ADDRESS_MASK',['../a00906.html#ga579676fd500ded40bc49dc53231fa658',1,'atca_command.h']]], + ['atca_5faddress_5fmask_5fconfig',['ATCA_ADDRESS_MASK_CONFIG',['../a00906.html#ga32d53cee52cd042a31f1adc934ad7a5a',1,'atca_command.h']]], + ['atca_5faddress_5fmask_5fotp',['ATCA_ADDRESS_MASK_OTP',['../a00906.html#ga56e3f8d816e2068d80003fdee7d58763',1,'atca_command.h']]], + ['atca_5faes',['ATCA_AES',['../a00906.html#ga4edf9367ffdc790e886166890fc814c1',1,'atca_command.h']]], + ['atca_5faes_5fcbc_5fctx',['atca_aes_cbc_ctx',['../a00986.html',1,'']]], + ['atca_5faes_5fcbc_5fctx_5ft',['atca_aes_cbc_ctx_t',['../a00910.html#gaa702726fe160635225abc3c1ed421f7e',1,'atca_basic.h']]], + ['atca_5faes_5fcmac_5fctx',['atca_aes_cmac_ctx',['../a00990.html',1,'']]], + ['atca_5faes_5fcmac_5fctx_5ft',['atca_aes_cmac_ctx_t',['../a00910.html#ga05fa8c58bf4408381db8871b0dca64b6',1,'atca_basic.h']]], + ['atca_5faes_5fctr_5fctx',['atca_aes_ctr_ctx',['../a00994.html',1,'']]], + ['atca_5faes_5fctr_5fctx_5ft',['atca_aes_ctr_ctx_t',['../a00910.html#ga52b18f051752d214a2d5b485270f5b15',1,'atca_basic.h']]], + ['atca_5faes_5fgcm_5fctx',['atca_aes_gcm_ctx',['../a01002.html',1,'']]], + ['atca_5faes_5fgcm_5fctx_5ft',['atca_aes_gcm_ctx_t',['../a00203.html#ac77c63c0685b2cce6a89f607ea019065',1,'atca_basic_aes_gcm.h']]], + ['atca_5faes_5fgcm_5fiv_5fstd_5flength',['ATCA_AES_GCM_IV_STD_LENGTH',['../a00910.html#gad4d0b05dd9b5d0987e24eef9674922ce',1,'atca_basic.h']]], + ['atca_5faes_5fgfm_5fsize',['ATCA_AES_GFM_SIZE',['../a00906.html#ga6ce84aad51d25e05139f83ac9ca2b162',1,'atca_command.h']]], + ['atca_5faes_5fkey_5ftype',['ATCA_AES_KEY_TYPE',['../a00906.html#ga8335b06c5f49c384e2c2f31861865a54',1,'atca_command.h']]], + ['atca_5falloc_5ffailure',['ATCA_ALLOC_FAILURE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1',1,'atca_status.h']]], + ['atca_5fassert_5ffailure',['ATCA_ASSERT_FAILURE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09',1,'atca_status.h']]], + ['atca_5fb283_5fkey_5ftype',['ATCA_B283_KEY_TYPE',['../a00906.html#ga16f1550cc792fa205acef2106f2fcf54',1,'atca_command.h']]], + ['atca_5fbad_5fopcode',['ATCA_BAD_OPCODE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15',1,'atca_status.h']]], + ['atca_5fbad_5fparam',['ATCA_BAD_PARAM',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200',1,'atca_status.h']]], + ['atca_5fbasic_2ec',['atca_basic.c',['../a00182.html',1,'']]], + ['atca_5fbasic_2eh',['atca_basic.h',['../a00185.html',1,'']]], + ['atca_5fbasic_5faes_2ec',['atca_basic_aes.c',['../a00188.html',1,'']]], + ['atca_5fbasic_5faes_5fcbc_2ec',['atca_basic_aes_cbc.c',['../a00191.html',1,'']]], + ['atca_5fbasic_5faes_5fcmac_2ec',['atca_basic_aes_cmac.c',['../a00194.html',1,'']]], + ['atca_5fbasic_5faes_5fctr_2ec',['atca_basic_aes_ctr.c',['../a00197.html',1,'']]], + ['atca_5fbasic_5faes_5fgcm_2ec',['atca_basic_aes_gcm.c',['../a00200.html',1,'']]], + ['atca_5fbasic_5faes_5fgcm_2eh',['atca_basic_aes_gcm.h',['../a00203.html',1,'']]], + ['atca_5fbasic_5faes_5fgcm_5fversion',['atca_basic_aes_gcm_version',['../a00200.html#aa5990c6c2a55759960d25a1f8ad1973d',1,'atca_basic_aes_gcm_version(): atca_basic_aes_gcm.c'],['../a00203.html#aa5990c6c2a55759960d25a1f8ad1973d',1,'atca_basic_aes_gcm_version(): atca_basic_aes_gcm.c']]], + ['atca_5fbasic_5fcheckmac_2ec',['atca_basic_checkmac.c',['../a00206.html',1,'']]], + ['atca_5fbasic_5fcounter_2ec',['atca_basic_counter.c',['../a00209.html',1,'']]], + ['atca_5fbasic_5fderivekey_2ec',['atca_basic_derivekey.c',['../a00212.html',1,'']]], + ['atca_5fbasic_5fecdh_2ec',['atca_basic_ecdh.c',['../a00215.html',1,'']]], + ['atca_5fbasic_5fgendig_2ec',['atca_basic_gendig.c',['../a00218.html',1,'']]], + ['atca_5fbasic_5fgenkey_2ec',['atca_basic_genkey.c',['../a00221.html',1,'']]], + ['atca_5fbasic_5fhmac_2ec',['atca_basic_hmac.c',['../a00224.html',1,'']]], + ['atca_5fbasic_5finfo_2ec',['atca_basic_info.c',['../a00227.html',1,'']]], + ['atca_5fbasic_5fkdf_2ec',['atca_basic_kdf.c',['../a00230.html',1,'']]], + ['atca_5fbasic_5flock_2ec',['atca_basic_lock.c',['../a00233.html',1,'']]], + ['atca_5fbasic_5fmac_2ec',['atca_basic_mac.c',['../a00236.html',1,'']]], + ['atca_5fbasic_5fnonce_2ec',['atca_basic_nonce.c',['../a00239.html',1,'']]], + ['atca_5fbasic_5fprivwrite_2ec',['atca_basic_privwrite.c',['../a00242.html',1,'']]], + ['atca_5fbasic_5frandom_2ec',['atca_basic_random.c',['../a00245.html',1,'']]], + ['atca_5fbasic_5fread_2ec',['atca_basic_read.c',['../a00248.html',1,'']]], + ['atca_5fbasic_5fsecureboot_2ec',['atca_basic_secureboot.c',['../a00251.html',1,'']]], + ['atca_5fbasic_5fselftest_2ec',['atca_basic_selftest.c',['../a00254.html',1,'']]], + ['atca_5fbasic_5fsha_2ec',['atca_basic_sha.c',['../a00257.html',1,'']]], + ['atca_5fbasic_5fsign_2ec',['atca_basic_sign.c',['../a00260.html',1,'']]], + ['atca_5fbasic_5fupdateextra_2ec',['atca_basic_updateextra.c',['../a00263.html',1,'']]], + ['atca_5fbasic_5fverify_2ec',['atca_basic_verify.c',['../a00266.html',1,'']]], + ['atca_5fbasic_5fwrite_2ec',['atca_basic_write.c',['../a00269.html',1,'']]], + ['atca_5fblock_5fsize',['ATCA_BLOCK_SIZE',['../a00906.html#gaa0117f3d3f9a9ae65a3fab1e68b7caef',1,'atca_command.h']]], + ['atca_5fbool_2eh',['atca_bool.h',['../a00095.html',1,'']]], + ['atca_5fcfgs_2ec',['atca_cfgs.c',['../a00098.html',1,'']]], + ['atca_5fcfgs_2eh',['atca_cfgs.h',['../a00101.html',1,'']]], + ['atca_5fcheck_5fmac_5fin_5fout',['atca_check_mac_in_out',['../a01122.html',1,'']]], + ['atca_5fcheck_5fmac_5fin_5fout_5ft',['atca_check_mac_in_out_t',['../a00913.html#ga897821490d4d10e168f1c94cd67966e7',1,'atca_host.h']]], + ['atca_5fcheckmac',['ATCA_CHECKMAC',['../a00906.html#ga1f9bb707789dc9194b06403113c9dfaf',1,'atca_command.h']]], + ['atca_5fcheckmac_5fverify_5ffailed',['ATCA_CHECKMAC_VERIFY_FAILED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2',1,'atca_status.h']]], + ['atca_5fchipmode_5fclock_5fdiv_5fm0',['ATCA_CHIPMODE_CLOCK_DIV_M0',['../a00906.html#gabe16121ea22ed08080997a2cfae1c125',1,'atca_command.h']]], + ['atca_5fchipmode_5fclock_5fdiv_5fm1',['ATCA_CHIPMODE_CLOCK_DIV_M1',['../a00906.html#gaabaee03887c7e4403ac4936d9cde406e',1,'atca_command.h']]], + ['atca_5fchipmode_5fclock_5fdiv_5fm2',['ATCA_CHIPMODE_CLOCK_DIV_M2',['../a00906.html#ga84f7e63b8711e799da259862b170fd75',1,'atca_command.h']]], + ['atca_5fchipmode_5fclock_5fdiv_5fmask',['ATCA_CHIPMODE_CLOCK_DIV_MASK',['../a00906.html#ga09ab7fb893534775d506020643820939',1,'atca_command.h']]], + ['atca_5fchipmode_5fi2c_5faddress_5fflag',['ATCA_CHIPMODE_I2C_ADDRESS_FLAG',['../a00906.html#ga74a13b4b6304a02b4e006901b6ac1de5',1,'atca_command.h']]], + ['atca_5fchipmode_5foffset',['ATCA_CHIPMODE_OFFSET',['../a00906.html#ga6eaf90b702c122de71a18a9b2bd43ba7',1,'atca_command.h']]], + ['atca_5fchipmode_5fttl_5fenable_5fflag',['ATCA_CHIPMODE_TTL_ENABLE_FLAG',['../a00906.html#ga10795619d6fb78965b7e78996261f6cd',1,'atca_command.h']]], + ['atca_5fchipmode_5fwatchdog_5flong',['ATCA_CHIPMODE_WATCHDOG_LONG',['../a00906.html#ga9a089181beb38a1e5c5add58e96302bc',1,'atca_command.h']]], + ['atca_5fchipmode_5fwatchdog_5fmask',['ATCA_CHIPMODE_WATCHDOG_MASK',['../a00906.html#ga814ad478cb05af339635633cbcd495b7',1,'atca_command.h']]], + ['atca_5fchipmode_5fwatchdog_5fshort',['ATCA_CHIPMODE_WATCHDOG_SHORT',['../a00906.html#gab2c08e9a862fce29e741ef2b75918a8e',1,'atca_command.h']]], + ['atca_5fcmd_5fsize_5fmax',['ATCA_CMD_SIZE_MAX',['../a00906.html#ga3f7b636ed69136b5e5aa6d172cfd34e9',1,'atca_command.h']]], + ['atca_5fcmd_5fsize_5fmin',['ATCA_CMD_SIZE_MIN',['../a00906.html#gac978ae798bc2c020c7b8a2e5a258016e',1,'atca_command.h']]], + ['atca_5fcomm_5ffail',['ATCA_COMM_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240',1,'atca_status.h']]], + ['atca_5fcommand',['atca_command',['../a00918.html',1,'']]], + ['atca_5fcommand_2ec',['atca_command.c',['../a00104.html',1,'']]], + ['atca_5fcommand_2eh',['atca_command.h',['../a00107.html',1,'']]], + ['atca_5fcommand_5fheader_5fsize',['ATCA_COMMAND_HEADER_SIZE',['../a00913.html#gab51341e9f564bc8f85c2e822835a8bcb',1,'atca_host.h']]], + ['atca_5fcompiler_2eh',['atca_compiler.h',['../a00110.html',1,'']]], + ['atca_5fconfig_5fzone_5flocked',['ATCA_CONFIG_ZONE_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0',1,'atca_status.h']]], + ['atca_5fcount_5fidx',['ATCA_COUNT_IDX',['../a00906.html#ga0aac7fbfd425112b4b1e922876532a9e',1,'atca_command.h']]], + ['atca_5fcount_5fsize',['ATCA_COUNT_SIZE',['../a00906.html#gad410516c4b4eb448a333eb3ed1f7b288',1,'atca_command.h']]], + ['atca_5fcounter',['ATCA_COUNTER',['../a00906.html#ga9599c4331857f1daa543a31fcce650fd',1,'atca_command.h']]], + ['atca_5fcrc_5fsize',['ATCA_CRC_SIZE',['../a00906.html#ga276faf364bbb0e27819842111e08842f',1,'atca_command.h']]], + ['atca_5fcrypto_5fsw_2eh',['atca_crypto_sw.h',['../a00281.html',1,'']]], + ['atca_5fcrypto_5fsw_5fecdsa_2ec',['atca_crypto_sw_ecdsa.c',['../a00284.html',1,'']]], + ['atca_5fcrypto_5fsw_5fecdsa_2eh',['atca_crypto_sw_ecdsa.h',['../a00287.html',1,'']]], + ['atca_5fcrypto_5fsw_5frand_2ec',['atca_crypto_sw_rand.c',['../a00290.html',1,'']]], + ['atca_5fcrypto_5fsw_5frand_2eh',['atca_crypto_sw_rand.h',['../a00293.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha1_2ec',['atca_crypto_sw_sha1.c',['../a00296.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha1_2eh',['atca_crypto_sw_sha1.h',['../a00299.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha2_2ec',['atca_crypto_sw_sha2.c',['../a00302.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha2_2eh',['atca_crypto_sw_sha2.h',['../a00305.html',1,'']]], + ['atca_5fcustom_5fiface',['ATCA_CUSTOM_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d',1,'atca_iface.h']]], + ['atca_5fdata_5fidx',['ATCA_DATA_IDX',['../a00906.html#ga756539af7bcadf33dd3a9b2f60763f7a',1,'atca_command.h']]], + ['atca_5fdata_5fsize',['ATCA_DATA_SIZE',['../a00906.html#ga0b96c7eee244d44c648245421745db12',1,'atca_command.h']]], + ['atca_5fdata_5fzone_5flocked',['ATCA_DATA_ZONE_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f',1,'atca_status.h']]], + ['atca_5fdecrypt_5fin_5fout',['atca_decrypt_in_out',['../a01118.html',1,'']]], + ['atca_5fdelay_5f10us',['atca_delay_10us',['../a00912.html#ga19891182689551cc3a88603135959351',1,'hal_at90usb1287_timer_asf.c']]], + ['atca_5fdelay_5fms',['atca_delay_ms',['../a00912.html#ga80a853a202b089064bfc4b159c3418b4',1,'atca_delay_ms(uint32_t delay): hal_at90usb1287_timer_asf.c'],['../a00356.html#a4b83848e938fac7ec4dde79e584b6f71',1,'atca_delay_ms(uint32_t msec): hal_esp32_timer.c']]], + ['atca_5fdelay_5fus',['atca_delay_us',['../a00912.html#ga7598dfcd6dcac882836544d48356d02f',1,'hal_at90usb1287_timer_asf.c']]], + ['atca_5fderive_5fkey',['ATCA_DERIVE_KEY',['../a00906.html#gac9405ff4647b09a6d8ab7a4d8a091ee8',1,'atca_command.h']]], + ['atca_5fderive_5fkey_5fin_5fout',['atca_derive_key_in_out',['../a01110.html',1,'']]], + ['atca_5fderive_5fkey_5fmac_5fin_5fout',['atca_derive_key_mac_in_out',['../a01114.html',1,'']]], + ['atca_5fderive_5fkey_5fzeros_5fsize',['ATCA_DERIVE_KEY_ZEROS_SIZE',['../a00913.html#ga7204dddd2ff69a1139a6a8d8f6c62c9c',1,'atca_host.h']]], + ['atca_5fdev_5funknown',['ATCA_DEV_UNKNOWN',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad',1,'atca_devtypes.h']]], + ['atca_5fdevice',['atca_device',['../a00926.html',1,'']]], + ['atca_5fdevice_2ec',['atca_device.c',['../a00113.html',1,'']]], + ['atca_5fdevice_2eh',['atca_device.h',['../a00116.html',1,'']]], + ['atca_5fdevtypes_2eh',['atca_devtypes.h',['../a00119.html',1,'']]], + ['atca_5fecc_5fconfig_5fsize',['ATCA_ECC_CONFIG_SIZE',['../a00906.html#gae8b9077022cc706947fdc8b45a573d81',1,'atca_command.h']]], + ['atca_5fecc_5fp256_5ffield_5fsize',['ATCA_ECC_P256_FIELD_SIZE',['../a00911.html#gab6935877a2675bfc95af283fb43affb5',1,'atca_crypto_sw_ecdsa.h']]], + ['atca_5fecc_5fp256_5fprivate_5fkey_5fsize',['ATCA_ECC_P256_PRIVATE_KEY_SIZE',['../a00911.html#gadb06f3adddd74993ab0da4be3ea71441',1,'atca_crypto_sw_ecdsa.h']]], + ['atca_5fecc_5fp256_5fpublic_5fkey_5fsize',['ATCA_ECC_P256_PUBLIC_KEY_SIZE',['../a00911.html#ga6bcf19f52fbceb7801fc3216d528fb3c',1,'atca_crypto_sw_ecdsa.h']]], + ['atca_5fecc_5fp256_5fsignature_5fsize',['ATCA_ECC_P256_SIGNATURE_SIZE',['../a00911.html#ga6eba254effebfbbb95381511fc7d80d5',1,'atca_crypto_sw_ecdsa.h']]], + ['atca_5fecdh',['ATCA_ECDH',['../a00906.html#ga06c1c02df3023d78b6b224060966460f',1,'atca_command.h']]], + ['atca_5fexecute_5fcommand',['atca_execute_command',['../a00122.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c'],['../a00125.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c']]], + ['atca_5fexecution_2ec',['atca_execution.c',['../a00122.html',1,'']]], + ['atca_5fexecution_2eh',['atca_execution.h',['../a00125.html',1,'']]], + ['atca_5fexecution_5ferror',['ATCA_EXECUTION_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b',1,'atca_status.h']]], + ['atca_5ffunc_5ffail',['ATCA_FUNC_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db',1,'atca_status.h']]], + ['atca_5fgen_5fdig_5fin_5fout',['atca_gen_dig_in_out',['../a01102.html',1,'']]], + ['atca_5fgen_5fdig_5fin_5fout_5ft',['atca_gen_dig_in_out_t',['../a00913.html#ga5ed81b300bd0d04f88708ad122d3a53a',1,'atca_host.h']]], + ['atca_5fgen_5ffail',['ATCA_GEN_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4',1,'atca_status.h']]], + ['atca_5fgen_5fkey_5fin_5fout',['atca_gen_key_in_out',['../a01130.html',1,'']]], + ['atca_5fgen_5fkey_5fin_5fout_5ft',['atca_gen_key_in_out_t',['../a00913.html#ga804b097bbb0a7086f7d208390689146b',1,'atca_host.h']]], + ['atca_5fgendig',['ATCA_GENDIG',['../a00906.html#ga37e24393c3e995d47a09ad962b6b83de',1,'atca_command.h']]], + ['atca_5fgendig_5fzeros_5fsize',['ATCA_GENDIG_ZEROS_SIZE',['../a00913.html#ga5398e83ccfca8ada7cb609c1e34d2cc4',1,'atca_host.h']]], + ['atca_5fgenkey',['ATCA_GENKEY',['../a00906.html#ga17f002359b157bee44a3c071a5a206db',1,'atca_command.h']]], + ['atca_5fhal_2ec',['atca_hal.c',['../a00326.html',1,'']]], + ['atca_5fhal_2eh',['atca_hal.h',['../a00329.html',1,'']]], + ['atca_5fhealth_5ftest_5ferror',['ATCA_HEALTH_TEST_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d',1,'atca_status.h']]], + ['atca_5fhelpers_2ec',['atca_helpers.c',['../a00272.html',1,'']]], + ['atca_5fhelpers_2eh',['atca_helpers.h',['../a00275.html',1,'']]], + ['atca_5fhid_5fiface',['ATCA_HID_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1',1,'atca_iface.h']]], + ['atca_5fhmac',['ATCA_HMAC',['../a00906.html#ga36122a4f84ec0c31330c3c0458304029',1,'atca_command.h']]], + ['atca_5fhmac_5fin_5fout',['atca_hmac_in_out',['../a01098.html',1,'']]], + ['atca_5fhmac_5fsha256_5fctx_5ft',['atca_hmac_sha256_ctx_t',['../a00910.html#ga4c1f62e502c168be9261d2af921e78ba',1,'atca_basic.h']]], + ['atca_5fhost_2ec',['atca_host.c',['../a00542.html',1,'']]], + ['atca_5fhost_2eh',['atca_host.h',['../a00545.html',1,'']]], + ['atca_5fi2c_5fiface',['ATCA_I2C_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb',1,'atca_iface.h']]], + ['atca_5fiface',['atca_iface',['../a00958.html',1,'']]], + ['atca_5fiface_2ec',['atca_iface.c',['../a00128.html',1,'']]], + ['atca_5fiface_2eh',['atca_iface.h',['../a00131.html',1,'']]], + ['atca_5finclude_5fdata_5fin_5fout',['atca_include_data_in_out',['../a01070.html',1,'']]], + ['atca_5finfo',['ATCA_INFO',['../a00906.html#ga0e74f12b91b93e683f27fb8b4c0bfb2f',1,'atca_command.h']]], + ['atca_5finvalid_5fid',['ATCA_INVALID_ID',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816',1,'atca_status.h']]], + ['atca_5finvalid_5fsize',['ATCA_INVALID_SIZE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5',1,'atca_status.h']]], + ['atca_5fio_5fdecrypt_5fin_5fout',['atca_io_decrypt_in_out',['../a01078.html',1,'']]], + ['atca_5fio_5fdecrypt_5fin_5fout_5ft',['atca_io_decrypt_in_out_t',['../a00913.html#ga787a3ef3bd9a6feaf71b50fc127b619d',1,'atca_host.h']]], + ['atca_5fjwt_2ec',['atca_jwt.c',['../a00548.html',1,'']]], + ['atca_5fjwt_2eh',['atca_jwt.h',['../a00551.html',1,'']]], + ['atca_5fjwt_5fadd_5fclaim_5fnumeric',['atca_jwt_add_claim_numeric',['../a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c'],['../a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c']]], + ['atca_5fjwt_5fadd_5fclaim_5fstring',['atca_jwt_add_claim_string',['../a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c'],['../a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c']]], + ['atca_5fjwt_5fcheck_5fpayload_5fstart',['atca_jwt_check_payload_start',['../a00914.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c'],['../a00914.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c']]], + ['atca_5fjwt_5ffinalize',['atca_jwt_finalize',['../a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c'],['../a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c']]], + ['atca_5fjwt_5finit',['atca_jwt_init',['../a00914.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c'],['../a00914.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c']]], + ['atca_5fjwt_5ft',['atca_jwt_t',['../a01138.html',1,'']]], + ['atca_5fjwt_5fverify',['atca_jwt_verify',['../a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c'],['../a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c']]], + ['atca_5fk283_5fkey_5ftype',['ATCA_K283_KEY_TYPE',['../a00906.html#gaac4e75cf70cf0cf946216ffefaf65525',1,'atca_command.h']]], + ['atca_5fkdf',['ATCA_KDF',['../a00906.html#ga1c0632a1eabc73aaebcb4c7f265b8a00',1,'atca_command.h']]], + ['atca_5fkey_5fcount',['ATCA_KEY_COUNT',['../a00906.html#gafa043ddb1952520a2bba28ac41a98f93',1,'atca_command.h']]], + ['atca_5fkey_5fid_5fmax',['ATCA_KEY_ID_MAX',['../a00906.html#ga5da5f8005c1b2612b998afcbd823c716',1,'atca_command.h']]], + ['atca_5fkey_5fsize',['ATCA_KEY_SIZE',['../a00906.html#ga66a410dde8f388c582495ba315284276',1,'atca_command.h']]], + ['atca_5flock',['ATCA_LOCK',['../a00906.html#gac227802d9a5680688ac4c2b23b38273c',1,'atca_command.h']]], + ['atca_5flocked',['ATCA_LOCKED',['../a00906.html#gaf397e129e4581162f91873358b5f1538',1,'atca_command.h']]], + ['atca_5fmac',['ATCA_MAC',['../a00906.html#gaa0843d9ec7e246455483a1fb1fdf3a07',1,'atca_command.h']]], + ['atca_5fmac_5fin_5fout',['atca_mac_in_out',['../a01094.html',1,'']]], + ['atca_5fmac_5fin_5fout_5ft',['atca_mac_in_out_t',['../a00913.html#ga21e3f5ec2d0765d3e98432c4e8498350',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fderive_5fkey',['ATCA_MSG_SIZE_DERIVE_KEY',['../a00913.html#ga1f445a11e4da099fec31efd43eadc234',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fderive_5fkey_5fmac',['ATCA_MSG_SIZE_DERIVE_KEY_MAC',['../a00913.html#ga4ef7d31c60616cf5177f415e32607d10',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fencrypt_5fmac',['ATCA_MSG_SIZE_ENCRYPT_MAC',['../a00913.html#gafd8064c07a5f22cdb087c88e1b87c1be',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fgen_5fdig',['ATCA_MSG_SIZE_GEN_DIG',['../a00913.html#ga656372cab66beeb5a333e9a33e342017',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fhmac',['ATCA_MSG_SIZE_HMAC',['../a00913.html#gae9245f524128f65f77f65002a5a7265f',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fmac',['ATCA_MSG_SIZE_MAC',['../a00913.html#ga2b5993f5b7254d8c6e50794824cf47b6',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fnonce',['ATCA_MSG_SIZE_NONCE',['../a00913.html#gaebdc2d83274268bb48fc45e87aef38af',1,'atca_host.h']]], + ['atca_5fmsg_5fsize_5fprivwrite_5fmac',['ATCA_MSG_SIZE_PRIVWRITE_MAC',['../a00913.html#ga1039bfbe7e13d614814341bdee6afa7b',1,'atca_host.h']]], + ['atca_5fmutex_5ftimeout',['ATCA_MUTEX_TIMEOUT',['../a00359.html#acf61a669d2246c92200734be17bd5488',1,'hal_freertos.c']]], + ['atca_5fno_5fdevices',['ATCA_NO_DEVICES',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822',1,'atca_status.h']]], + ['atca_5fnonce',['ATCA_NONCE',['../a00906.html#ga232e4a2b3f189cc2c3594ce5f18da3aa',1,'atca_command.h']]], + ['atca_5fnonce_5fin_5fout',['atca_nonce_in_out',['../a01074.html',1,'']]], + ['atca_5fnonce_5fin_5fout_5ft',['atca_nonce_in_out_t',['../a00913.html#gae9d8a27e97696e2e02cea680ea44e3f2',1,'atca_host.h']]], + ['atca_5fnot_5flocked',['ATCA_NOT_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8',1,'atca_status.h']]], + ['atca_5fopcode_5fidx',['ATCA_OPCODE_IDX',['../a00906.html#ga15c3e02dd629f85722f4b74e61f3adca',1,'atca_command.h']]], + ['atca_5fotp_5fblock_5fmax',['ATCA_OTP_BLOCK_MAX',['../a00906.html#gaa0eacfa4e596c3eb572753b7f5171276',1,'atca_command.h']]], + ['atca_5fotp_5fsize',['ATCA_OTP_SIZE',['../a00906.html#ga4c05f7bd221df19c5c6ad1fe1f4709be',1,'atca_command.h']]], + ['atca_5fp256_5fkey_5ftype',['ATCA_P256_KEY_TYPE',['../a00906.html#ga6e53cd97c61a185ca397ebed8dc3edcb',1,'atca_command.h']]], + ['atca_5fpacket_5foverhead',['ATCA_PACKET_OVERHEAD',['../a00906.html#gaa569255bc251cd90cb2d0f6b710164bc',1,'atca_command.h']]], + ['atca_5fparam1_5fidx',['ATCA_PARAM1_IDX',['../a00906.html#ga090c04fed9d153a97fb77195c7eb2f56',1,'atca_command.h']]], + ['atca_5fparam2_5fidx',['ATCA_PARAM2_IDX',['../a00906.html#ga9e84a71fc7e3ba613779aeb8d740eb23',1,'atca_command.h']]], + ['atca_5fparity_5ferror',['ATCA_PARITY_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3',1,'atca_status.h']]], + ['atca_5fparse_5ferror',['ATCA_PARSE_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95',1,'atca_status.h']]], + ['atca_5fpause',['ATCA_PAUSE',['../a00906.html#ga7d786006183912073939b3f62075dd27',1,'atca_command.h']]], + ['atca_5fpolling_5ffrequency_5ftime_5fmsec',['ATCA_POLLING_FREQUENCY_TIME_MSEC',['../a00122.html#a608ef7949677dac87e1c76c826e6bf40',1,'atca_execution.c']]], + ['atca_5fpolling_5finit_5ftime_5fmsec',['ATCA_POLLING_INIT_TIME_MSEC',['../a00122.html#a8bec71e1581c804c34ee5239109e0aaf',1,'atca_execution.c']]], + ['atca_5fpolling_5fmax_5ftime_5fmsec',['ATCA_POLLING_MAX_TIME_MSEC',['../a00122.html#a3fec2247165d648a94cea3d0cbfd662f',1,'atca_execution.c']]], + ['atca_5fpost_5fdelay_5fmsec',['ATCA_POST_DELAY_MSEC',['../a00908.html#gad476da768505d62bcd85e8fb55cdb1eb',1,'atca_iface.c']]], + ['atca_5fpriv_5fkey_5fsize',['ATCA_PRIV_KEY_SIZE',['../a00906.html#ga3caf91c8e7ec183e0ad7b93dad9cb548',1,'atca_command.h']]], + ['atca_5fprivwrite',['ATCA_PRIVWRITE',['../a00906.html#ga3171c7ab4447a2e752706bed1072e694',1,'atca_command.h']]], + ['atca_5fprivwrite_5fmac_5fzeros_5fsize',['ATCA_PRIVWRITE_MAC_ZEROS_SIZE',['../a00913.html#ga9c24dfde4798589fd98c2583d170aeb1',1,'atca_host.h']]], + ['atca_5fprivwrite_5fplain_5ftext_5fsize',['ATCA_PRIVWRITE_PLAIN_TEXT_SIZE',['../a00913.html#ga6a06f47cbc2023edba7e8b0f2f4b08bb',1,'atca_host.h']]], + ['atca_5fpub_5fkey_5fpad',['ATCA_PUB_KEY_PAD',['../a00906.html#gae52318f0263884ff3a3e67328138cc75',1,'atca_command.h']]], + ['atca_5fpub_5fkey_5fsize',['ATCA_PUB_KEY_SIZE',['../a00906.html#ga07089e8e8b1aa335ddfd37e591f64ebb',1,'atca_command.h']]], + ['atca_5frandom',['ATCA_RANDOM',['../a00906.html#gace94188e9d741a9b44616474b633064f',1,'atca_command.h']]], + ['atca_5fread',['ATCA_READ',['../a00906.html#ga8760372110d92cea3570a5720db05de2',1,'atca_command.h']]], + ['atca_5fresync_5fwith_5fwakeup',['ATCA_RESYNC_WITH_WAKEUP',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be',1,'atca_status.h']]], + ['atca_5frsp_5fdata_5fidx',['ATCA_RSP_DATA_IDX',['../a00906.html#gabaaa930c2275599fcc3d83cfc02bfafe',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5f16',['ATCA_RSP_SIZE_16',['../a00906.html#ga0be09b502137446daedc43f1d3e85f86',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5f32',['ATCA_RSP_SIZE_32',['../a00906.html#gafd812ab5b70a92a4d3a420c4f7106ac5',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5f4',['ATCA_RSP_SIZE_4',['../a00906.html#ga15cc6f16cdb8f11b60981af7c3b15ef8',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5f64',['ATCA_RSP_SIZE_64',['../a00906.html#ga5b7ad7c3c75639352af5ad3b1298500c',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5f72',['ATCA_RSP_SIZE_72',['../a00906.html#ga67ca82b396385dd18790b48d731dfe15',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5fmax',['ATCA_RSP_SIZE_MAX',['../a00906.html#ga908aece3a9501eb14a70c2b24a3e4089',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5fmin',['ATCA_RSP_SIZE_MIN',['../a00906.html#ga0c738f2cc7bf063582c34188f85ddc3c',1,'atca_command.h']]], + ['atca_5frsp_5fsize_5fval',['ATCA_RSP_SIZE_VAL',['../a00906.html#ga882f14cac02df8282ccad2a43afc8a23',1,'atca_command.h']]], + ['atca_5frx_5fcrc_5ferror',['ATCA_RX_CRC_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9',1,'atca_status.h']]], + ['atca_5frx_5ffail',['ATCA_RX_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4',1,'atca_status.h']]], + ['atca_5frx_5fno_5fresponse',['ATCA_RX_NO_RESPONSE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276',1,'atca_status.h']]], + ['atca_5frx_5ftimeout',['ATCA_RX_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d',1,'atca_status.h']]], + ['atca_5fsecureboot',['ATCA_SECUREBOOT',['../a00906.html#gaf4aab184dc60e2de854994d26d57dfde',1,'atca_command.h']]], + ['atca_5fsecureboot_5fenc_5fin_5fout',['atca_secureboot_enc_in_out',['../a01086.html',1,'']]], + ['atca_5fsecureboot_5fenc_5fin_5fout_5ft',['atca_secureboot_enc_in_out_t',['../a00913.html#gaa60674423eaa2e7f37f2c1cf2855f2d7',1,'atca_host.h']]], + ['atca_5fsecureboot_5fmac_5fin_5fout',['atca_secureboot_mac_in_out',['../a01090.html',1,'']]], + ['atca_5fsecureboot_5fmac_5fin_5fout_5ft',['atca_secureboot_mac_in_out_t',['../a00913.html#gace9a9d1e2e34d294e573098600b6f061',1,'atca_host.h']]], + ['atca_5fselftest',['ATCA_SELFTEST',['../a00906.html#gacbec80dc1b5f24d3013c2a9b06c11bdc',1,'atca_command.h']]], + ['atca_5fserial_5fnum_5fsize',['ATCA_SERIAL_NUM_SIZE',['../a00906.html#gab112a8a280ac5ad6e11b5fe2cc0be0a0',1,'atca_command.h']]], + ['atca_5fsha',['ATCA_SHA',['../a00906.html#ga8e5f11692a8a23e1410d9b5ce8bebc2b',1,'atca_command.h']]], + ['atca_5fsha1_5fdigest_5fsize',['ATCA_SHA1_DIGEST_SIZE',['../a00911.html#gadb94a0991eb670ff1bf90253dfea0bfa',1,'atca_crypto_sw_sha1.h']]], + ['atca_5fsha256_5fblock_5fsize',['ATCA_SHA256_BLOCK_SIZE',['../a00906.html#ga85e0a506bd6fdae6ce32d5df3a48ac1c',1,'atca_command.h']]], + ['atca_5fsha256_5fctx',['atca_sha256_ctx',['../a00998.html',1,'']]], + ['atca_5fsha256_5fctx_5ft',['atca_sha256_ctx_t',['../a00910.html#ga530ccce9f617be7dbf3661e19a4c0546',1,'atca_basic.h']]], + ['atca_5fsha2_5f256_5fdigest_5fsize',['ATCA_SHA2_256_DIGEST_SIZE',['../a00911.html#ga86364f6d07b86740f3170d9d1ca60641',1,'atca_crypto_sw_sha2.h']]], + ['atca_5fsha_5fconfig_5fsize',['ATCA_SHA_CONFIG_SIZE',['../a00906.html#ga1887d11853092541df18c2a04fb6b87a',1,'atca_command.h']]], + ['atca_5fsha_5fdigest_5fsize',['ATCA_SHA_DIGEST_SIZE',['../a00906.html#gad1d5f6fcf8f33b7ea3061280620df8bd',1,'atca_command.h']]], + ['atca_5fsha_5fkey_5ftype',['ATCA_SHA_KEY_TYPE',['../a00906.html#gad325831ee2326885795706efd7b3b00e',1,'atca_command.h']]], + ['atca_5fsig_5fsize',['ATCA_SIG_SIZE',['../a00906.html#ga56448f81a8d04c6871b3422c496bf8b6',1,'atca_command.h']]], + ['atca_5fsign',['ATCA_SIGN',['../a00906.html#ga516dbf4bbd2c4b366e0306890d0bca56',1,'atca_command.h']]], + ['atca_5fsign_5finternal_5fin_5fout',['atca_sign_internal_in_out',['../a01134.html',1,'']]], + ['atca_5fsign_5finternal_5fin_5fout_5ft',['atca_sign_internal_in_out_t',['../a00913.html#gafdb82fc57fb953626c28c757a5220274',1,'atca_host.h']]], + ['atca_5fsmall_5fbuffer',['ATCA_SMALL_BUFFER',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743',1,'atca_status.h']]], + ['atca_5fsn_5f0_5fdef',['ATCA_SN_0_DEF',['../a00913.html#ga1a026ad1d6e4ccd5c32f7f0462877b39',1,'atca_host.h']]], + ['atca_5fsn_5f1_5fdef',['ATCA_SN_1_DEF',['../a00913.html#ga5e4f22a404b71cabba4fd7085dff5e7c',1,'atca_host.h']]], + ['atca_5fsn_5f8_5fdef',['ATCA_SN_8_DEF',['../a00913.html#ga232f0d699ece83f51d63e5a66d254be5',1,'atca_host.h']]], + ['atca_5fspi_5fiface',['ATCA_SPI_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7',1,'atca_iface.h']]], + ['atca_5fstart_5fconfig_2eh',['atca_start_config.h',['../a00332.html',1,'']]], + ['atca_5fstart_5fiface_2eh',['atca_start_iface.h',['../a00335.html',1,'']]], + ['atca_5fstatus',['ATCA_STATUS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cd',1,'atca_status.h']]], + ['atca_5fstatus_2eh',['atca_status.h',['../a00134.html',1,'']]], + ['atca_5fstatus_5fcrc',['ATCA_STATUS_CRC',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228',1,'atca_status.h']]], + ['atca_5fstatus_5fecc',['ATCA_STATUS_ECC',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77',1,'atca_status.h']]], + ['atca_5fstatus_5fselftest_5ferror',['ATCA_STATUS_SELFTEST_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f',1,'atca_status.h']]], + ['atca_5fstatus_5funknown',['ATCA_STATUS_UNKNOWN',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f',1,'atca_status.h']]], + ['atca_5fsuccess',['ATCA_SUCCESS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7',1,'atca_status.h']]], + ['atca_5fswi_5fiface',['ATCA_SWI_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26',1,'atca_iface.h']]], + ['atca_5ftemp_5fkey',['atca_temp_key',['../a01066.html',1,'']]], + ['atca_5ftemp_5fkey_5ft',['atca_temp_key_t',['../a00913.html#ga30bc02410edabefa2e210709b00105de',1,'atca_host.h']]], + ['atca_5ftempkey_5fkeyid',['ATCA_TEMPKEY_KEYID',['../a00906.html#ga988fff8295c1914217b8543b614f556c',1,'atca_command.h']]], + ['atca_5ftimeout',['ATCA_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31',1,'atca_status.h']]], + ['atca_5ftoo_5fmany_5fcomm_5fretries',['ATCA_TOO_MANY_COMM_RETRIES',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7',1,'atca_status.h']]], + ['atca_5ftx_5ffail',['ATCA_TX_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb',1,'atca_status.h']]], + ['atca_5ftx_5ftimeout',['ATCA_TX_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae',1,'atca_status.h']]], + ['atca_5fuart_5fiface',['ATCA_UART_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d',1,'atca_iface.h']]], + ['atca_5funimplemented',['ATCA_UNIMPLEMENTED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450',1,'atca_status.h']]], + ['atca_5funknown_5fiface',['ATCA_UNKNOWN_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec',1,'atca_iface.h']]], + ['atca_5funlocked',['ATCA_UNLOCKED',['../a00906.html#ga54155caf79f004ccf0a875cf3a0ef05b',1,'atca_command.h']]], + ['atca_5funsupported_5fcmd',['ATCA_UNSUPPORTED_CMD',['../a00125.html#aa025be8149d8f6e4d07aaa436b026db2',1,'atca_execution.h']]], + ['atca_5fupdate_5fextra',['ATCA_UPDATE_EXTRA',['../a00906.html#ga19c9a91ccf069c8bc7afa0d5a2bc6fd2',1,'atca_command.h']]], + ['atca_5fverify',['ATCA_VERIFY',['../a00906.html#ga8e357a6e926176155fe47aba97d915fb',1,'atca_command.h']]], + ['atca_5fverify_5fin_5fout',['atca_verify_in_out',['../a01126.html',1,'']]], + ['atca_5fverify_5fin_5fout_5ft',['atca_verify_in_out_t',['../a00913.html#gab4d485e0545aa3defd75702fe51f9a13',1,'atca_host.h']]], + ['atca_5fverify_5fmac',['atca_verify_mac',['../a01082.html',1,'']]], + ['atca_5fverify_5fmac_5fin_5fout_5ft',['atca_verify_mac_in_out_t',['../a00913.html#ga39d794a93edb13943760550086940fa4',1,'atca_host.h']]], + ['atca_5fversion',['atca_version',['../a00182.html#af135cce4a2e6bbf79b75840195c46de5',1,'atca_basic.c']]], + ['atca_5fwake_5ffailed',['ATCA_WAKE_FAILED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42',1,'atca_status.h']]], + ['atca_5fwake_5fsuccess',['ATCA_WAKE_SUCCESS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a',1,'atca_status.h']]], + ['atca_5fword_5fsize',['ATCA_WORD_SIZE',['../a00906.html#ga555bdf8fa32d4d47577f7748ca928389',1,'atca_command.h']]], + ['atca_5fwrite',['ATCA_WRITE',['../a00906.html#gab04d6b6e9e5a2c4c28733a6f4f3b0771',1,'atca_command.h']]], + ['atca_5fwrite_5fmac_5fin_5fout',['atca_write_mac_in_out',['../a01106.html',1,'']]], + ['atca_5fwrite_5fmac_5fin_5fout_5ft',['atca_write_mac_in_out_t',['../a00913.html#gafeefb2141ebb14988f08eb86f7cd6608',1,'atca_host.h']]], + ['atca_5fwrite_5fmac_5fzeros_5fsize',['ATCA_WRITE_MAC_ZEROS_SIZE',['../a00913.html#ga43496218f8a98faad996489af047272f',1,'atca_host.h']]], + ['atca_5fzone_5fconfig',['ATCA_ZONE_CONFIG',['../a00906.html#gadd3796a1d4de55604283aef5a70f7945',1,'atca_command.h']]], + ['atca_5fzone_5fdata',['ATCA_ZONE_DATA',['../a00906.html#ga4c65b241280290fae9fd4faa9d7a292b',1,'atca_command.h']]], + ['atca_5fzone_5fencrypted',['ATCA_ZONE_ENCRYPTED',['../a00906.html#ga167bc588244395e98461008070fee8f3',1,'atca_command.h']]], + ['atca_5fzone_5fmask',['ATCA_ZONE_MASK',['../a00906.html#ga1d6d2f2713e845ec3b3bf465025d6858',1,'atca_command.h']]], + ['atca_5fzone_5fotp',['ATCA_ZONE_OTP',['../a00906.html#ga547efc6fa3cb0501b2e53f80023dff7e',1,'atca_command.h']]], + ['atca_5fzone_5freadwrite_5f32',['ATCA_ZONE_READWRITE_32',['../a00906.html#gaa32b46f2c058ee54377d0cbef1ec8764',1,'atca_command.h']]], + ['atcab_5faes',['atcab_aes',['../a00910.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c'],['../a00910.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c']]], + ['atcab_5faes_5fcbc_5fdecrypt_5fblock',['atcab_aes_cbc_decrypt_block',['../a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_cbc.c'],['../a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcbc_5fencrypt_5fblock',['atcab_aes_cbc_encrypt_block',['../a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_cbc.c'],['../a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcbc_5finit',['atcab_aes_cbc_init',['../a00910.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes_cbc.c'],['../a00910.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcmac_5ffinish',['atcab_aes_cmac_finish',['../a00910.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes_cmac.c'],['../a00910.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fcmac_5finit',['atcab_aes_cmac_init',['../a00910.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes_cmac.c'],['../a00910.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fcmac_5fupdate',['atcab_aes_cmac_update',['../a00910.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes_cmac.c'],['../a00910.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fctr_5fblock',['atcab_aes_ctr_block',['../a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes_ctr.c'],['../a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fdecrypt_5fblock',['atcab_aes_ctr_decrypt_block',['../a00910.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_ctr.c'],['../a00910.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fencrypt_5fblock',['atcab_aes_ctr_encrypt_block',['../a00910.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_ctr.c'],['../a00910.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fincrement',['atcab_aes_ctr_increment',['../a00910.html#ga475b72450dcd21c822de5cb366197927',1,'atcab_aes_ctr_increment(atca_aes_ctr_ctx_t *ctx): atca_basic_aes_ctr.c'],['../a00910.html#ga475b72450dcd21c822de5cb366197927',1,'atcab_aes_ctr_increment(atca_aes_ctr_ctx_t *ctx): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5finit',['atcab_aes_ctr_init',['../a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes_ctr.c'],['../a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5finit_5frand',['atcab_aes_ctr_init_rand',['../a00910.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes_ctr.c'],['../a00910.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fdecrypt',['atcab_aes_decrypt',['../a00910.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a00910.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], + ['atcab_5faes_5fencrypt',['atcab_aes_encrypt',['../a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], + ['atcab_5faes_5fgcm_5faad_5fupdate',['atcab_aes_gcm_aad_update',['../a00200.html#a1d6fd831a8125a366504a0ab77b62da8',1,'atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size): atca_basic_aes_gcm.c'],['../a00203.html#a1d6fd831a8125a366504a0ab77b62da8',1,'atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fdecrypt_5ffinish',['atcab_aes_gcm_decrypt_finish',['../a00200.html#aa86508958ff3d81f9bd8e79344537218',1,'atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified): atca_basic_aes_gcm.c'],['../a00203.html#aa86508958ff3d81f9bd8e79344537218',1,'atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fdecrypt_5fupdate',['atcab_aes_gcm_decrypt_update',['../a00200.html#a2ad3270d8bebf6172dc02d0c7d9fb738',1,'atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext): atca_basic_aes_gcm.c'],['../a00203.html#a2ad3270d8bebf6172dc02d0c7d9fb738',1,'atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fencrypt_5ffinish',['atcab_aes_gcm_encrypt_finish',['../a00200.html#ada2d38835826587970de3868ca48eaa4',1,'atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size): atca_basic_aes_gcm.c'],['../a00203.html#ada2d38835826587970de3868ca48eaa4',1,'atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fencrypt_5fupdate',['atcab_aes_gcm_encrypt_update',['../a00200.html#ab3fda8219d17d1b7bc50b1040399a47d',1,'atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext): atca_basic_aes_gcm.c'],['../a00203.html#ab3fda8219d17d1b7bc50b1040399a47d',1,'atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5finit',['atcab_aes_gcm_init',['../a00200.html#a4805112b62e86b5465e24648504dc374',1,'atcab_aes_gcm_init(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size): atca_basic_aes_gcm.c'],['../a00203.html#a4805112b62e86b5465e24648504dc374',1,'atcab_aes_gcm_init(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5finit_5frand',['atcab_aes_gcm_init_rand',['../a00200.html#ad71a5720ceaddf2c76476aead5f0c3e6',1,'atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv): atca_basic_aes_gcm.c'],['../a00203.html#ad71a5720ceaddf2c76476aead5f0c3e6',1,'atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgfm',['atcab_aes_gfm',['../a00910.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a00910.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], + ['atcab_5fb64rules_5fdefault',['atcab_b64rules_default',['../a00910.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c'],['../a00910.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c']]], + ['atcab_5fb64rules_5fmime',['atcab_b64rules_mime',['../a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c'],['../a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c']]], + ['atcab_5fb64rules_5furlsafe',['atcab_b64rules_urlsafe',['../a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c'],['../a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c']]], + ['atcab_5fbase64decode',['atcab_base64decode',['../a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len): atca_helpers.c'],['../a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size): atca_helpers.c']]], + ['atcab_5fbase64decode_5f',['atcab_base64decode_',['../a00910.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c']]], + ['atcab_5fbase64encode',['atcab_base64encode',['../a00910.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len): atca_helpers.c'],['../a00910.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size): atca_helpers.c']]], + ['atcab_5fbase64encode_5f',['atcab_base64encode_',['../a00910.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c']]], + ['atcab_5fbin2hex',['atcab_bin2hex',['../a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c'],['../a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c']]], + ['atcab_5fbin2hex_5f',['atcab_bin2hex_',['../a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c'],['../a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c']]], + ['atcab_5fcfg_5fdiscover',['atcab_cfg_discover',['../a00910.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max_ifaces): atca_basic.c'],['../a00910.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max): atca_basic.c']]], + ['atcab_5fchallenge',['atcab_challenge',['../a00910.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c'],['../a00910.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c']]], + ['atcab_5fchallenge_5fseed_5fupdate',['atcab_challenge_seed_update',['../a00910.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fcheckmac',['atcab_checkmac',['../a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c'],['../a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c']]], + ['atcab_5fcmp_5fconfig_5fzone',['atcab_cmp_config_zone',['../a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c'],['../a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c']]], + ['atcab_5fcounter',['atcab_counter',['../a00910.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fcounter_5fincrement',['atcab_counter_increment',['../a00910.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fcounter_5fread',['atcab_counter_read',['../a00910.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fderivekey',['atcab_derivekey',['../a00910.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t *mac): atca_basic_derivekey.c'],['../a00910.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t target_key, const uint8_t *mac): atca_basic_derivekey.c']]], + ['atcab_5fecdh',['atcab_ecdh',['../a00910.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a00910.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fbase',['atcab_ecdh_base',['../a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c'],['../a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fenc',['atcab_ecdh_enc',['../a00910.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c'],['../a00910.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fioenc',['atcab_ecdh_ioenc',['../a00910.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a00910.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5ftempkey',['atcab_ecdh_tempkey',['../a00910.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a00910.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5ftempkey_5fioenc',['atcab_ecdh_tempkey_ioenc',['../a00910.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a00910.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], + ['atcab_5fgendig',['atcab_gendig',['../a00910.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c'],['../a00910.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c']]], + ['atcab_5fgenkey',['atcab_genkey',['../a00910.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fgenkey_5fbase',['atcab_genkey_base',['../a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fget_5faddr',['atcab_get_addr',['../a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c'],['../a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c']]], + ['atcab_5fget_5fdevice',['atcab_get_device',['../a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c'],['../a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c']]], + ['atcab_5fget_5fpubkey',['atcab_get_pubkey',['../a00910.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fget_5fzone_5fsize',['atcab_get_zone_size',['../a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c'],['../a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c']]], + ['atcab_5fhex2bin',['atcab_hex2bin',['../a00910.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size): atca_helpers.c'],['../a00910.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len): atca_helpers.c']]], + ['atcab_5fhmac',['atcab_hmac',['../a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c'],['../a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c']]], + ['atcab_5fhw_5fsha2_5f256',['atcab_hw_sha2_256',['../a00910.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5ffinish',['atcab_hw_sha2_256_finish',['../a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5finit',['atcab_hw_sha2_256_init',['../a00910.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c'],['../a00910.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5fupdate',['atcab_hw_sha2_256_update',['../a00910.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a00910.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], + ['atcab_5fidle',['atcab_idle',['../a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c'],['../a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c']]], + ['atcab_5finfo',['atcab_info',['../a00910.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c'],['../a00910.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c']]], + ['atcab_5finfo_5fbase',['atcab_info_base',['../a00910.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c'],['../a00910.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c']]], + ['atcab_5finfo_5fget_5flatch',['atcab_info_get_latch',['../a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c'],['../a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c']]], + ['atcab_5finfo_5fset_5flatch',['atcab_info_set_latch',['../a00910.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c'],['../a00910.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c']]], + ['atcab_5finit',['atcab_init',['../a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c'],['../a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c']]], + ['atcab_5finit_5fdevice',['atcab_init_device',['../a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c'],['../a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c']]], + ['atcab_5fis_5flocked',['atcab_is_locked',['../a00910.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c'],['../a00910.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c']]], + ['atcab_5fis_5fslot_5flocked',['atcab_is_slot_locked',['../a00910.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c'],['../a00910.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c']]], + ['atcab_5fkdf',['atcab_kdf',['../a00910.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c'],['../a00910.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c']]], + ['atcab_5flock',['atcab_lock',['../a00910.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5flock_5fconfig_5fzone',['atcab_lock_config_zone',['../a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c'],['../a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c']]], + ['atcab_5flock_5fconfig_5fzone_5fcrc',['atcab_lock_config_zone_crc',['../a00910.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fslot',['atcab_lock_data_slot',['../a00910.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c'],['../a00910.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fzone',['atcab_lock_data_zone',['../a00910.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c'],['../a00910.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fzone_5fcrc',['atcab_lock_data_zone_crc',['../a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5fmac',['atcab_mac',['../a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c'],['../a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c']]], + ['atcab_5fnonce',['atcab_nonce',['../a00910.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c'],['../a00910.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c']]], + ['atcab_5fnonce_5fbase',['atcab_nonce_base',['../a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fnonce_5fload',['atcab_nonce_load',['../a00910.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c'],['../a00910.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c']]], + ['atcab_5fnonce_5frand',['atcab_nonce_rand',['../a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fprintbin',['atcab_printbin',['../a00910.html#ga72601de415fd0bbc73faa1ddbc52e56e',1,'atca_helpers.h']]], + ['atcab_5fprintbin_5flabel',['atcab_printbin_label',['../a00910.html#ga248355e3b4bcdd5d728f214fc2eb79e4',1,'atca_helpers.h']]], + ['atcab_5fprintbin_5fsp',['atcab_printbin_sp',['../a00910.html#ga1f88c481b376a7be9112ff081c4ad854',1,'atca_helpers.h']]], + ['atcab_5fpriv_5fwrite',['atcab_priv_write',['../a00910.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c'],['../a00910.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c']]], + ['atcab_5frandom',['atcab_random',['../a00910.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c'],['../a00910.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c']]], + ['atcab_5fread_5fbytes_5fzone',['atcab_read_bytes_zone',['../a00910.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c'],['../a00910.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c']]], + ['atcab_5fread_5fconfig_5fzone',['atcab_read_config_zone',['../a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c'],['../a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c']]], + ['atcab_5fread_5fenc',['atcab_read_enc',['../a00910.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c'],['../a00910.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c']]], + ['atcab_5fread_5fpubkey',['atcab_read_pubkey',['../a00910.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c'],['../a00910.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c']]], + ['atcab_5fread_5fserial_5fnumber',['atcab_read_serial_number',['../a00910.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c'],['../a00910.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c']]], + ['atcab_5fread_5fsig',['atcab_read_sig',['../a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c'],['../a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c']]], + ['atcab_5fread_5fzone',['atcab_read_zone',['../a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c'],['../a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c']]], + ['atcab_5frelease',['atcab_release',['../a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c'],['../a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c']]], + ['atcab_5fsecureboot',['atcab_secureboot',['../a00910.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c'],['../a00910.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c']]], + ['atcab_5fsecureboot_5fmac',['atcab_secureboot_mac',['../a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c'],['../a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c']]], + ['atcab_5fselftest',['atcab_selftest',['../a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c'],['../a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c']]], + ['atcab_5fsha',['atcab_sha',['../a00910.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fsha_5fbase',['atcab_sha_base',['../a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c'],['../a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *message, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fend',['atcab_sha_end',['../a00910.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c'],['../a00910.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac',['atcab_sha_hmac',['../a00910.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a00910.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5ffinish',['atcab_sha_hmac_finish',['../a00910.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a00910.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5finit',['atcab_sha_hmac_init',['../a00910.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c'],['../a00910.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5fupdate',['atcab_sha_hmac_update',['../a00910.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a00910.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fread_5fcontext',['atcab_sha_read_context',['../a00910.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c'],['../a00910.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fstart',['atcab_sha_start',['../a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c'],['../a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c']]], + ['atcab_5fsha_5fupdate',['atcab_sha_update',['../a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c'],['../a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c']]], + ['atcab_5fsha_5fwrite_5fcontext',['atcab_sha_write_context',['../a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c'],['../a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c']]], + ['atcab_5fsign',['atcab_sign',['../a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsign_5fbase',['atcab_sign_base',['../a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsign_5finternal',['atcab_sign_internal',['../a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsleep',['atcab_sleep',['../a00910.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c'],['../a00910.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c']]], + ['atcab_5fupdateextra',['atcab_updateextra',['../a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c'],['../a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c']]], + ['atcab_5fverify',['atcab_verify',['../a00910.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c'],['../a00910.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c']]], + ['atcab_5fverify_5fextern',['atcab_verify_extern',['../a00910.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fextern_5fmac',['atcab_verify_extern_mac',['../a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5finvalidate',['atcab_verify_invalidate',['../a00910.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fstored',['atcab_verify_stored',['../a00910.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fstored_5fmac',['atcab_verify_stored_mac',['../a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fvalidate',['atcab_verify_validate',['../a00910.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fversion',['atcab_version',['../a00910.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c'],['../a00910.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c']]], + ['atcab_5fwakeup',['atcab_wakeup',['../a00910.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c'],['../a00910.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c']]], + ['atcab_5fwrite',['atcab_write',['../a00910.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c'],['../a00910.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c']]], + ['atcab_5fwrite_5fbytes_5fzone',['atcab_write_bytes_zone',['../a00910.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c'],['../a00910.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c']]], + ['atcab_5fwrite_5fconfig_5fcounter',['atcab_write_config_counter',['../a00910.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c'],['../a00910.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c']]], + ['atcab_5fwrite_5fconfig_5fzone',['atcab_write_config_zone',['../a00910.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c'],['../a00910.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c']]], + ['atcab_5fwrite_5fenc',['atcab_write_enc',['../a00910.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c'],['../a00910.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c']]], + ['atcab_5fwrite_5fpubkey',['atcab_write_pubkey',['../a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c'],['../a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c']]], + ['atcab_5fwrite_5fzone',['atcab_write_zone',['../a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c'],['../a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c']]], + ['atcac_5fsha1_5fctx',['atcac_sha1_ctx',['../a01010.html',1,'']]], + ['atcac_5fsha2_5f256_5fctx',['atcac_sha2_256_ctx',['../a01014.html',1,'']]], + ['atcac_5fsw_5fecdsa_5fverify_5fp256',['atcac_sw_ecdsa_verify_p256',['../a00911.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c'],['../a00911.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c']]], + ['atcac_5fsw_5frandom',['atcac_sw_random',['../a00911.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c'],['../a00911.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c']]], + ['atcac_5fsw_5fsha1',['atcac_sw_sha1',['../a00911.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a00911.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5ffinish',['atcac_sw_sha1_finish',['../a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5finit',['atcac_sw_sha1_init',['../a00911.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c'],['../a00911.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5fupdate',['atcac_sw_sha1_update',['../a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c'],['../a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha2_5f256',['atcac_sw_sha2_256',['../a00911.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a00911.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5ffinish',['atcac_sw_sha2_256_finish',['../a00911.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a00911.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5finit',['atcac_sw_sha2_256_init',['../a00911.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c'],['../a00911.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5fupdate',['atcac_sw_sha2_256_update',['../a00911.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c'],['../a00911.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c']]], + ['atcacdc',['atcacdc',['../a01042.html',1,'']]], + ['atcacdc_5ft',['atcacdc_t',['../a00912.html#ga2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_linux_kit_cdc.h'],['../a00476.html#a2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_win_kit_cdc.h']]], + ['atcacert_2eh',['atcacert.h',['../a00137.html',1,'']]], + ['atcacert_5fbuild_5fstate_5fs',['atcacert_build_state_s',['../a00982.html',1,'']]], + ['atcacert_5fbuild_5fstate_5ft',['atcacert_build_state_t',['../a00909.html#ga92ccf01a2c37be9caa7d840846672c83',1,'atcacert_def.h']]], + ['atcacert_5fcert_5fbuild_5ffinish',['atcacert_cert_build_finish',['../a00909.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c'],['../a00909.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c']]], + ['atcacert_5fcert_5fbuild_5fprocess',['atcacert_cert_build_process',['../a00909.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c'],['../a00909.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c']]], + ['atcacert_5fcert_5fbuild_5fstart',['atcacert_cert_build_start',['../a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c'],['../a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c']]], + ['atcacert_5fcert_5felement_5fs',['atcacert_cert_element_s',['../a00974.html',1,'']]], + ['atcacert_5fcert_5felement_5ft',['atcacert_cert_element_t',['../a00909.html#ga8d14206d455a7a7835ed613e57c20dd3',1,'atcacert_def.h']]], + ['atcacert_5fcert_5floc_5fs',['atcacert_cert_loc_s',['../a00970.html',1,'']]], + ['atcacert_5fcert_5floc_5ft',['atcacert_cert_loc_t',['../a00909.html#gae7c32139e6dce0fe25b4598299a77df6',1,'atcacert_def.h']]], + ['atcacert_5fcert_5fsn_5fsrc_5fe',['atcacert_cert_sn_src_e',['../a00909.html#ga813047a656af7fe578d28fd54c840e8e',1,'atcacert_def.h']]], + ['atcacert_5fcert_5fsn_5fsrc_5ft',['atcacert_cert_sn_src_t',['../a00909.html#gaa557358df9a164d6c1f14b1f53662c6c',1,'atcacert_def.h']]], + ['atcacert_5fcert_5ftype_5fe',['atcacert_cert_type_e',['../a00909.html#ga5430f01929cd7269e04db08d1f28642f',1,'atcacert_def.h']]], + ['atcacert_5fcert_5ftype_5ft',['atcacert_cert_type_t',['../a00909.html#ga8fcfb1307197295422ace828b40ee37d',1,'atcacert_def.h']]], + ['atcacert_5fclient_2ec',['atcacert_client.c',['../a00140.html',1,'']]], + ['atcacert_5fclient_2eh',['atcacert_client.h',['../a00143.html',1,'']]], + ['atcacert_5fcreate_5fcsr',['atcacert_create_csr',['../a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c'],['../a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c']]], + ['atcacert_5fcreate_5fcsr_5fpem',['atcacert_create_csr_pem',['../a00909.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c'],['../a00909.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c']]], + ['atcacert_5fdate_2ec',['atcacert_date.c',['../a00146.html',1,'']]], + ['atcacert_5fdate_2eh',['atcacert_date.h',['../a00149.html',1,'']]], + ['atcacert_5fdate_5fdec',['atcacert_date_dec',['../a00909.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fcompcert',['atcacert_date_dec_compcert',['../a00909.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c'],['../a00909.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fiso8601_5fsep',['atcacert_date_dec_iso8601_sep',['../a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fbe',['atcacert_date_dec_posix_uint32_be',['../a00909.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fle',['atcacert_date_dec_posix_uint32_le',['../a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5frfc5280_5fgen',['atcacert_date_dec_rfc5280_gen',['../a00909.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5frfc5280_5futc',['atcacert_date_dec_rfc5280_utc',['../a00909.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fenc',['atcacert_date_enc',['../a00909.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c'],['../a00909.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fcompcert',['atcacert_date_enc_compcert',['../a00909.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c'],['../a00909.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fiso8601_5fsep',['atcacert_date_enc_iso8601_sep',['../a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c'],['../a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fbe',['atcacert_date_enc_posix_uint32_be',['../a00909.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c'],['../a00909.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fle',['atcacert_date_enc_posix_uint32_le',['../a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c'],['../a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5frfc5280_5fgen',['atcacert_date_enc_rfc5280_gen',['../a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c'],['../a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5frfc5280_5futc',['atcacert_date_enc_rfc5280_utc',['../a00909.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c'],['../a00909.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fformat_5fe',['atcacert_date_format_e',['../a00909.html#ga62a103735770a0f935a472fc2c1d78db',1,'atcacert_date.h']]], + ['atcacert_5fdate_5fformat_5fsizes',['ATCACERT_DATE_FORMAT_SIZES',['../a00909.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c'],['../a00909.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c']]], + ['atcacert_5fdate_5fformat_5fsizes_5fcount',['ATCACERT_DATE_FORMAT_SIZES_COUNT',['../a00909.html#ga82737078e820e6d6beeca7466841e43d',1,'atcacert_date.h']]], + ['atcacert_5fdate_5fformat_5ft',['atcacert_date_format_t',['../a00909.html#ga7f389df0f74fd3593ab7e3a4d380433f',1,'atcacert_date.h']]], + ['atcacert_5fdate_5fget_5fmax_5fdate',['atcacert_date_get_max_date',['../a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdecode_5fpem',['atcacert_decode_pem',['../a00176.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c'],['../a00179.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c']]], + ['atcacert_5fdecode_5fpem_5fcert',['atcacert_decode_pem_cert',['../a00176.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c'],['../a00179.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c']]], + ['atcacert_5fdecode_5fpem_5fcsr',['atcacert_decode_pem_csr',['../a00176.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c'],['../a00179.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c']]], + ['atcacert_5fdef_2ec',['atcacert_def.c',['../a00152.html',1,'']]], + ['atcacert_5fdef_2eh',['atcacert_def.h',['../a00155.html',1,'']]], + ['atcacert_5fdef_5fs',['atcacert_def_s',['../a00978.html',1,'']]], + ['atcacert_5fdef_5ft',['atcacert_def_t',['../a00909.html#gae9e78b17340263e97844ccaf72ca16ac',1,'atcacert_def.h']]], + ['atcacert_5fder_2ec',['atcacert_der.c',['../a00158.html',1,'']]], + ['atcacert_5fder_2eh',['atcacert_der.h',['../a00161.html',1,'']]], + ['atcacert_5fder_5fadjust_5flength',['atcacert_der_adjust_length',['../a00909.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c'],['../a00909.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5fecdsa_5fsig_5fvalue',['atcacert_der_dec_ecdsa_sig_value',['../a00909.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c'],['../a00909.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5finteger',['atcacert_der_dec_integer',['../a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c'],['../a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5flength',['atcacert_der_dec_length',['../a00909.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c'],['../a00909.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5fecdsa_5fsig_5fvalue',['atcacert_der_enc_ecdsa_sig_value',['../a00909.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c'],['../a00909.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5finteger',['atcacert_der_enc_integer',['../a00909.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c'],['../a00909.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5flength',['atcacert_der_enc_length',['../a00909.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c'],['../a00909.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c']]], + ['atcacert_5fdevice_5floc_5fs',['atcacert_device_loc_s',['../a00966.html',1,'']]], + ['atcacert_5fdevice_5floc_5ft',['atcacert_device_loc_t',['../a00909.html#ga0fb6e40d2f1496215af2f9ae23c861a0',1,'atcacert_def.h']]], + ['atcacert_5fdevice_5fzone_5fe',['atcacert_device_zone_e',['../a00909.html#ga1c0876228cb459f64347a63f3bae4c73',1,'atcacert_def.h']]], + ['atcacert_5fdevice_5fzone_5ft',['atcacert_device_zone_t',['../a00909.html#ga294899ca77a6801288e1ccb148de1f8b',1,'atcacert_def.h']]], + ['atcacert_5fe_5fbad_5fcert',['ATCACERT_E_BAD_CERT',['../a00909.html#ga822ee0620c8d2d12ff971b9b35f9f5cd',1,'atcacert.h']]], + ['atcacert_5fe_5fbad_5fparams',['ATCACERT_E_BAD_PARAMS',['../a00909.html#ga47509d283523ab1892fb8746d6f4e37d',1,'atcacert.h']]], + ['atcacert_5fe_5fbuffer_5ftoo_5fsmall',['ATCACERT_E_BUFFER_TOO_SMALL',['../a00909.html#ga7a2e774fc8b12c4045dea335a86afca6',1,'atcacert.h']]], + ['atcacert_5fe_5fdecoding_5ferror',['ATCACERT_E_DECODING_ERROR',['../a00909.html#gaea155533fdd352d6602d3e2fc717930f',1,'atcacert.h']]], + ['atcacert_5fe_5felem_5fmissing',['ATCACERT_E_ELEM_MISSING',['../a00909.html#ga8e3e7c64650c92364bbac17f6a75474a',1,'atcacert.h']]], + ['atcacert_5fe_5felem_5fout_5fof_5fbounds',['ATCACERT_E_ELEM_OUT_OF_BOUNDS',['../a00909.html#ga62604c78d688530173e203b02df180fa',1,'atcacert.h']]], + ['atcacert_5fe_5ferror',['ATCACERT_E_ERROR',['../a00909.html#ga048a6bb9781dbbc402409a172f976f74',1,'atcacert.h']]], + ['atcacert_5fe_5finvalid_5fdate',['ATCACERT_E_INVALID_DATE',['../a00909.html#gaafd66d6744314225ead24b3901bd6372',1,'atcacert.h']]], + ['atcacert_5fe_5fsuccess',['ATCACERT_E_SUCCESS',['../a00909.html#ga7bd1ad830360fc8b988f855da6d0d5ba',1,'atcacert.h']]], + ['atcacert_5fe_5funexpected_5felem_5fsize',['ATCACERT_E_UNEXPECTED_ELEM_SIZE',['../a00909.html#ga5a7cb98e18ad338f2eaf6594acb67c32',1,'atcacert.h']]], + ['atcacert_5fe_5funimplemented',['ATCACERT_E_UNIMPLEMENTED',['../a00909.html#ga4b6db1523875a2b1453ef5e16989ecd4',1,'atcacert.h']]], + ['atcacert_5fe_5fverify_5ffailed',['ATCACERT_E_VERIFY_FAILED',['../a00909.html#gae1da5e02cd9b4ee7b8617d7bce0a5b5d',1,'atcacert.h']]], + ['atcacert_5fe_5fwrong_5fcert_5fdef',['ATCACERT_E_WRONG_CERT_DEF',['../a00909.html#ga01010ef58d52a05292f6a70ff3d53ce8',1,'atcacert.h']]], + ['atcacert_5fencode_5fpem',['atcacert_encode_pem',['../a00176.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c'],['../a00179.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c']]], + ['atcacert_5fencode_5fpem_5fcert',['atcacert_encode_pem_cert',['../a00176.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c'],['../a00179.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c']]], + ['atcacert_5fencode_5fpem_5fcsr',['atcacert_encode_pem_csr',['../a00176.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c'],['../a00179.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c']]], + ['atcacert_5fgen_5fcert_5fsn',['atcacert_gen_cert_sn',['../a00909.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c'],['../a00909.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c']]], + ['atcacert_5fgen_5fchallenge_5fhw',['atcacert_gen_challenge_hw',['../a00909.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c'],['../a00909.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c']]], + ['atcacert_5fgen_5fchallenge_5fsw',['atcacert_gen_challenge_sw',['../a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c'],['../a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c']]], + ['atcacert_5fget_5fauth_5fkey_5fid',['atcacert_get_auth_key_id',['../a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c'],['../a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fcert_5felement',['atcacert_get_cert_element',['../a00909.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c'],['../a00909.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c']]], + ['atcacert_5fget_5fcert_5fsn',['atcacert_get_cert_sn',['../a00909.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c'],['../a00909.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c']]], + ['atcacert_5fget_5fcomp_5fcert',['atcacert_get_comp_cert',['../a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c'],['../a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c']]], + ['atcacert_5fget_5fdevice_5fdata',['atcacert_get_device_data',['../a00909.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c'],['../a00909.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c']]], + ['atcacert_5fget_5fdevice_5flocs',['atcacert_get_device_locs',['../a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c'],['../a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c']]], + ['atcacert_5fget_5fexpire_5fdate',['atcacert_get_expire_date',['../a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fget_5fissue_5fdate',['atcacert_get_issue_date',['../a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fget_5fkey_5fid',['atcacert_get_key_id',['../a00909.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c'],['../a00909.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fresponse',['atcacert_get_response',['../a00909.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c'],['../a00909.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c']]], + ['atcacert_5fget_5fsignature',['atcacert_get_signature',['../a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c'],['../a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c']]], + ['atcacert_5fget_5fsigner_5fid',['atcacert_get_signer_id',['../a00909.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c'],['../a00909.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c']]], + ['atcacert_5fget_5fsubj_5fkey_5fid',['atcacert_get_subj_key_id',['../a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c'],['../a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fsubj_5fpublic_5fkey',['atcacert_get_subj_public_key',['../a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c'],['../a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c']]], + ['atcacert_5fget_5ftbs',['atcacert_get_tbs',['../a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c'],['../a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c']]], + ['atcacert_5fget_5ftbs_5fdigest',['atcacert_get_tbs_digest',['../a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c'],['../a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c']]], + ['atcacert_5fhost_5fhw_2ec',['atcacert_host_hw.c',['../a00164.html',1,'']]], + ['atcacert_5fhost_5fhw_2eh',['atcacert_host_hw.h',['../a00167.html',1,'']]], + ['atcacert_5fhost_5fsw_2ec',['atcacert_host_sw.c',['../a00170.html',1,'']]], + ['atcacert_5fhost_5fsw_2eh',['atcacert_host_sw.h',['../a00173.html',1,'']]], + ['atcacert_5fis_5fdevice_5floc_5foverlap',['atcacert_is_device_loc_overlap',['../a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c'],['../a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c']]], + ['atcacert_5fmax',['ATCACERT_MAX',['../a00152.html#a3619112000a52adc0d060cf5ab29212e',1,'atcacert_def.c']]], + ['atcacert_5fmerge_5fdevice_5floc',['atcacert_merge_device_loc',['../a00909.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c'],['../a00909.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c']]], + ['atcacert_5fmin',['ATCACERT_MIN',['../a00152.html#a52393fe9fec6f6b0da20dcfd5a6bc25f',1,'atcacert_def.c']]], + ['atcacert_5fpem_2ec',['atcacert_pem.c',['../a00176.html',1,'']]], + ['atcacert_5fpem_2eh',['atcacert_pem.h',['../a00179.html',1,'']]], + ['atcacert_5fpublic_5fkey_5fadd_5fpadding',['atcacert_public_key_add_padding',['../a00909.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c'],['../a00909.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c']]], + ['atcacert_5fpublic_5fkey_5fremove_5fpadding',['atcacert_public_key_remove_padding',['../a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c'],['../a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c']]], + ['atcacert_5fread_5fcert',['atcacert_read_cert',['../a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c'],['../a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c']]], + ['atcacert_5fset_5fauth_5fkey_5fid',['atcacert_set_auth_key_id',['../a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c'],['../a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c']]], + ['atcacert_5fset_5fauth_5fkey_5fid_5fraw',['atcacert_set_auth_key_id_raw',['../a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c'],['../a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c']]], + ['atcacert_5fset_5fcert_5felement',['atcacert_set_cert_element',['../a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c'],['../a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c']]], + ['atcacert_5fset_5fcert_5fsn',['atcacert_set_cert_sn',['../a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c'],['../a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c']]], + ['atcacert_5fset_5fcomp_5fcert',['atcacert_set_comp_cert',['../a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c'],['../a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c']]], + ['atcacert_5fset_5fexpire_5fdate',['atcacert_set_expire_date',['../a00909.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fset_5fissue_5fdate',['atcacert_set_issue_date',['../a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fset_5fsignature',['atcacert_set_signature',['../a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c'],['../a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c']]], + ['atcacert_5fset_5fsigner_5fid',['atcacert_set_signer_id',['../a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c'],['../a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c']]], + ['atcacert_5fset_5fsubj_5fpublic_5fkey',['atcacert_set_subj_public_key',['../a00909.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c'],['../a00909.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c']]], + ['atcacert_5fstd_5fcert_5felement_5fe',['atcacert_std_cert_element_e',['../a00909.html#ga77184d0c71198b489ea9b57d07da824e',1,'atcacert_def.h']]], + ['atcacert_5fstd_5fcert_5felement_5ft',['atcacert_std_cert_element_t',['../a00909.html#ga4889317187186736e62beb7538b870b2',1,'atcacert_def.h']]], + ['atcacert_5ftm_5futc_5fs',['atcacert_tm_utc_s',['../a00962.html',1,'']]], + ['atcacert_5ftm_5futc_5ft',['atcacert_tm_utc_t',['../a00909.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121',1,'atcacert_date.h']]], + ['atcacert_5fverify_5fcert_5fhw',['atcacert_verify_cert_hw',['../a00909.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c'],['../a00909.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c']]], + ['atcacert_5fverify_5fcert_5fsw',['atcacert_verify_cert_sw',['../a00909.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c'],['../a00909.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c']]], + ['atcacert_5fverify_5fresponse_5fhw',['atcacert_verify_response_hw',['../a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c'],['../a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c']]], + ['atcacert_5fverify_5fresponse_5fsw',['atcacert_verify_response_sw',['../a00909.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c'],['../a00909.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c']]], + ['atcacert_5fwrite_5fcert',['atcacert_write_cert',['../a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c'],['../a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c']]], + ['atcacommand',['ATCACommand',['../a00906.html#gaebeafc249bfe2b00b6809d5c328841d9',1,'atca_command.h']]], + ['atcacustom',['atcacustom',['../a00930.html#abd8750afb7cb6d240c858a382a210fa7',1,'ATCAIfaceCfg']]], + ['atcadevice',['ATCADevice',['../a00907.html#gaa94f7bb4af0a3d6735225cc85d92cb50',1,'atca_device.h']]], + ['atcadevicetype',['ATCADeviceType',['../a00907.html#gafb234ccd6a80d09c0efbe336c2354267',1,'atca_devtypes.h']]], + ['atcah_5fcheck_5fmac',['atcah_check_mac',['../a00913.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c'],['../a00913.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c']]], + ['atcah_5fconfig_5fto_5fsign_5finternal',['atcah_config_to_sign_internal',['../a00913.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c'],['../a00913.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c']]], + ['atcah_5fdecrypt',['atcah_decrypt',['../a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c'],['../a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c']]], + ['atcah_5fderive_5fkey',['atcah_derive_key',['../a00913.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c'],['../a00913.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c']]], + ['atcah_5fderive_5fkey_5fmac',['atcah_derive_key_mac',['../a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c'],['../a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c']]], + ['atcah_5fencode_5fcounter_5fmatch',['atcah_encode_counter_match',['../a00913.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter_value, uint8_t *counter_match_value): atca_host.c'],['../a00913.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match): atca_host.c']]], + ['atcah_5fgen_5fdig',['atcah_gen_dig',['../a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c'],['../a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c']]], + ['atcah_5fgen_5fkey_5fmsg',['atcah_gen_key_msg',['../a00913.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c'],['../a00913.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c']]], + ['atcah_5fgen_5fmac',['atcah_gen_mac',['../a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c'],['../a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c']]], + ['atcah_5fhmac',['atcah_hmac',['../a00913.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c'],['../a00913.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c']]], + ['atcah_5finclude_5fdata',['atcah_include_data',['../a00913.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c'],['../a00913.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c']]], + ['atcah_5fio_5fdecrypt',['atcah_io_decrypt',['../a00913.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c'],['../a00913.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c']]], + ['atcah_5fmac',['atcah_mac',['../a00913.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c'],['../a00913.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c']]], + ['atcah_5fnonce',['atcah_nonce',['../a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c'],['../a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c']]], + ['atcah_5fprivwrite_5fauth_5fmac',['atcah_privwrite_auth_mac',['../a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], + ['atcah_5fsecureboot_5fenc',['atcah_secureboot_enc',['../a00913.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c'],['../a00913.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c']]], + ['atcah_5fsecureboot_5fmac',['atcah_secureboot_mac',['../a00913.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c'],['../a00913.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c']]], + ['atcah_5fsha256',['atcah_sha256',['../a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c'],['../a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c']]], + ['atcah_5fsign_5finternal_5fmsg',['atcah_sign_internal_msg',['../a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c'],['../a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c']]], + ['atcah_5fverify_5fmac',['atcah_verify_mac',['../a00913.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c'],['../a00913.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c']]], + ['atcah_5fwrite_5fauth_5fmac',['atcah_write_auth_mac',['../a00913.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a00913.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], + ['atcahal_5ft',['ATCAHAL_t',['../a01026.html',1,'']]], + ['atcahid',['atcahid',['../a01030.html',1,'atcahid'],['../a00930.html#aa757f95b731b8dfdd4ce785e26944728',1,'ATCAIfaceCfg::atcahid()']]], + ['atcahid_5ft',['atcahid_t',['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_all_platforms_kit_hidapi.h'],['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_linux_kit_hid.h'],['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_win_kit_hid.h']]], + ['atcai2c',['atcai2c',['../a00930.html#a88f8040c47fc046b2198a26f4ed3faf0',1,'ATCAIfaceCfg']]], + ['atcai2cmaster',['atcaI2Cmaster',['../a01034.html',1,'']]], + ['atcai2cmaster_5ft',['ATCAI2CMaster_t',['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_at90usb1287_i2c_asf.h'],['../a00353.html#ae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_esp32_i2c.c'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_bitbang.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_start.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_linux_i2c_userspace.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mx695f512h_i2c.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mz2048efm_i2c.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_sam4s_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samb11_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samd21_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samg55_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samv71_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_xmega_a3bu_i2c_asf.h']]], + ['atcaiface',['ATCAIface',['../a00908.html#ga75c11126f3fe81df3d6c27f5bb393303',1,'atca_iface.h']]], + ['atcaifacecfg',['ATCAIfaceCfg',['../a00930.html',1,'']]], + ['atcaifacetype',['ATCAIfaceType',['../a00908.html#gac7f674d4a0afb12d2f3c9c5e98cb1089',1,'atca_iface.h']]], + ['atcalccrc',['atCalcCrc',['../a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *packet): atca_command.c'],['../a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *pkt): atca_command.c']]], + ['atcapacket',['ATCAPacket',['../a00922.html',1,'']]], + ['atcaswi',['atcaswi',['../a00930.html#a9670d2ececfd8d536f8e6b629ab7b1ed',1,'ATCAIfaceCfg']]], + ['atcaswimaster',['atcaSWImaster',['../a01054.html',1,'']]], + ['atcaswimaster_5ft',['ATCASWIMaster_t',['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): hal_swi_bitbang.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_at90usb1287_asf.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_samd21_asf.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_start.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_xmega_a3bu_asf.h']]], + ['atcauart',['atcauart',['../a00930.html#a0b39f87d1a01274c9da57768841683c3',1,'ATCAIfaceCfg']]], + ['atcheckcrc',['atCheckCrc',['../a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c'],['../a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c']]], + ['atcheckmac',['atCheckMAC',['../a00906.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atcounter',['atCounter',['../a00906.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atcrc',['atCRC',['../a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c'],['../a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c']]], + ['atderivekey',['atDeriveKey',['../a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], + ['atecc108a',['ATECC108A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c',1,'atca_devtypes.h']]], + ['atecc508a',['ATECC508A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae',1,'atca_devtypes.h']]], + ['atecc608a',['ATECC608A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf',1,'atca_devtypes.h']]], + ['atecdh',['atECDH',['../a00906.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atgendig',['atGenDig',['../a00906.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c'],['../a00906.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c']]], + ['atgenkey',['atGenKey',['../a00906.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atgetcommands',['atGetCommands',['../a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e',1,'atca_device.c']]], + ['atgetiface',['atGetIFace',['../a00907.html#ga3f98e29cffa06446fc91b329703606af',1,'atca_device.c']]], + ['atgetifacecfg',['atgetifacecfg',['../a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e',1,'atca_iface.c']]], + ['atgetifacehaldat',['atgetifacehaldat',['../a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0',1,'atca_iface.c']]], + ['athmac',['atHMAC',['../a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atidle',['atidle',['../a00958.html#af98425da891944b45d56cebd93b131f6',1,'atca_iface::atidle()'],['../a00908.html#gac794fffe040e6d47a34c756720f3cbea',1,'atidle(): atca_iface.c']]], + ['atinfo',['atInfo',['../a00906.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atinit',['atinit',['../a00958.html#a43753a99c2b46caab2ae85d0504f1f84',1,'atca_iface::atinit()'],['../a00908.html#ga386353e8700eec35e4548dfa29f13b8d',1,'atinit(): atca_iface.c']]], + ['atiseccfamily',['atIsECCFamily',['../a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c']]], + ['atisshafamily',['atIsSHAFamily',['../a00906.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c']]], + ['atkdf',['atKDF',['../a00906.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atlock',['atLock',['../a00906.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atmac',['atMAC',['../a00906.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atnonce',['atNonce',['../a00906.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atpause',['atPause',['../a00906.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atpostinit',['atpostinit',['../a00958.html#a0dd463e6dbb6121768480ab7b42ba604',1,'atca_iface::atpostinit()'],['../a00908.html#ga6a9d6c47d866cba4ddd4ee6e671743d5',1,'atpostinit(): atca_iface.h']]], + ['atprivwrite',['atPrivWrite',['../a00906.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atrandom',['atRandom',['../a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atread',['atRead',['../a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atreceive',['atreceive',['../a00958.html#a7ebe5db4da26f30972448931b7500546',1,'atca_iface::atreceive()'],['../a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb',1,'atreceive(): atca_iface.c']]], + ['atsecureboot',['atSecureBoot',['../a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atselftest',['atSelfTest',['../a00906.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atsend',['atsend',['../a00958.html#a343ec53c611863bf30624e5775782ab5',1,'atca_iface::atsend()'],['../a00908.html#ga29c6f441d31c84629954d50cc95d3c5d',1,'atsend(): atca_iface.c']]], + ['atsha',['atSHA',['../a00906.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c'],['../a00906.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c']]], + ['atsha204a',['ATSHA204A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268',1,'atca_devtypes.h']]], + ['atsign',['atSign',['../a00906.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atsleep',['atsleep',['../a00958.html#ae643f9f7998343cc33822de00192626b',1,'atca_iface::atsleep()'],['../a00908.html#gac06336335e5f3191e3b1fc06d2830d96',1,'atsleep(): atca_iface.c']]], + ['atupdateextra',['atUpdateExtra',['../a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atverify',['atVerify',['../a00906.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atwake',['atwake',['../a00958.html#a6cb270146e07d7c258bca835fda84be5',1,'atca_iface::atwake()'],['../a00908.html#ga32693c852341e1b946bab3cca5f71761',1,'atwake(): atca_iface.c']]], + ['atwrite',['atWrite',['../a00906.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a00906.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], + ['auth_5fmac',['auth_mac',['../a01106.html#a9f11512564ff4aeaf5f9d0646d971ed2',1,'atca_write_mac_in_out']]], + ['atcacommand_20_28atca_5f_29',['ATCACommand (atca_)',['../a00906.html',1,'']]], + ['atcadevice_20_28atca_5f_29',['ATCADevice (atca_)',['../a00907.html',1,'']]], + ['atcaiface_20_28atca_5f_29',['ATCAIface (atca_)',['../a00908.html',1,'']]], + ['app_20directory_20_2d_20purpose',['app directory - Purpose',['../a01156.html',1,'']]], + ['readme_2emd',['README.md',['../a01167.html',1,'(Global Namespace)'],['../a01170.html',1,'(Global Namespace)']]] ]; diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js index f9e7beee7..4f531b659 100644 --- a/docs/html/search/all_10.js +++ b/docs/html/search/all_10.js @@ -1,38 +1,40 @@ var searchData= [ - ['p_5ftemp',['p_temp',['../a03538.html#gad87f95f0faf0c6fdfe94040efcb14860',1,'atca_include_data_in_out']]], - ['packetsize',['packetsize',['../a03555.html#aba242bb3690d4d5a7de01474f94cb4ab',1,'ATCAIfaceCfg']]], - ['packhex',['packHex',['../a03535.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c'],['../a03535.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c']]], - ['pad',['pad',['../a03631.html#a06a3e722d630d33450465af7c41fa708',1,'atcac_sha1_ctx::pad()'],['../a03635.html#a517ae98c637466c44dc7e26a3abccf02',1,'atcac_sha2_256_ctx::pad()']]], - ['param1',['param1',['../a03547.html#aec4226da1b99c821237b6805c4e31333',1,'ATCAPacket']]], - ['param2',['param2',['../a03547.html#a16a7565b150a9c17a39c80fc932b9514',1,'ATCAPacket::param2()'],['../a03711.html#a16a7565b150a9c17a39c80fc932b9514',1,'atca_secureboot_mac_in_out::param2()']]], - ['parent_5fkey',['parent_key',['../a03731.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_in_out::parent_key()'],['../a03735.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_mac_in_out::parent_key()']]], - ['parity',['parity',['../a03555.html#aa0e72b59c63431c62f5b5eba36a65d17',1,'ATCAIfaceCfg']]], - ['pause_5fcount',['PAUSE_COUNT',['../a03531.html#gaa914251d0e03f7d1850ee04296715f14',1,'atca_command.h']]], - ['pause_5fparam2_5fidx',['PAUSE_PARAM2_IDX',['../a03531.html#gad74ed86697c0977d4e0a2451068b7131',1,'atca_command.h']]], - ['pause_5frsp_5fsize',['PAUSE_RSP_SIZE',['../a03531.html#ga5859f9a2eb99b4636c894705047e9344',1,'atca_command.h']]], - ['pause_5fselect_5fidx',['PAUSE_SELECT_IDX',['../a03531.html#ga49f538b630cc416a8ad1f6d784e3a1e4',1,'atca_command.h']]], - ['pem_5fcert_5fbegin',['PEM_CERT_BEGIN',['../a00173.html#aefb573f85f8692759f6c82587a948d71',1,'atcacert_pem.h']]], - ['pem_5fcert_5fend',['PEM_CERT_END',['../a00173.html#afbe03d95d1d6a651c01d1ef74daa4063',1,'atcacert_pem.h']]], - ['pem_5fcsr_5fbegin',['PEM_CSR_BEGIN',['../a00173.html#a006df03d5e86c2d586f02362ca66566e',1,'atcacert_pem.h']]], - ['pem_5fcsr_5fend',['PEM_CSR_END',['../a00173.html#ad7521d8913a097b0a910d00fdb664210',1,'atcacert_pem.h']]], - ['pid',['pid',['../a03555.html#aec32162d9dc3fde2c76d766af522dae5',1,'ATCAIfaceCfg']]], - ['pin_5fconf',['pin_conf',['../a03537.html#gaab85cb460831e8b7e4d3a5315b31c596',1,'swi_uart_samd21_asf.c']]], - ['pin_5fscl',['pin_scl',['../a03655.html#a01c1392fd38975adfd6c1c7849b3fa50',1,'atcaI2Cmaster::pin_scl()'],['../a03679.html#acddd0c9305a0f679828010052db4f184',1,'I2CBuses::pin_scl()'],['../a00476.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c'],['../a00479.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c']]], - ['pin_5fsda',['pin_sda',['../a03655.html#ada591700ce06dd3a6bb9722a6eba38c4',1,'atcaI2Cmaster::pin_sda()'],['../a03675.html#afd6d53ef6b697533839248b40bc97861',1,'atcaSWImaster::pin_sda()'],['../a03679.html#a396018ddf66ce0e1263ed2b4729dc9b9',1,'I2CBuses::pin_sda()'],['../a03683.html#a7d0970077e95bd9d8ed8aac6b3e115ee',1,'SWIBuses::pin_sda()'],['../a00476.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c'],['../a00479.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c']]], - ['port',['port',['../a03555.html#a63c89c04d1feae07ca35558055155ffb',1,'ATCAIfaceCfg']]], - ['print',['PRINT',['../a00299.html#a41aa74b584c0a5946789bc6eded1e460',1,'cryptoauthlib.h']]], - ['private_5fkey_5fslot',['private_key_slot',['../a03603.html#a641e13598992fc536e70b55cc8ee2ea5',1,'atcacert_def_s']]], - ['privwrite_5fcount',['PRIVWRITE_COUNT',['../a03531.html#ga17980d6743441fa2afd71523006ae058',1,'atca_command.h']]], - ['privwrite_5fkeyid_5fidx',['PRIVWRITE_KEYID_IDX',['../a03531.html#ga4aa5b68bbd7847f53444608615653832',1,'atca_command.h']]], - ['privwrite_5fmac_5fidx',['PRIVWRITE_MAC_IDX',['../a03531.html#ga20afccf35c609f05a3d7dc70687baa2e',1,'atca_command.h']]], - ['privwrite_5fmode_5fencrypt',['PRIVWRITE_MODE_ENCRYPT',['../a03531.html#gafa24177621a8a2fbe041ef0ce73a414d',1,'atca_command.h']]], - ['privwrite_5frsp_5fsize',['PRIVWRITE_RSP_SIZE',['../a03531.html#gaa66ad8429261c1ba13d064d660d6d464',1,'atca_command.h']]], - ['privwrite_5fvalue_5fidx',['PRIVWRITE_VALUE_IDX',['../a03531.html#gab65b17098ebc6027a9240ca84c07ab5c',1,'atca_command.h']]], - ['privwrite_5fzone_5fidx',['PRIVWRITE_ZONE_IDX',['../a03531.html#ga376a70cf087e157cbb914d9ca2e5b989',1,'atca_command.h']]], - ['privwrite_5fzone_5fmask',['PRIVWRITE_ZONE_MASK',['../a03531.html#gaba7cf525ec69429e947f294361e1cdab',1,'atca_command.h']]], - ['public_5fkey',['public_key',['../a03538.html#gacea547aa606ca17f8da337a1b58972a1',1,'atca_verify_in_out::public_key()'],['../a03751.html#a122aff75e4ff5cd19542117ba3fdb855',1,'atca_gen_key_in_out::public_key()']]], - ['public_5fkey_5fdev_5floc',['public_key_dev_loc',['../a03603.html#accd31930a2e1ff0b8122cbaa202127d3',1,'atcacert_def_s']]], - ['public_5fkey_5fsize',['public_key_size',['../a03751.html#aeaa21ee86ed67c665d190be7d12293c7',1,'atca_gen_key_in_out']]], - ['punitive',['PUNITIVE',['../a00533.html#ae35656295ea76cd15f566ddf5c9781a3',1,'license.txt']]] + ['p_5ftemp',['p_temp',['../a00913.html#gad87f95f0faf0c6fdfe94040efcb14860',1,'atca_include_data_in_out']]], + ['packetsize',['packetsize',['../a00930.html#aba242bb3690d4d5a7de01474f94cb4ab',1,'ATCAIfaceCfg']]], + ['packhex',['packHex',['../a00910.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c'],['../a00910.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c']]], + ['pad',['pad',['../a01010.html#a06a3e722d630d33450465af7c41fa708',1,'atcac_sha1_ctx::pad()'],['../a01014.html#a517ae98c637466c44dc7e26a3abccf02',1,'atcac_sha2_256_ctx::pad()']]], + ['param1',['param1',['../a00922.html#aec4226da1b99c821237b6805c4e31333',1,'ATCAPacket']]], + ['param2',['param2',['../a00922.html#a16a7565b150a9c17a39c80fc932b9514',1,'ATCAPacket::param2()'],['../a01090.html#a16a7565b150a9c17a39c80fc932b9514',1,'atca_secureboot_mac_in_out::param2()']]], + ['parent_5fkey',['parent_key',['../a01110.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_in_out::parent_key()'],['../a01114.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_mac_in_out::parent_key()']]], + ['parity',['parity',['../a00930.html#aa0e72b59c63431c62f5b5eba36a65d17',1,'ATCAIfaceCfg']]], + ['partial_5faad',['partial_aad',['../a01002.html#ac2b7024847bacd5b8ccc5e2c910e8ee2',1,'atca_aes_gcm_ctx']]], + ['partial_5faad_5fsize',['partial_aad_size',['../a01002.html#ad5160410fcca9e4ab8e9b2479bbd8110',1,'atca_aes_gcm_ctx']]], + ['pause_5fcount',['PAUSE_COUNT',['../a00906.html#gaa914251d0e03f7d1850ee04296715f14',1,'atca_command.h']]], + ['pause_5fparam2_5fidx',['PAUSE_PARAM2_IDX',['../a00906.html#gad74ed86697c0977d4e0a2451068b7131',1,'atca_command.h']]], + ['pause_5frsp_5fsize',['PAUSE_RSP_SIZE',['../a00906.html#ga5859f9a2eb99b4636c894705047e9344',1,'atca_command.h']]], + ['pause_5fselect_5fidx',['PAUSE_SELECT_IDX',['../a00906.html#ga49f538b630cc416a8ad1f6d784e3a1e4',1,'atca_command.h']]], + ['pem_5fcert_5fbegin',['PEM_CERT_BEGIN',['../a00179.html#aefb573f85f8692759f6c82587a948d71',1,'atcacert_pem.h']]], + ['pem_5fcert_5fend',['PEM_CERT_END',['../a00179.html#afbe03d95d1d6a651c01d1ef74daa4063',1,'atcacert_pem.h']]], + ['pem_5fcsr_5fbegin',['PEM_CSR_BEGIN',['../a00179.html#a006df03d5e86c2d586f02362ca66566e',1,'atcacert_pem.h']]], + ['pem_5fcsr_5fend',['PEM_CSR_END',['../a00179.html#ad7521d8913a097b0a910d00fdb664210',1,'atcacert_pem.h']]], + ['pid',['pid',['../a00930.html#aec32162d9dc3fde2c76d766af522dae5',1,'ATCAIfaceCfg']]], + ['pin_5fconf',['pin_conf',['../a00912.html#gaab85cb460831e8b7e4d3a5315b31c596',1,'swi_uart_samd21_asf.c']]], + ['pin_5fscl',['pin_scl',['../a01034.html#a01c1392fd38975adfd6c1c7849b3fa50',1,'atcaI2Cmaster::pin_scl()'],['../a01058.html#acddd0c9305a0f679828010052db4f184',1,'I2CBuses::pin_scl()'],['../a00497.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c'],['../a00500.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c']]], + ['pin_5fsda',['pin_sda',['../a01034.html#ada591700ce06dd3a6bb9722a6eba38c4',1,'atcaI2Cmaster::pin_sda()'],['../a01054.html#afd6d53ef6b697533839248b40bc97861',1,'atcaSWImaster::pin_sda()'],['../a01058.html#a396018ddf66ce0e1263ed2b4729dc9b9',1,'I2CBuses::pin_sda()'],['../a01062.html#a7d0970077e95bd9d8ed8aac6b3e115ee',1,'SWIBuses::pin_sda()'],['../a00497.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c'],['../a00500.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c']]], + ['port',['port',['../a00930.html#a63c89c04d1feae07ca35558055155ffb',1,'ATCAIfaceCfg']]], + ['print',['PRINT',['../a00320.html#a41aa74b584c0a5946789bc6eded1e460',1,'cryptoauthlib.h']]], + ['private_5fkey_5fslot',['private_key_slot',['../a00978.html#a641e13598992fc536e70b55cc8ee2ea5',1,'atcacert_def_s']]], + ['privwrite_5fcount',['PRIVWRITE_COUNT',['../a00906.html#ga17980d6743441fa2afd71523006ae058',1,'atca_command.h']]], + ['privwrite_5fkeyid_5fidx',['PRIVWRITE_KEYID_IDX',['../a00906.html#ga4aa5b68bbd7847f53444608615653832',1,'atca_command.h']]], + ['privwrite_5fmac_5fidx',['PRIVWRITE_MAC_IDX',['../a00906.html#ga20afccf35c609f05a3d7dc70687baa2e',1,'atca_command.h']]], + ['privwrite_5fmode_5fencrypt',['PRIVWRITE_MODE_ENCRYPT',['../a00906.html#gafa24177621a8a2fbe041ef0ce73a414d',1,'atca_command.h']]], + ['privwrite_5frsp_5fsize',['PRIVWRITE_RSP_SIZE',['../a00906.html#gaa66ad8429261c1ba13d064d660d6d464',1,'atca_command.h']]], + ['privwrite_5fvalue_5fidx',['PRIVWRITE_VALUE_IDX',['../a00906.html#gab65b17098ebc6027a9240ca84c07ab5c',1,'atca_command.h']]], + ['privwrite_5fzone_5fidx',['PRIVWRITE_ZONE_IDX',['../a00906.html#ga376a70cf087e157cbb914d9ca2e5b989',1,'atca_command.h']]], + ['privwrite_5fzone_5fmask',['PRIVWRITE_ZONE_MASK',['../a00906.html#gaba7cf525ec69429e947f294361e1cdab',1,'atca_command.h']]], + ['public_5fkey',['public_key',['../a00913.html#gacea547aa606ca17f8da337a1b58972a1',1,'atca_verify_in_out::public_key()'],['../a01130.html#a122aff75e4ff5cd19542117ba3fdb855',1,'atca_gen_key_in_out::public_key()']]], + ['public_5fkey_5fdev_5floc',['public_key_dev_loc',['../a00978.html#accd31930a2e1ff0b8122cbaa202127d3',1,'atcacert_def_s']]], + ['public_5fkey_5fsize',['public_key_size',['../a01130.html#aeaa21ee86ed67c665d190be7d12293c7',1,'atca_gen_key_in_out']]], + ['punitive',['PUNITIVE',['../a00554.html#ae35656295ea76cd15f566ddf5c9781a3',1,'license.txt']]] ]; diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js index 86b12be89..8ab1d48b1 100644 --- a/docs/html/search/all_11.js +++ b/docs/html/search/all_11.js @@ -1,32 +1,32 @@ var searchData= [ - ['rand_5fout',['rand_out',['../a03538.html#ga75f7197e2840bcf9fe00722e739fdd9c',1,'atca_nonce_in_out']]], - ['random_5fcount',['RANDOM_COUNT',['../a03531.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0',1,'atca_command.h']]], - ['random_5fmode_5fidx',['RANDOM_MODE_IDX',['../a03531.html#gac846e3f7c924497d70254125dae38dce',1,'atca_command.h']]], - ['random_5fno_5fseed_5fupdate',['RANDOM_NO_SEED_UPDATE',['../a03531.html#ga444d3fe4302ca95080d919dc89b1bc52',1,'atca_command.h']]], - ['random_5fnum_5fsize',['RANDOM_NUM_SIZE',['../a03531.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab',1,'atca_command.h']]], - ['random_5fparam2_5fidx',['RANDOM_PARAM2_IDX',['../a03531.html#ga3f54bd6d53a687ae3660196497e8faa1',1,'atca_command.h']]], - ['random_5frsp_5fsize',['RANDOM_RSP_SIZE',['../a03531.html#gaeb7623b070997b65f0bb108abf8e5f44',1,'atca_command.h']]], - ['random_5fseed_5fupdate',['RANDOM_SEED_UPDATE',['../a03531.html#gaf12673d4006ff926c863b2d0f9038561',1,'atca_command.h']]], - ['read_5f32_5frsp_5fsize',['READ_32_RSP_SIZE',['../a03531.html#gad79706b7b1e6c0e0d29afe692d8d5c06',1,'atca_command.h']]], - ['read_5f4_5frsp_5fsize',['READ_4_RSP_SIZE',['../a03531.html#ga041cfaec382d0a67dcfe36d43332da48',1,'atca_command.h']]], - ['read_5faddr_5fidx',['READ_ADDR_IDX',['../a03531.html#gaf9f464ac4065aff75f5967933725d665',1,'atca_command.h']]], - ['read_5fbufhandle',['read_bufHandle',['../a00383.html#a3c3865b22f268d57e9be16e72d6036d1',1,'hal_pic32mz2048efm_i2c.c']]], - ['read_5fcount',['READ_COUNT',['../a03531.html#gad222baf9301d2d35a5c928a0d91c4335',1,'atca_command.h']]], - ['read_5fhandle',['read_handle',['../a03659.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'cdc_device::read_handle()'],['../a03667.html#a72bac4e370ad82aef68188c521d2020d',1,'hid_device::read_handle()'],['../a03667.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'hid_device::read_handle()']]], - ['read_5fzone_5fidx',['READ_ZONE_IDX',['../a03531.html#gae273cfc99b8538b3c81ba8240a6ff425',1,'atca_command.h']]], - ['read_5fzone_5fmask',['READ_ZONE_MASK',['../a03531.html#gacf9c81ae1249f3c174ec75cf65517176',1,'atca_command.h']]], + ['rand_5fout',['rand_out',['../a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c',1,'atca_nonce_in_out']]], + ['random_5fcount',['RANDOM_COUNT',['../a00906.html#gae91d272f84bc3ad357ff6ed2e9c9a6b0',1,'atca_command.h']]], + ['random_5fmode_5fidx',['RANDOM_MODE_IDX',['../a00906.html#gac846e3f7c924497d70254125dae38dce',1,'atca_command.h']]], + ['random_5fno_5fseed_5fupdate',['RANDOM_NO_SEED_UPDATE',['../a00906.html#ga444d3fe4302ca95080d919dc89b1bc52',1,'atca_command.h']]], + ['random_5fnum_5fsize',['RANDOM_NUM_SIZE',['../a00906.html#ga2197c0ad6c0fbf1c801228de9bf0d2ab',1,'atca_command.h']]], + ['random_5fparam2_5fidx',['RANDOM_PARAM2_IDX',['../a00906.html#ga3f54bd6d53a687ae3660196497e8faa1',1,'atca_command.h']]], + ['random_5frsp_5fsize',['RANDOM_RSP_SIZE',['../a00906.html#gaeb7623b070997b65f0bb108abf8e5f44',1,'atca_command.h']]], + ['random_5fseed_5fupdate',['RANDOM_SEED_UPDATE',['../a00906.html#gaf12673d4006ff926c863b2d0f9038561',1,'atca_command.h']]], + ['read_5f32_5frsp_5fsize',['READ_32_RSP_SIZE',['../a00906.html#gad79706b7b1e6c0e0d29afe692d8d5c06',1,'atca_command.h']]], + ['read_5f4_5frsp_5fsize',['READ_4_RSP_SIZE',['../a00906.html#ga041cfaec382d0a67dcfe36d43332da48',1,'atca_command.h']]], + ['read_5faddr_5fidx',['READ_ADDR_IDX',['../a00906.html#gaf9f464ac4065aff75f5967933725d665',1,'atca_command.h']]], + ['read_5fbufhandle',['read_bufHandle',['../a00404.html#a3c3865b22f268d57e9be16e72d6036d1',1,'hal_pic32mz2048efm_i2c.c']]], + ['read_5fcount',['READ_COUNT',['../a00906.html#gad222baf9301d2d35a5c928a0d91c4335',1,'atca_command.h']]], + ['read_5fhandle',['read_handle',['../a01038.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'cdc_device::read_handle()'],['../a01046.html#a72bac4e370ad82aef68188c521d2020d',1,'hid_device::read_handle()'],['../a01046.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'hid_device::read_handle()']]], + ['read_5fzone_5fidx',['READ_ZONE_IDX',['../a00906.html#gae273cfc99b8538b3c81ba8240a6ff425',1,'atca_command.h']]], + ['read_5fzone_5fmask',['READ_ZONE_MASK',['../a00906.html#gacf9c81ae1249f3c174ec75cf65517176',1,'atca_command.h']]], ['readme_2emd',['README.md',['../a00008.html',1,'']]], - ['receive_5fmode',['RECEIVE_MODE',['../a03537.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_at90usb1287_asf.h'],['../a03537.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_samd21_asf.h'],['../a03537.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_start.h'],['../a03537.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_xmega_a3bu_asf.h']]], - ['ref_5fct',['ref_ct',['../a03655.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaI2Cmaster::ref_ct()'],['../a03675.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaSWImaster::ref_ct()']]], - ['releaseatcadevice',['releaseATCADevice',['../a03532.html#gab729e6c838c0a247d4f226fb92492d96',1,'atca_device.c']]], - ['releaseatcaiface',['releaseATCAIface',['../a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3',1,'atca_iface.c']]], - ['reserved',['reserved',['../a03771.html#a01b0fa1db9552c97809fd700aaf9464c',1,'memory_parameters']]], - ['response',['response',['../a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_mac_in_out::response()'],['../a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_hmac_in_out::response()']]], - ['return',['RETURN',['../a00299.html#a20a55a7bc081de346786a88d3e278952',1,'cryptoauthlib.h']]], - ['rotate_5fright',['rotate_right',['../a00293.html#af34345520fa258a6a313f03c36c93fbd',1,'sha2_routines.c']]], - ['rsa2048_5fkey_5fsize',['RSA2048_KEY_SIZE',['../a03531.html#gaeb3783d1cdf4f9c1217d030bc0386fad',1,'atca_command.h']]], - ['rx_5fdelay',['RX_DELAY',['../a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_at90usb1287_asf.h'],['../a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_samd21_asf.h'],['../a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_start.h'],['../a03537.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_xmega_a3bu_asf.h']]], - ['rx_5fretries',['rx_retries',['../a03555.html#aa9ce255f8b9bff64fe261235f9e70c03',1,'ATCAIfaceCfg']]], - ['rx_5ftx_5fdelay',['RX_TX_DELAY',['../a00494.html#a60ba93807a2c0ea2ce1432245f3f7da0',1,'swi_bitbang_samd21.h']]] + ['receive_5fmode',['RECEIVE_MODE',['../a00912.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_at90usb1287_asf.h'],['../a00912.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_samd21_asf.h'],['../a00912.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_start.h'],['../a00912.html#gab45577245cf4a8ead70e2d56965f2df3',1,'RECEIVE_MODE(): swi_uart_xmega_a3bu_asf.h']]], + ['ref_5fct',['ref_ct',['../a01034.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaI2Cmaster::ref_ct()'],['../a01054.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaSWImaster::ref_ct()']]], + ['releaseatcadevice',['releaseATCADevice',['../a00907.html#gab729e6c838c0a247d4f226fb92492d96',1,'atca_device.c']]], + ['releaseatcaiface',['releaseATCAIface',['../a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3',1,'atca_iface.c']]], + ['reserved',['reserved',['../a01150.html#a01b0fa1db9552c97809fd700aaf9464c',1,'memory_parameters']]], + ['response',['response',['../a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_mac_in_out::response()'],['../a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_hmac_in_out::response()']]], + ['return',['RETURN',['../a00320.html#a20a55a7bc081de346786a88d3e278952',1,'cryptoauthlib.h']]], + ['rotate_5fright',['rotate_right',['../a00314.html#af34345520fa258a6a313f03c36c93fbd',1,'sha2_routines.c']]], + ['rsa2048_5fkey_5fsize',['RSA2048_KEY_SIZE',['../a00906.html#gaeb3783d1cdf4f9c1217d030bc0386fad',1,'atca_command.h']]], + ['rx_5fdelay',['RX_DELAY',['../a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_at90usb1287_asf.h'],['../a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_samd21_asf.h'],['../a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_start.h'],['../a00912.html#gac55a27e4c3eae59bb1687eb7e8d1fe4b',1,'RX_DELAY(): swi_uart_xmega_a3bu_asf.h']]], + ['rx_5fretries',['rx_retries',['../a00930.html#aa9ce255f8b9bff64fe261235f9e70c03',1,'ATCAIfaceCfg']]], + ['rx_5ftx_5fdelay',['RX_TX_DELAY',['../a00515.html#a60ba93807a2c0ea2ce1432245f3f7da0',1,'swi_bitbang_samd21.h']]] ]; diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js index e03d99cf5..fa6395ece 100644 --- a/docs/html/search/all_12.js +++ b/docs/html/search/all_12.js @@ -1,185 +1,188 @@ var searchData= [ - ['software_20crypto_20methods_20_28atcac_5f_29',['Software crypto methods (atcac_)',['../a03536.html',1,'']]], - ['s_5fsha_5fcontext',['s_sha_context',['../a03767.html#af9fb5ef2eb0843381351919dc0f7cafd',1,'secure_boot_parameters']]], - ['scl_5fpin',['SCL_PIN',['../a00332.html#a06c967e78bcedcee909a70764f879433',1,'hal_esp32_i2c.c']]], - ['sda_5fpin',['SDA_PIN',['../a00332.html#a526d580d324bce60a3e964066fae77e3',1,'hal_esp32_i2c.c']]], - ['secure_5fboot_2ec',['secure_boot.c',['../a00020.html',1,'']]], - ['secure_5fboot_2eh',['secure_boot.h',['../a00023.html',1,'']]], - ['secure_5fboot_5fcheck_5ffull_5fcopy_5fcompletion',['secure_boot_check_full_copy_completion',['../a00026.html#a6378e763208c43ba1fbcadd8bc8a084c',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fconfig',['secure_boot_config',['../a03711.html#a6abd57960eb27eecadcf1163a1441fb1',1,'atca_secureboot_mac_in_out']]], - ['secure_5fboot_5fconfig_5fbits',['secure_boot_config_bits',['../a03763.html',1,'']]], - ['secure_5fboot_5fconfig_5fdisable',['SECURE_BOOT_CONFIG_DISABLE',['../a00023.html#abda1d3106b26d6e32fddd71223ecb491',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fboth',['SECURE_BOOT_CONFIG_FULL_BOTH',['../a00023.html#a5aae2464eb2bb84cec34bfd422697a27',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fdig',['SECURE_BOOT_CONFIG_FULL_DIG',['../a00023.html#a61ab82e3ca8c3f985cfc8b1a06daaced',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fsign',['SECURE_BOOT_CONFIG_FULL_SIGN',['../a00023.html#a3eef897b793c9ff7430c09d88bd8bac0',1,'secure_boot.h']]], - ['secure_5fboot_5fconfiguration',['SECURE_BOOT_CONFIGURATION',['../a00023.html#a93cbf6aee50e7449217cf18f2ebfc690',1,'secure_boot.h']]], - ['secure_5fboot_5fdeinit_5fmemory',['secure_boot_deinit_memory',['../a00026.html#abf726b809a542bc68519520b61b755a3',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fdigest_5fencrypt_5fenabled',['SECURE_BOOT_DIGEST_ENCRYPT_ENABLED',['../a00023.html#aad47571829afb2de827111c11df184de',1,'secure_boot.h']]], - ['secure_5fboot_5fhandler',['secure_boot_handler',['../a00023.html#a77b52436dd62634e2ee7aed31be5f681',1,'secure_boot.h']]], - ['secure_5fboot_5finit_5fmemory',['secure_boot_init_memory',['../a00026.html#ad744cc79ced98d366fed07780032bc47',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fmark_5ffull_5fcopy_5fcompletion',['secure_boot_mark_full_copy_completion',['../a00026.html#aa635e6de2a04772df6edfdc1973236b9',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fmemory_2eh',['secure_boot_memory.h',['../a00026.html',1,'']]], - ['secure_5fboot_5fmode',['secure_boot_mode',['../a03763.html#a159545ee58a6feff4210207e945ed8a6',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fparameters',['secure_boot_parameters',['../a03767.html',1,'']]], - ['secure_5fboot_5fpersistent_5fenable',['secure_boot_persistent_enable',['../a03763.html#a29997e53feca6ea2ceb53bd12ccb7397',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fprocess',['secure_boot_process',['../a00020.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c'],['../a00023.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c']]], - ['secure_5fboot_5fpub_5fkey',['secure_boot_pub_key',['../a03763.html#a0d4d608806c7df6022d7e08df3ead4f3',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fpublic_5fkey_5fslot',['SECURE_BOOT_PUBLIC_KEY_SLOT',['../a00014.html#a0bb2754dfd3576e2db410a717cfefc98',1,'crypto_device_app.h']]], - ['secure_5fboot_5frand_5fnonce',['secure_boot_rand_nonce',['../a03763.html#af0322cbed208460dead1ab2aaf42f35e',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fread_5fmemory',['secure_boot_read_memory',['../a00026.html#a25b3c765095b474bc2b93f87d96f7b28',1,'secure_boot_memory.h']]], - ['secure_5fboot_5freserved1',['secure_boot_reserved1',['../a03763.html#aef6eee6b683ef0108fca05b531719f86',1,'secure_boot_config_bits']]], - ['secure_5fboot_5freserved2',['secure_boot_reserved2',['../a03763.html#ad94b92f8d5650653e8b6d7d3c9e50ba4',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fsig_5fdig',['secure_boot_sig_dig',['../a03763.html#a454c1e8a0b9b0c4b56aa415ad1856889',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fsign_5fdigest_5fslot',['SECURE_BOOT_SIGN_DIGEST_SLOT',['../a00014.html#ad3e25c542063abb044288e338e0df87a',1,'crypto_device_app.h']]], - ['secure_5fboot_5fupgrade_5fsupport',['SECURE_BOOT_UPGRADE_SUPPORT',['../a00023.html#a07cf8cf7a12bb9592fff7a31a369c1a5',1,'secure_boot.h']]], - ['secure_5fboot_5fwrite_5fmemory',['secure_boot_write_memory',['../a00026.html#a00a29e86e9ab8b9d74b95e194a1b08f2',1,'secure_boot_memory.h']]], - ['secureboot_5fcount_5fdig',['SECUREBOOT_COUNT_DIG',['../a03531.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e',1,'atca_command.h']]], - ['secureboot_5fcount_5fdig_5fsig',['SECUREBOOT_COUNT_DIG_SIG',['../a03531.html#gabd28a29107703b43a734301acf491f5c',1,'atca_command.h']]], - ['secureboot_5fdigest_5fsize',['SECUREBOOT_DIGEST_SIZE',['../a03531.html#ga9257968de99742ec468463a72588820f',1,'atca_command.h']]], - ['secureboot_5fmac_5fsize',['SECUREBOOT_MAC_SIZE',['../a03531.html#gaed2edebc2be522d7bb38f85d273406f9',1,'atca_command.h']]], - ['secureboot_5fmode_5fenc_5fmac_5fflag',['SECUREBOOT_MODE_ENC_MAC_FLAG',['../a03531.html#gabf2bad62bab02224f51d67f6725575a4',1,'atca_command.h']]], - ['secureboot_5fmode_5ffull',['SECUREBOOT_MODE_FULL',['../a03531.html#ga122f4b7b9f1011c04385a7caccc2d536',1,'atca_command.h']]], - ['secureboot_5fmode_5ffull_5fcopy',['SECUREBOOT_MODE_FULL_COPY',['../a03531.html#ga3d287922c127b599204ea3bc64d4a825',1,'atca_command.h']]], - ['secureboot_5fmode_5ffull_5fstore',['SECUREBOOT_MODE_FULL_STORE',['../a03531.html#ga2aac76b15694b82fda038e127d152297',1,'atca_command.h']]], - ['secureboot_5fmode_5fidx',['SECUREBOOT_MODE_IDX',['../a03531.html#ga7ff1918de6f8238ba4f67d9368e3587d',1,'atca_command.h']]], - ['secureboot_5fmode_5fmask',['SECUREBOOT_MODE_MASK',['../a03531.html#gaac36b471fe92c252dd02a9d1cc2c65e2',1,'atca_command.h']]], - ['secureboot_5fmode_5fprohibit_5fflag',['SECUREBOOT_MODE_PROHIBIT_FLAG',['../a03531.html#ga2d04ced68d56c0db40b93b767de02089',1,'atca_command.h']]], - ['secureboot_5frsp_5fsize_5fmac',['SECUREBOOT_RSP_SIZE_MAC',['../a03531.html#ga3db7049de685080f046f0b4221de461b',1,'atca_command.h']]], - ['secureboot_5frsp_5fsize_5fno_5fmac',['SECUREBOOT_RSP_SIZE_NO_MAC',['../a03531.html#gab4657866a69a00b9b3bfa4df51521fa6',1,'atca_command.h']]], - ['secureboot_5fsignature_5fsize',['SECUREBOOT_SIGNATURE_SIZE',['../a03531.html#ga51bd4fe709f11b3b50f47c2fb18976ca',1,'atca_command.h']]], - ['securebootconfig_5fmode_5fdisabled',['SECUREBOOTCONFIG_MODE_DISABLED',['../a03531.html#ga76bf5d4ce89c95c658328fe8e66669e7',1,'atca_command.h']]], - ['securebootconfig_5fmode_5ffull_5fboth',['SECUREBOOTCONFIG_MODE_FULL_BOTH',['../a03531.html#ga2b86bf6731827368bf66eec960c35a32',1,'atca_command.h']]], - ['securebootconfig_5fmode_5ffull_5fdig',['SECUREBOOTCONFIG_MODE_FULL_DIG',['../a03531.html#ga9b7c3aca6168b52321e1951893efa050',1,'atca_command.h']]], - ['securebootconfig_5fmode_5ffull_5fsig',['SECUREBOOTCONFIG_MODE_FULL_SIG',['../a03531.html#ga43bb6027c548274980a3ba42bdef51c9',1,'atca_command.h']]], - ['securebootconfig_5fmode_5fmask',['SECUREBOOTCONFIG_MODE_MASK',['../a03531.html#ga0c9c951895abf02992e41c617702c2ea',1,'atca_command.h']]], - ['securebootconfig_5foffset',['SECUREBOOTCONFIG_OFFSET',['../a03531.html#gad10e2a3c801be9002d53af14357dbe9f',1,'atca_command.h']]], - ['selftest_5fcount',['SELFTEST_COUNT',['../a03531.html#ga2aba96712a9932d61146c43289e9d808',1,'atca_command.h']]], - ['selftest_5fmode_5faes',['SELFTEST_MODE_AES',['../a03531.html#ga91ebd87544ccdab3670cfbec8d23bd4a',1,'atca_command.h']]], - ['selftest_5fmode_5fall',['SELFTEST_MODE_ALL',['../a03531.html#ga1ef61cb184d3ff5ef2f8bf9db6521888',1,'atca_command.h']]], - ['selftest_5fmode_5fecdh',['SELFTEST_MODE_ECDH',['../a03531.html#ga01d7437a14fd35ccc926168fb4ca2ca7',1,'atca_command.h']]], - ['selftest_5fmode_5fecdsa_5fsign_5fverify',['SELFTEST_MODE_ECDSA_SIGN_VERIFY',['../a03531.html#gafbd09beedecedcf316a6c02e40d1e712',1,'atca_command.h']]], - ['selftest_5fmode_5fidx',['SELFTEST_MODE_IDX',['../a03531.html#gaa16bfad9cb883d258befaacadb3385ef',1,'atca_command.h']]], - ['selftest_5fmode_5frng',['SELFTEST_MODE_RNG',['../a03531.html#gacd9a7a2257f664a4f9f674d37eb95bef',1,'atca_command.h']]], - ['selftest_5fmode_5fsha',['SELFTEST_MODE_SHA',['../a03531.html#gafab9546447cf1e0020c32d298a1d897f',1,'atca_command.h']]], - ['selftest_5frsp_5fsize',['SELFTEST_RSP_SIZE',['../a03531.html#ga7599639f80f3ac2a0d22f2857138cb87',1,'atca_command.h']]], - ['sercom_5fcore_5ffreq',['sercom_core_freq',['../a03655.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaI2Cmaster::sercom_core_freq()'],['../a03675.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaSWImaster::sercom_core_freq()']]], - ['sha1_5froutines_2ec',['sha1_routines.c',['../a00287.html',1,'']]], - ['sha1_5froutines_2eh',['sha1_routines.h',['../a00290.html',1,'']]], - ['sha256_5fblock_5fsize',['SHA256_BLOCK_SIZE',['../a00296.html#a9c1fe69ad43d4ca74b84303a0ed64f2f',1,'sha2_routines.h']]], - ['sha256_5fdigest_5fsize',['SHA256_DIGEST_SIZE',['../a00296.html#a81efbc0fc101b06a914f7ff9e2fbc0e9',1,'sha2_routines.h']]], - ['sha2_5froutines_2ec',['sha2_routines.c',['../a00293.html',1,'']]], - ['sha2_5froutines_2eh',['sha2_routines.h',['../a00296.html',1,'']]], - ['sha_5fcontext_5fmax_5fsize',['SHA_CONTEXT_MAX_SIZE',['../a03531.html#ga3d37a5da1c43d44e49c4e6614d133c7e',1,'atca_command.h']]], - ['sha_5fcount_5flong',['SHA_COUNT_LONG',['../a03531.html#gada37181a648dd51b374eec1cbb4bbaa3',1,'atca_command.h']]], - ['sha_5fcount_5fshort',['SHA_COUNT_SHORT',['../a03531.html#ga49e390c29b6fc05df227604c169b86b0',1,'atca_command.h']]], - ['sha_5fdata_5fmax',['SHA_DATA_MAX',['../a03531.html#gad89ca95de067d12cd2f35a60b0e997b1',1,'atca_command.h']]], - ['sha_5fmode_5f608_5fhmac_5fend',['SHA_MODE_608_HMAC_END',['../a03531.html#ga625604e07a0618bd7d514faee5e42fba',1,'atca_command.h']]], - ['sha_5fmode_5fhmac_5fend',['SHA_MODE_HMAC_END',['../a03531.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d',1,'atca_command.h']]], - ['sha_5fmode_5fhmac_5fstart',['SHA_MODE_HMAC_START',['../a03531.html#gabbfeec0d0247336b8c6e993d4db17d11',1,'atca_command.h']]], - ['sha_5fmode_5fhmac_5fupdate',['SHA_MODE_HMAC_UPDATE',['../a03531.html#ga2071156124a692a5f2a5c764c923f731',1,'atca_command.h']]], - ['sha_5fmode_5fmask',['SHA_MODE_MASK',['../a03531.html#ga612cbf6171e9a0a176e0bd2844f49528',1,'atca_command.h']]], - ['sha_5fmode_5fread_5fcontext',['SHA_MODE_READ_CONTEXT',['../a03531.html#gac7e5a54695b8bd9e5087ebb94df70b39',1,'atca_command.h']]], - ['sha_5fmode_5fsha256_5fend',['SHA_MODE_SHA256_END',['../a03531.html#ga0e98e55c91c7559f57fdef4c9969c188',1,'atca_command.h']]], - ['sha_5fmode_5fsha256_5fpublic',['SHA_MODE_SHA256_PUBLIC',['../a03531.html#ga0f2fc749d3d196477b22cbceee856dfb',1,'atca_command.h']]], - ['sha_5fmode_5fsha256_5fstart',['SHA_MODE_SHA256_START',['../a03531.html#gad42195362cd7dca0acabc8739c9a6fc4',1,'atca_command.h']]], - ['sha_5fmode_5fsha256_5fupdate',['SHA_MODE_SHA256_UPDATE',['../a03531.html#ga05ece414a0596ec9bb75c0ca8ca731dc',1,'atca_command.h']]], - ['sha_5fmode_5ftarget_5fmask',['SHA_MODE_TARGET_MASK',['../a03531.html#ga70f88a123587c96ad7affc1e5dae9002',1,'atca_command.h']]], - ['sha_5fmode_5ftarget_5fmsgdigbuf',['SHA_MODE_TARGET_MSGDIGBUF',['../a03531.html#gae559b402c678cc51f8252b927b8781e5',1,'atca_command.h']]], - ['sha_5fmode_5ftarget_5fout_5fonly',['SHA_MODE_TARGET_OUT_ONLY',['../a03531.html#gae0df4b9151bb3d807bc1c532036c6d88',1,'atca_command.h']]], - ['sha_5fmode_5ftarget_5ftempkey',['SHA_MODE_TARGET_TEMPKEY',['../a03531.html#ga850ec56b408fccccaea5826d452c3a64',1,'atca_command.h']]], - ['sha_5fmode_5fwrite_5fcontext',['SHA_MODE_WRITE_CONTEXT',['../a03531.html#ga7b7c499931480a88f6a106644c3d2185',1,'atca_command.h']]], - ['sha_5frsp_5fsize',['SHA_RSP_SIZE',['../a03531.html#ga8a5a586bdb0194be827417658836bf9c',1,'atca_command.h']]], - ['sha_5frsp_5fsize_5flong',['SHA_RSP_SIZE_LONG',['../a03531.html#gae5ad3c81d0b62f4b86a4a0dc84a79134',1,'atca_command.h']]], - ['sha_5frsp_5fsize_5fshort',['SHA_RSP_SIZE_SHORT',['../a03531.html#ga74490b179b34f9925e9fe00675e53713',1,'atca_command.h']]], - ['shaengine',['shaEngine',['../a00287.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c'],['../a00290.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c']]], - ['sign_5fcount',['SIGN_COUNT',['../a00101.html#aabff3f5b7f5391c27a0329ff0c997264',1,'atca_command.h']]], - ['sign_5fkeyid_5fidx',['SIGN_KEYID_IDX',['../a00101.html#a02f20fbee84fe680d94b94a2b2828040',1,'atca_command.h']]], - ['sign_5fmode_5fexternal',['SIGN_MODE_EXTERNAL',['../a00101.html#a9b6844bb107f02832a6d827b8c5b0fda',1,'atca_command.h']]], - ['sign_5fmode_5fidx',['SIGN_MODE_IDX',['../a00101.html#ae7cfb9eb789137f5ea9195a7a4f6b11e',1,'atca_command.h']]], - ['sign_5fmode_5finclude_5fsn',['SIGN_MODE_INCLUDE_SN',['../a00101.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116',1,'atca_command.h']]], - ['sign_5fmode_5finternal',['SIGN_MODE_INTERNAL',['../a00101.html#aced5221c0f15440eb52fa9f460956443',1,'atca_command.h']]], - ['sign_5fmode_5finvalidate',['SIGN_MODE_INVALIDATE',['../a00101.html#a1acc7b9af9cf3c6c556bd910ce4f239b',1,'atca_command.h']]], - ['sign_5fmode_5fmask',['SIGN_MODE_MASK',['../a00101.html#a88cc1851cedb6f2a73df4618dbc0b165',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5fmask',['SIGN_MODE_SOURCE_MASK',['../a00101.html#a35246a9bad0d77d26b59b542928c9e34',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5fmsgdigbuf',['SIGN_MODE_SOURCE_MSGDIGBUF',['../a00101.html#a1a38e9575eb4f714377889ce5270e60b',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5ftempkey',['SIGN_MODE_SOURCE_TEMPKEY',['../a00101.html#a73670681360e1272aa13d1359e7bb275',1,'atca_command.h']]], - ['sign_5frsp_5fsize',['SIGN_RSP_SIZE',['../a00101.html#a66dba5e06f73c5df37c9d18409185f4d',1,'atca_command.h']]], - ['signature',['signature',['../a03703.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_verify_mac::signature()'],['../a03711.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_secureboot_mac_in_out::signature()'],['../a03538.html#gac97246a9059d3f687edfcbe5abfc5d8f',1,'atca_verify_in_out::signature()'],['../a03771.html#a4f871aacf3b86f107114a6ca1f19a13a',1,'memory_parameters::signature()']]], - ['slave_5faddress',['slave_address',['../a03555.html#ac93868aeda435dfb685a0a0020e5c7a4',1,'ATCAIfaceCfg']]], - ['slot',['slot',['../a03591.html#ad23984515efd99983fa4baf3754082a1',1,'atcacert_device_loc_s']]], - ['slot_5fconfig',['slot_config',['../a03755.html#a547704fabd162cdaa3d5ce84a111a3fc',1,'atca_sign_internal_in_out']]], - ['slot_5fkey',['slot_key',['../a03743.html#aa23b467edf1809a2a8b1b530a0159c45',1,'atca_check_mac_in_out']]], - ['sn',['sn',['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_include_data_in_out::sn()'],['../a03703.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_verify_mac::sn()'],['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_mac_in_out::sn()'],['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_hmac_in_out::sn()'],['../a03723.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_dig_in_out::sn()'],['../a03727.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_write_mac_in_out::sn()'],['../a03731.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_in_out::sn()'],['../a03735.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_mac_in_out::sn()'],['../a03743.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_check_mac_in_out::sn()'],['../a03751.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_key_in_out::sn()'],['../a03755.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_sign_internal_in_out::sn()']]], - ['sn_5fsource',['sn_source',['../a03603.html#af44c31e823af19e6efe6b418a13fafe3',1,'atcacert_def_s']]], - ['snsrc_5fdevice_5fsn',['SNSRC_DEVICE_SN',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash',['SNSRC_DEVICE_SN_HASH',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash_5fpos',['SNSRC_DEVICE_SN_HASH_POS',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash_5fraw',['SNSRC_DEVICE_SN_HASH_RAW',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash',['SNSRC_PUB_KEY_HASH',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash_5fpos',['SNSRC_PUB_KEY_HASH_POS',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash_5fraw',['SNSRC_PUB_KEY_HASH_RAW',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972',1,'atcacert_def.h']]], - ['snsrc_5fsigner_5fid',['SNSRC_SIGNER_ID',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff',1,'atcacert_def.h']]], - ['snsrc_5fstored',['SNSRC_STORED',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1',1,'atcacert_def.h']]], - ['snsrc_5fstored_5fdynamic',['SNSRC_STORED_DYNAMIC',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b',1,'atcacert_def.h']]], - ['software',['SOFTWARE',['../a00533.html#a0b42d98385899be4ab4f4ac101712a83',1,'SOFTWARE(): license.txt'],['../a00533.html#a0261086a97cfe9d7e9535905e5bae13d',1,'software(including open source software) that may accompany Microchip software. THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES: license.txt']]], - ['source_5fflag',['source_flag',['../a03687.html#a2ffc3c1a03eda290c709dc78b7e8b51e',1,'atca_temp_key']]], - ['special',['SPECIAL',['../a00533.html#a752275406812c1aa8c22e53696b48c57',1,'license.txt']]], - ['speed',['speed',['../a03537.html#ga218b4f7c6cc2681a99c23a3b089d68b1',1,'hal_linux_kit_cdc.c']]], - ['start_5faddress',['start_address',['../a03771.html#abe5b74a6bf41557a5ae72460fa563219',1,'memory_parameters']]], - ['start_5fpulse_5ftime_5fout',['START_PULSE_TIME_OUT',['../a00494.html#ab10604796b42fb6b8eed23fc88ebd47f',1,'swi_bitbang_samd21.h']]], - ['statutory',['STATUTORY',['../a00533.html#a5ca3438f18c3bf2d2c1790995d290399',1,'license.txt']]], - ['std_5fcert_5felements',['std_cert_elements',['../a03603.html#a7e2ecd6c0b4cef9637e3b281d29200ce',1,'atcacert_def_s']]], - ['stdcert_5fauth_5fkey_5fid',['STDCERT_AUTH_KEY_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106',1,'atcacert_def.h']]], - ['stdcert_5fcert_5fsn',['STDCERT_CERT_SN',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc',1,'atcacert_def.h']]], - ['stdcert_5fexpire_5fdate',['STDCERT_EXPIRE_DATE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604',1,'atcacert_def.h']]], - ['stdcert_5fissue_5fdate',['STDCERT_ISSUE_DATE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15',1,'atcacert_def.h']]], - ['stdcert_5fnum_5felements',['STDCERT_NUM_ELEMENTS',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f',1,'atcacert_def.h']]], - ['stdcert_5fpublic_5fkey',['STDCERT_PUBLIC_KEY',['../a03534.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68',1,'atcacert_def.h']]], - ['stdcert_5fsignature',['STDCERT_SIGNATURE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc',1,'atcacert_def.h']]], - ['stdcert_5fsigner_5fid',['STDCERT_SIGNER_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3',1,'atcacert_def.h']]], - ['stdcert_5fsubj_5fkey_5fid',['STDCERT_SUBJ_KEY_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585',1,'atcacert_def.h']]], - ['stopbits',['stopbits',['../a03555.html#a9de35842403baab5738ea16162012d4f',1,'ATCAIfaceCfg']]], - ['stored_5fvalue',['stored_value',['../a03723.html#a7871fda0cd5698905bc3aa8fe8a99808',1,'atca_gen_dig_in_out']]], - ['strcpy_5fp',['strcpy_P',['../a00290.html#a3541bc4d0b928b2faa9ca63a100d1b75',1,'sha1_routines.h']]], - ['strnchr',['strnchr',['../a03537.html#ga1473b18d902ce22c6b22d04ff5a7ef02',1,'kit_protocol.c']]], - ['sw_5fsha256',['sw_sha256',['../a00293.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00296.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], - ['sw_5fsha256_5fctx',['sw_sha256_ctx',['../a03643.html',1,'']]], - ['sw_5fsha256_5ffinal',['sw_sha256_final',['../a00293.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00296.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], - ['sw_5fsha256_5finit',['sw_sha256_init',['../a00293.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c'],['../a00296.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c']]], - ['sw_5fsha256_5fupdate',['sw_sha256_update',['../a00293.html#a4d0c952ebe691b3337205829dc352e6e',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size): sha2_routines.c'],['../a00296.html#a7f5d8ad85631d77bfdb10dfb728bfbce',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len): sha2_routines.c']]], - ['swi_5fbitbang_5fsamd21_2ec',['swi_bitbang_samd21.c',['../a00491.html',1,'']]], - ['swi_5fbitbang_5fsamd21_2eh',['swi_bitbang_samd21.h',['../a00494.html',1,'']]], - ['swi_5fbuses_5fdefault',['swi_buses_default',['../a00491.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c'],['../a00494.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c']]], - ['swi_5fdisable',['swi_disable',['../a00491.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c'],['../a00494.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c']]], - ['swi_5fenable',['swi_enable',['../a00491.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c'],['../a00494.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c']]], - ['swi_5fflag',['swi_flag',['../a03537.html#ga8759b00e645502d0f1c3b7330e20e52b',1,'hal_swi_bitbang.h']]], - ['swi_5fflag_5fcmd',['SWI_FLAG_CMD',['../a03537.html#ga13c01ac16bb14fde75e9c00dcd1cc761',1,'SWI_FLAG_CMD(): hal_swi_uart.h'],['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340',1,'SWI_FLAG_CMD(): hal_swi_bitbang.h']]], - ['swi_5fflag_5fidle',['SWI_FLAG_IDLE',['../a03537.html#ga6219d68ef915fdcd734f51960ba08fb6',1,'SWI_FLAG_IDLE(): hal_swi_uart.h'],['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a',1,'SWI_FLAG_IDLE(): hal_swi_bitbang.h']]], - ['swi_5fflag_5fsleep',['SWI_FLAG_SLEEP',['../a03537.html#ga13ef2322176ad9b7ba3d2e23b277cce6',1,'SWI_FLAG_SLEEP(): hal_swi_uart.h'],['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7',1,'SWI_FLAG_SLEEP(): hal_swi_bitbang.h']]], - ['swi_5fflag_5ftx',['SWI_FLAG_TX',['../a03537.html#ga20af8352e13a7357650ba1cbf41349ea',1,'SWI_FLAG_TX(): hal_swi_uart.h'],['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f',1,'SWI_FLAG_TX(): hal_swi_bitbang.h']]], - ['swi_5freceive_5fbytes',['swi_receive_bytes',['../a00491.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00494.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fbyte',['swi_send_byte',['../a00491.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c'],['../a00494.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fbytes',['swi_send_bytes',['../a00491.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00494.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fwake_5ftoken',['swi_send_wake_token',['../a00491.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c'],['../a00494.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c']]], - ['swi_5fset_5fpin',['swi_set_pin',['../a00491.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c'],['../a00494.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c']]], - ['swi_5fset_5fsignal_5fpin',['swi_set_signal_pin',['../a00491.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c'],['../a00494.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c']]], - ['swi_5fuart_5fat90usb1287_5fasf_2ec',['swi_uart_at90usb1287_asf.c',['../a00497.html',1,'']]], - ['swi_5fuart_5fat90usb1287_5fasf_2eh',['swi_uart_at90usb1287_asf.h',['../a00500.html',1,'']]], - ['swi_5fuart_5fdeinit',['swi_uart_deinit',['../a03537.html#ga0b1aad3936bf003686d8db7fa2be5132',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fdiscover_5fbuses',['swi_uart_discover_buses',['../a03537.html#gad640b598d581ee7c8a4c804bee602906',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5finit',['swi_uart_init',['../a03537.html#ga003b63648f1a5f9eba274760559688f2',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fmode',['swi_uart_mode',['../a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5freceive_5fbyte',['swi_uart_receive_byte',['../a03537.html#ga93f3dab17c14f71641ca970998ede823',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fsamd21_5fasf_2ec',['swi_uart_samd21_asf.c',['../a00503.html',1,'']]], - ['swi_5fuart_5fsamd21_5fasf_2eh',['swi_uart_samd21_asf.h',['../a00506.html',1,'']]], - ['swi_5fuart_5fsend_5fbyte',['swi_uart_send_byte',['../a03537.html#ga4a4d491006d9683d67838963706ac9c1',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fsetbaud',['swi_uart_setbaud',['../a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fstart_2ec',['swi_uart_start.c',['../a00509.html',1,'']]], - ['swi_5fuart_5fstart_2eh',['swi_uart_start.h',['../a00512.html',1,'']]], - ['swi_5fuart_5fxmega_5fa3bu_5fasf_2ec',['swi_uart_xmega_a3bu_asf.c',['../a00515.html',1,'']]], - ['swi_5fuart_5fxmega_5fa3bu_5fasf_2eh',['swi_uart_xmega_a3bu_asf.h',['../a00518.html',1,'']]], - ['swi_5fwake_5ftoken',['SWI_WAKE_TOKEN',['../a03537.html#ga8f12e3b749e7b3dc905114cc7b8d0b38',1,'hal_swi_uart.h']]], - ['swibuses',['SWIBuses',['../a03683.html',1,'']]], - ['systemd',['systemd',['../a00533.html#ad7d14be55a088137975311629d46fb11',1,'license.txt']]] + ['software_20crypto_20methods_20_28atcac_5f_29',['Software crypto methods (atcac_)',['../a00911.html',1,'']]], + ['s_5fsha_5fcontext',['s_sha_context',['../a01146.html#af9fb5ef2eb0843381351919dc0f7cafd',1,'secure_boot_parameters']]], + ['scl_5fpin',['SCL_PIN',['../a00353.html#a06c967e78bcedcee909a70764f879433',1,'hal_esp32_i2c.c']]], + ['sda_5fpin',['SDA_PIN',['../a00353.html#a526d580d324bce60a3e964066fae77e3',1,'hal_esp32_i2c.c']]], + ['secure_5fboot_2ec',['secure_boot.c',['../a00026.html',1,'']]], + ['secure_5fboot_2eh',['secure_boot.h',['../a00029.html',1,'']]], + ['secure_5fboot_5fcheck_5ffull_5fcopy_5fcompletion',['secure_boot_check_full_copy_completion',['../a00032.html#a6378e763208c43ba1fbcadd8bc8a084c',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fconfig',['secure_boot_config',['../a01090.html#a6abd57960eb27eecadcf1163a1441fb1',1,'atca_secureboot_mac_in_out']]], + ['secure_5fboot_5fconfig_5fbits',['secure_boot_config_bits',['../a01142.html',1,'']]], + ['secure_5fboot_5fconfig_5fdisable',['SECURE_BOOT_CONFIG_DISABLE',['../a00029.html#abda1d3106b26d6e32fddd71223ecb491',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fboth',['SECURE_BOOT_CONFIG_FULL_BOTH',['../a00029.html#a5aae2464eb2bb84cec34bfd422697a27',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fdig',['SECURE_BOOT_CONFIG_FULL_DIG',['../a00029.html#a61ab82e3ca8c3f985cfc8b1a06daaced',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fsign',['SECURE_BOOT_CONFIG_FULL_SIGN',['../a00029.html#a3eef897b793c9ff7430c09d88bd8bac0',1,'secure_boot.h']]], + ['secure_5fboot_5fconfiguration',['SECURE_BOOT_CONFIGURATION',['../a00029.html#a93cbf6aee50e7449217cf18f2ebfc690',1,'secure_boot.h']]], + ['secure_5fboot_5fdeinit_5fmemory',['secure_boot_deinit_memory',['../a00032.html#abf726b809a542bc68519520b61b755a3',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fdigest_5fencrypt_5fenabled',['SECURE_BOOT_DIGEST_ENCRYPT_ENABLED',['../a00029.html#aad47571829afb2de827111c11df184de',1,'secure_boot.h']]], + ['secure_5fboot_5fhandler',['secure_boot_handler',['../a00029.html#a77b52436dd62634e2ee7aed31be5f681',1,'secure_boot.h']]], + ['secure_5fboot_5finit_5fmemory',['secure_boot_init_memory',['../a00032.html#ad744cc79ced98d366fed07780032bc47',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fmark_5ffull_5fcopy_5fcompletion',['secure_boot_mark_full_copy_completion',['../a00032.html#aa635e6de2a04772df6edfdc1973236b9',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fmemory_2eh',['secure_boot_memory.h',['../a00032.html',1,'']]], + ['secure_5fboot_5fmode',['secure_boot_mode',['../a01142.html#a159545ee58a6feff4210207e945ed8a6',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fparameters',['secure_boot_parameters',['../a01146.html',1,'']]], + ['secure_5fboot_5fpersistent_5fenable',['secure_boot_persistent_enable',['../a01142.html#a29997e53feca6ea2ceb53bd12ccb7397',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fprocess',['secure_boot_process',['../a00026.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c'],['../a00029.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c']]], + ['secure_5fboot_5fpub_5fkey',['secure_boot_pub_key',['../a01142.html#a0d4d608806c7df6022d7e08df3ead4f3',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fpublic_5fkey_5fslot',['SECURE_BOOT_PUBLIC_KEY_SLOT',['../a00020.html#a0bb2754dfd3576e2db410a717cfefc98',1,'crypto_device_app.h']]], + ['secure_5fboot_5frand_5fnonce',['secure_boot_rand_nonce',['../a01142.html#af0322cbed208460dead1ab2aaf42f35e',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fread_5fmemory',['secure_boot_read_memory',['../a00032.html#a25b3c765095b474bc2b93f87d96f7b28',1,'secure_boot_memory.h']]], + ['secure_5fboot_5freserved1',['secure_boot_reserved1',['../a01142.html#aef6eee6b683ef0108fca05b531719f86',1,'secure_boot_config_bits']]], + ['secure_5fboot_5freserved2',['secure_boot_reserved2',['../a01142.html#ad94b92f8d5650653e8b6d7d3c9e50ba4',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fsig_5fdig',['secure_boot_sig_dig',['../a01142.html#a454c1e8a0b9b0c4b56aa415ad1856889',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fsign_5fdigest_5fslot',['SECURE_BOOT_SIGN_DIGEST_SLOT',['../a00020.html#ad3e25c542063abb044288e338e0df87a',1,'crypto_device_app.h']]], + ['secure_5fboot_5fupgrade_5fsupport',['SECURE_BOOT_UPGRADE_SUPPORT',['../a00029.html#a07cf8cf7a12bb9592fff7a31a369c1a5',1,'secure_boot.h']]], + ['secure_5fboot_5fwrite_5fmemory',['secure_boot_write_memory',['../a00032.html#a00a29e86e9ab8b9d74b95e194a1b08f2',1,'secure_boot_memory.h']]], + ['secureboot_5fcount_5fdig',['SECUREBOOT_COUNT_DIG',['../a00906.html#ga4d6eb2ea4f3b5be450c0579f75fc7f6e',1,'atca_command.h']]], + ['secureboot_5fcount_5fdig_5fsig',['SECUREBOOT_COUNT_DIG_SIG',['../a00906.html#gabd28a29107703b43a734301acf491f5c',1,'atca_command.h']]], + ['secureboot_5fdigest_5fsize',['SECUREBOOT_DIGEST_SIZE',['../a00906.html#ga9257968de99742ec468463a72588820f',1,'atca_command.h']]], + ['secureboot_5fmac_5fsize',['SECUREBOOT_MAC_SIZE',['../a00906.html#gaed2edebc2be522d7bb38f85d273406f9',1,'atca_command.h']]], + ['secureboot_5fmode_5fenc_5fmac_5fflag',['SECUREBOOT_MODE_ENC_MAC_FLAG',['../a00906.html#gabf2bad62bab02224f51d67f6725575a4',1,'atca_command.h']]], + ['secureboot_5fmode_5ffull',['SECUREBOOT_MODE_FULL',['../a00906.html#ga122f4b7b9f1011c04385a7caccc2d536',1,'atca_command.h']]], + ['secureboot_5fmode_5ffull_5fcopy',['SECUREBOOT_MODE_FULL_COPY',['../a00906.html#ga3d287922c127b599204ea3bc64d4a825',1,'atca_command.h']]], + ['secureboot_5fmode_5ffull_5fstore',['SECUREBOOT_MODE_FULL_STORE',['../a00906.html#ga2aac76b15694b82fda038e127d152297',1,'atca_command.h']]], + ['secureboot_5fmode_5fidx',['SECUREBOOT_MODE_IDX',['../a00906.html#ga7ff1918de6f8238ba4f67d9368e3587d',1,'atca_command.h']]], + ['secureboot_5fmode_5fmask',['SECUREBOOT_MODE_MASK',['../a00906.html#gaac36b471fe92c252dd02a9d1cc2c65e2',1,'atca_command.h']]], + ['secureboot_5fmode_5fprohibit_5fflag',['SECUREBOOT_MODE_PROHIBIT_FLAG',['../a00906.html#ga2d04ced68d56c0db40b93b767de02089',1,'atca_command.h']]], + ['secureboot_5frsp_5fsize_5fmac',['SECUREBOOT_RSP_SIZE_MAC',['../a00906.html#ga3db7049de685080f046f0b4221de461b',1,'atca_command.h']]], + ['secureboot_5frsp_5fsize_5fno_5fmac',['SECUREBOOT_RSP_SIZE_NO_MAC',['../a00906.html#gab4657866a69a00b9b3bfa4df51521fa6',1,'atca_command.h']]], + ['secureboot_5fsignature_5fsize',['SECUREBOOT_SIGNATURE_SIZE',['../a00906.html#ga51bd4fe709f11b3b50f47c2fb18976ca',1,'atca_command.h']]], + ['securebootconfig_5fmode_5fdisabled',['SECUREBOOTCONFIG_MODE_DISABLED',['../a00906.html#ga76bf5d4ce89c95c658328fe8e66669e7',1,'atca_command.h']]], + ['securebootconfig_5fmode_5ffull_5fboth',['SECUREBOOTCONFIG_MODE_FULL_BOTH',['../a00906.html#ga2b86bf6731827368bf66eec960c35a32',1,'atca_command.h']]], + ['securebootconfig_5fmode_5ffull_5fdig',['SECUREBOOTCONFIG_MODE_FULL_DIG',['../a00906.html#ga9b7c3aca6168b52321e1951893efa050',1,'atca_command.h']]], + ['securebootconfig_5fmode_5ffull_5fsig',['SECUREBOOTCONFIG_MODE_FULL_SIG',['../a00906.html#ga43bb6027c548274980a3ba42bdef51c9',1,'atca_command.h']]], + ['securebootconfig_5fmode_5fmask',['SECUREBOOTCONFIG_MODE_MASK',['../a00906.html#ga0c9c951895abf02992e41c617702c2ea',1,'atca_command.h']]], + ['securebootconfig_5foffset',['SECUREBOOTCONFIG_OFFSET',['../a00906.html#gad10e2a3c801be9002d53af14357dbe9f',1,'atca_command.h']]], + ['selftest_5fcount',['SELFTEST_COUNT',['../a00906.html#ga2aba96712a9932d61146c43289e9d808',1,'atca_command.h']]], + ['selftest_5fmode_5faes',['SELFTEST_MODE_AES',['../a00906.html#ga91ebd87544ccdab3670cfbec8d23bd4a',1,'atca_command.h']]], + ['selftest_5fmode_5fall',['SELFTEST_MODE_ALL',['../a00906.html#ga1ef61cb184d3ff5ef2f8bf9db6521888',1,'atca_command.h']]], + ['selftest_5fmode_5fecdh',['SELFTEST_MODE_ECDH',['../a00906.html#ga01d7437a14fd35ccc926168fb4ca2ca7',1,'atca_command.h']]], + ['selftest_5fmode_5fecdsa_5fsign_5fverify',['SELFTEST_MODE_ECDSA_SIGN_VERIFY',['../a00906.html#gafbd09beedecedcf316a6c02e40d1e712',1,'atca_command.h']]], + ['selftest_5fmode_5fidx',['SELFTEST_MODE_IDX',['../a00906.html#gaa16bfad9cb883d258befaacadb3385ef',1,'atca_command.h']]], + ['selftest_5fmode_5frng',['SELFTEST_MODE_RNG',['../a00906.html#gacd9a7a2257f664a4f9f674d37eb95bef',1,'atca_command.h']]], + ['selftest_5fmode_5fsha',['SELFTEST_MODE_SHA',['../a00906.html#gafab9546447cf1e0020c32d298a1d897f',1,'atca_command.h']]], + ['selftest_5frsp_5fsize',['SELFTEST_RSP_SIZE',['../a00906.html#ga7599639f80f3ac2a0d22f2857138cb87',1,'atca_command.h']]], + ['sercom_5fcore_5ffreq',['sercom_core_freq',['../a01034.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaI2Cmaster::sercom_core_freq()'],['../a01054.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaSWImaster::sercom_core_freq()']]], + ['sha1_5froutines_2ec',['sha1_routines.c',['../a00308.html',1,'']]], + ['sha1_5froutines_2eh',['sha1_routines.h',['../a00311.html',1,'']]], + ['sha256_5fblock_5fsize',['SHA256_BLOCK_SIZE',['../a00317.html#a9c1fe69ad43d4ca74b84303a0ed64f2f',1,'sha2_routines.h']]], + ['sha256_5fdigest_5fsize',['SHA256_DIGEST_SIZE',['../a00317.html#a81efbc0fc101b06a914f7ff9e2fbc0e9',1,'sha2_routines.h']]], + ['sha2_5froutines_2ec',['sha2_routines.c',['../a00314.html',1,'']]], + ['sha2_5froutines_2eh',['sha2_routines.h',['../a00317.html',1,'']]], + ['sha_5fcontext_5fmax_5fsize',['SHA_CONTEXT_MAX_SIZE',['../a00906.html#ga3d37a5da1c43d44e49c4e6614d133c7e',1,'atca_command.h']]], + ['sha_5fcount_5flong',['SHA_COUNT_LONG',['../a00906.html#gada37181a648dd51b374eec1cbb4bbaa3',1,'atca_command.h']]], + ['sha_5fcount_5fshort',['SHA_COUNT_SHORT',['../a00906.html#ga49e390c29b6fc05df227604c169b86b0',1,'atca_command.h']]], + ['sha_5fdata_5fmax',['SHA_DATA_MAX',['../a00906.html#gad89ca95de067d12cd2f35a60b0e997b1',1,'atca_command.h']]], + ['sha_5fmode_5f608_5fhmac_5fend',['SHA_MODE_608_HMAC_END',['../a00906.html#ga625604e07a0618bd7d514faee5e42fba',1,'atca_command.h']]], + ['sha_5fmode_5fhmac_5fend',['SHA_MODE_HMAC_END',['../a00906.html#gaeb307ed9134e0fa2f0fcbdaf7b01515d',1,'atca_command.h']]], + ['sha_5fmode_5fhmac_5fstart',['SHA_MODE_HMAC_START',['../a00906.html#gabbfeec0d0247336b8c6e993d4db17d11',1,'atca_command.h']]], + ['sha_5fmode_5fhmac_5fupdate',['SHA_MODE_HMAC_UPDATE',['../a00906.html#ga2071156124a692a5f2a5c764c923f731',1,'atca_command.h']]], + ['sha_5fmode_5fmask',['SHA_MODE_MASK',['../a00906.html#ga612cbf6171e9a0a176e0bd2844f49528',1,'atca_command.h']]], + ['sha_5fmode_5fread_5fcontext',['SHA_MODE_READ_CONTEXT',['../a00906.html#gac7e5a54695b8bd9e5087ebb94df70b39',1,'atca_command.h']]], + ['sha_5fmode_5fsha256_5fend',['SHA_MODE_SHA256_END',['../a00906.html#ga0e98e55c91c7559f57fdef4c9969c188',1,'atca_command.h']]], + ['sha_5fmode_5fsha256_5fpublic',['SHA_MODE_SHA256_PUBLIC',['../a00906.html#ga0f2fc749d3d196477b22cbceee856dfb',1,'atca_command.h']]], + ['sha_5fmode_5fsha256_5fstart',['SHA_MODE_SHA256_START',['../a00906.html#gad42195362cd7dca0acabc8739c9a6fc4',1,'atca_command.h']]], + ['sha_5fmode_5fsha256_5fupdate',['SHA_MODE_SHA256_UPDATE',['../a00906.html#ga05ece414a0596ec9bb75c0ca8ca731dc',1,'atca_command.h']]], + ['sha_5fmode_5ftarget_5fmask',['SHA_MODE_TARGET_MASK',['../a00906.html#ga70f88a123587c96ad7affc1e5dae9002',1,'atca_command.h']]], + ['sha_5fmode_5ftarget_5fmsgdigbuf',['SHA_MODE_TARGET_MSGDIGBUF',['../a00906.html#gae559b402c678cc51f8252b927b8781e5',1,'atca_command.h']]], + ['sha_5fmode_5ftarget_5fout_5fonly',['SHA_MODE_TARGET_OUT_ONLY',['../a00906.html#gae0df4b9151bb3d807bc1c532036c6d88',1,'atca_command.h']]], + ['sha_5fmode_5ftarget_5ftempkey',['SHA_MODE_TARGET_TEMPKEY',['../a00906.html#ga850ec56b408fccccaea5826d452c3a64',1,'atca_command.h']]], + ['sha_5fmode_5fwrite_5fcontext',['SHA_MODE_WRITE_CONTEXT',['../a00906.html#ga7b7c499931480a88f6a106644c3d2185',1,'atca_command.h']]], + ['sha_5frsp_5fsize',['SHA_RSP_SIZE',['../a00906.html#ga8a5a586bdb0194be827417658836bf9c',1,'atca_command.h']]], + ['sha_5frsp_5fsize_5flong',['SHA_RSP_SIZE_LONG',['../a00906.html#gae5ad3c81d0b62f4b86a4a0dc84a79134',1,'atca_command.h']]], + ['sha_5frsp_5fsize_5fshort',['SHA_RSP_SIZE_SHORT',['../a00906.html#ga74490b179b34f9925e9fe00675e53713',1,'atca_command.h']]], + ['shaengine',['shaEngine',['../a00308.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c'],['../a00311.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c']]], + ['sign_5fcount',['SIGN_COUNT',['../a00107.html#aabff3f5b7f5391c27a0329ff0c997264',1,'atca_command.h']]], + ['sign_5fkeyid_5fidx',['SIGN_KEYID_IDX',['../a00107.html#a02f20fbee84fe680d94b94a2b2828040',1,'atca_command.h']]], + ['sign_5fmode_5fexternal',['SIGN_MODE_EXTERNAL',['../a00107.html#a9b6844bb107f02832a6d827b8c5b0fda',1,'atca_command.h']]], + ['sign_5fmode_5fidx',['SIGN_MODE_IDX',['../a00107.html#ae7cfb9eb789137f5ea9195a7a4f6b11e',1,'atca_command.h']]], + ['sign_5fmode_5finclude_5fsn',['SIGN_MODE_INCLUDE_SN',['../a00107.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116',1,'atca_command.h']]], + ['sign_5fmode_5finternal',['SIGN_MODE_INTERNAL',['../a00107.html#aced5221c0f15440eb52fa9f460956443',1,'atca_command.h']]], + ['sign_5fmode_5finvalidate',['SIGN_MODE_INVALIDATE',['../a00107.html#a1acc7b9af9cf3c6c556bd910ce4f239b',1,'atca_command.h']]], + ['sign_5fmode_5fmask',['SIGN_MODE_MASK',['../a00107.html#a88cc1851cedb6f2a73df4618dbc0b165',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5fmask',['SIGN_MODE_SOURCE_MASK',['../a00107.html#a35246a9bad0d77d26b59b542928c9e34',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5fmsgdigbuf',['SIGN_MODE_SOURCE_MSGDIGBUF',['../a00107.html#a1a38e9575eb4f714377889ce5270e60b',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5ftempkey',['SIGN_MODE_SOURCE_TEMPKEY',['../a00107.html#a73670681360e1272aa13d1359e7bb275',1,'atca_command.h']]], + ['sign_5frsp_5fsize',['SIGN_RSP_SIZE',['../a00107.html#a66dba5e06f73c5df37c9d18409185f4d',1,'atca_command.h']]], + ['signature',['signature',['../a01082.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_verify_mac::signature()'],['../a01090.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_secureboot_mac_in_out::signature()'],['../a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f',1,'atca_verify_in_out::signature()'],['../a01150.html#a4f871aacf3b86f107114a6ca1f19a13a',1,'memory_parameters::signature()']]], + ['slave_5faddress',['slave_address',['../a00930.html#ac93868aeda435dfb685a0a0020e5c7a4',1,'ATCAIfaceCfg']]], + ['slot',['slot',['../a00966.html#ad23984515efd99983fa4baf3754082a1',1,'atcacert_device_loc_s']]], + ['slot_5fconfig',['slot_config',['../a01134.html#a547704fabd162cdaa3d5ce84a111a3fc',1,'atca_sign_internal_in_out']]], + ['slot_5fkey',['slot_key',['../a01122.html#aa23b467edf1809a2a8b1b530a0159c45',1,'atca_check_mac_in_out']]], + ['sn',['sn',['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_include_data_in_out::sn()'],['../a01082.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_verify_mac::sn()'],['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_mac_in_out::sn()'],['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_hmac_in_out::sn()'],['../a01102.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_dig_in_out::sn()'],['../a01106.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_write_mac_in_out::sn()'],['../a01110.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_in_out::sn()'],['../a01114.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_mac_in_out::sn()'],['../a01122.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_check_mac_in_out::sn()'],['../a01130.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_key_in_out::sn()'],['../a01134.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_sign_internal_in_out::sn()']]], + ['sn_5fsource',['sn_source',['../a00978.html#af44c31e823af19e6efe6b418a13fafe3',1,'atcacert_def_s']]], + ['snsrc_5fdevice_5fsn',['SNSRC_DEVICE_SN',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash',['SNSRC_DEVICE_SN_HASH',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash_5fpos',['SNSRC_DEVICE_SN_HASH_POS',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash_5fraw',['SNSRC_DEVICE_SN_HASH_RAW',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash',['SNSRC_PUB_KEY_HASH',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash_5fpos',['SNSRC_PUB_KEY_HASH_POS',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash_5fraw',['SNSRC_PUB_KEY_HASH_RAW',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972',1,'atcacert_def.h']]], + ['snsrc_5fsigner_5fid',['SNSRC_SIGNER_ID',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff',1,'atcacert_def.h']]], + ['snsrc_5fstored',['SNSRC_STORED',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1',1,'atcacert_def.h']]], + ['snsrc_5fstored_5fdynamic',['SNSRC_STORED_DYNAMIC',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b',1,'atcacert_def.h']]], + ['software',['SOFTWARE',['../a00554.html#a0b42d98385899be4ab4f4ac101712a83',1,'SOFTWARE(): license.txt'],['../a00554.html#a0261086a97cfe9d7e9535905e5bae13d',1,'software(including open source software) that may accompany Microchip software. THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES: license.txt']]], + ['source_5fflag',['source_flag',['../a01066.html#a2ffc3c1a03eda290c709dc78b7e8b51e',1,'atca_temp_key']]], + ['special',['SPECIAL',['../a00554.html#a752275406812c1aa8c22e53696b48c57',1,'license.txt']]], + ['speed',['speed',['../a00912.html#ga218b4f7c6cc2681a99c23a3b089d68b1',1,'hal_linux_kit_cdc.c']]], + ['start_5faddress',['start_address',['../a01150.html#abe5b74a6bf41557a5ae72460fa563219',1,'memory_parameters']]], + ['start_5fpulse_5ftime_5fout',['START_PULSE_TIME_OUT',['../a00515.html#ab10604796b42fb6b8eed23fc88ebd47f',1,'swi_bitbang_samd21.h']]], + ['statutory',['STATUTORY',['../a00554.html#a5ca3438f18c3bf2d2c1790995d290399',1,'license.txt']]], + ['std_5fcert_5felements',['std_cert_elements',['../a00978.html#a7e2ecd6c0b4cef9637e3b281d29200ce',1,'atcacert_def_s']]], + ['stdcert_5fauth_5fkey_5fid',['STDCERT_AUTH_KEY_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106',1,'atcacert_def.h']]], + ['stdcert_5fcert_5fsn',['STDCERT_CERT_SN',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc',1,'atcacert_def.h']]], + ['stdcert_5fexpire_5fdate',['STDCERT_EXPIRE_DATE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604',1,'atcacert_def.h']]], + ['stdcert_5fissue_5fdate',['STDCERT_ISSUE_DATE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15',1,'atcacert_def.h']]], + ['stdcert_5fnum_5felements',['STDCERT_NUM_ELEMENTS',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f',1,'atcacert_def.h']]], + ['stdcert_5fpublic_5fkey',['STDCERT_PUBLIC_KEY',['../a00909.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68',1,'atcacert_def.h']]], + ['stdcert_5fsignature',['STDCERT_SIGNATURE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc',1,'atcacert_def.h']]], + ['stdcert_5fsigner_5fid',['STDCERT_SIGNER_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3',1,'atcacert_def.h']]], + ['stdcert_5fsubj_5fkey_5fid',['STDCERT_SUBJ_KEY_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585',1,'atcacert_def.h']]], + ['stopbits',['stopbits',['../a00930.html#a9de35842403baab5738ea16162012d4f',1,'ATCAIfaceCfg']]], + ['stored_5fvalue',['stored_value',['../a01102.html#a7871fda0cd5698905bc3aa8fe8a99808',1,'atca_gen_dig_in_out']]], + ['strcpy_5fp',['strcpy_P',['../a00311.html#a3541bc4d0b928b2faa9ca63a100d1b75',1,'sha1_routines.h']]], + ['strnchr',['strnchr',['../a00912.html#ga1473b18d902ce22c6b22d04ff5a7ef02',1,'kit_protocol.c']]], + ['sw_5fsha256',['sw_sha256',['../a00314.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00317.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], + ['sw_5fsha256_5fctx',['sw_sha256_ctx',['../a01022.html',1,'']]], + ['sw_5fsha256_5ffinal',['sw_sha256_final',['../a00314.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00317.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], + ['sw_5fsha256_5finit',['sw_sha256_init',['../a00314.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c'],['../a00317.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c']]], + ['sw_5fsha256_5fupdate',['sw_sha256_update',['../a00314.html#a4d0c952ebe691b3337205829dc352e6e',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size): sha2_routines.c'],['../a00317.html#a7f5d8ad85631d77bfdb10dfb728bfbce',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len): sha2_routines.c']]], + ['swi_5fbitbang_5fsamd21_2ec',['swi_bitbang_samd21.c',['../a00512.html',1,'']]], + ['swi_5fbitbang_5fsamd21_2eh',['swi_bitbang_samd21.h',['../a00515.html',1,'']]], + ['swi_5fbuses_5fdefault',['swi_buses_default',['../a00512.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c'],['../a00515.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c']]], + ['swi_5fdisable',['swi_disable',['../a00512.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c'],['../a00515.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c']]], + ['swi_5fenable',['swi_enable',['../a00512.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c'],['../a00515.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c']]], + ['swi_5fflag',['swi_flag',['../a00912.html#ga8759b00e645502d0f1c3b7330e20e52b',1,'hal_swi_bitbang.h']]], + ['swi_5fflag_5fcmd',['SWI_FLAG_CMD',['../a00912.html#ga13c01ac16bb14fde75e9c00dcd1cc761',1,'SWI_FLAG_CMD(): hal_swi_uart.h'],['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340',1,'SWI_FLAG_CMD(): hal_swi_bitbang.h']]], + ['swi_5fflag_5fidle',['SWI_FLAG_IDLE',['../a00912.html#ga6219d68ef915fdcd734f51960ba08fb6',1,'SWI_FLAG_IDLE(): hal_swi_uart.h'],['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a',1,'SWI_FLAG_IDLE(): hal_swi_bitbang.h']]], + ['swi_5fflag_5fsleep',['SWI_FLAG_SLEEP',['../a00912.html#ga13ef2322176ad9b7ba3d2e23b277cce6',1,'SWI_FLAG_SLEEP(): hal_swi_uart.h'],['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7',1,'SWI_FLAG_SLEEP(): hal_swi_bitbang.h']]], + ['swi_5fflag_5ftx',['SWI_FLAG_TX',['../a00912.html#ga20af8352e13a7357650ba1cbf41349ea',1,'SWI_FLAG_TX(): hal_swi_uart.h'],['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f',1,'SWI_FLAG_TX(): hal_swi_bitbang.h']]], + ['swi_5freceive_5fbytes',['swi_receive_bytes',['../a00512.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00515.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fbyte',['swi_send_byte',['../a00512.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c'],['../a00515.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fbytes',['swi_send_bytes',['../a00512.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00515.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fwake_5ftoken',['swi_send_wake_token',['../a00512.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c'],['../a00515.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c']]], + ['swi_5fset_5fpin',['swi_set_pin',['../a00512.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c'],['../a00515.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c']]], + ['swi_5fset_5fsignal_5fpin',['swi_set_signal_pin',['../a00512.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c'],['../a00515.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c']]], + ['swi_5fuart_5fat90usb1287_5fasf_2ec',['swi_uart_at90usb1287_asf.c',['../a00518.html',1,'']]], + ['swi_5fuart_5fat90usb1287_5fasf_2eh',['swi_uart_at90usb1287_asf.h',['../a00521.html',1,'']]], + ['swi_5fuart_5fdeinit',['swi_uart_deinit',['../a00912.html#ga0b1aad3936bf003686d8db7fa2be5132',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fdiscover_5fbuses',['swi_uart_discover_buses',['../a00912.html#gad640b598d581ee7c8a4c804bee602906',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5finit',['swi_uart_init',['../a00912.html#ga003b63648f1a5f9eba274760559688f2',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fmode',['swi_uart_mode',['../a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5freceive_5fbyte',['swi_uart_receive_byte',['../a00912.html#ga93f3dab17c14f71641ca970998ede823',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fsamd21_5fasf_2ec',['swi_uart_samd21_asf.c',['../a00524.html',1,'']]], + ['swi_5fuart_5fsamd21_5fasf_2eh',['swi_uart_samd21_asf.h',['../a00527.html',1,'']]], + ['swi_5fuart_5fsend_5fbyte',['swi_uart_send_byte',['../a00912.html#ga4a4d491006d9683d67838963706ac9c1',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fsetbaud',['swi_uart_setbaud',['../a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fstart_2ec',['swi_uart_start.c',['../a00530.html',1,'']]], + ['swi_5fuart_5fstart_2eh',['swi_uart_start.h',['../a00533.html',1,'']]], + ['swi_5fuart_5fxmega_5fa3bu_5fasf_2ec',['swi_uart_xmega_a3bu_asf.c',['../a00536.html',1,'']]], + ['swi_5fuart_5fxmega_5fa3bu_5fasf_2eh',['swi_uart_xmega_a3bu_asf.h',['../a00539.html',1,'']]], + ['swi_5fwake_5ftoken',['SWI_WAKE_TOKEN',['../a00912.html#ga8f12e3b749e7b3dc905114cc7b8d0b38',1,'hal_swi_uart.h']]], + ['swibuses',['SWIBuses',['../a01062.html',1,'']]], + ['symmetric_5fauthenticate',['symmetric_authenticate',['../a00011.html#a9a41d1600ffd22de067ded50447d359b',1,'symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number): symmetric_authentication.c'],['../a00014.html#a9a41d1600ffd22de067ded50447d359b',1,'symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number): symmetric_authentication.c']]], + ['symmetric_5fauthentication_2ec',['symmetric_authentication.c',['../a00011.html',1,'']]], + ['symmetric_5fauthentication_2eh',['symmetric_authentication.h',['../a00014.html',1,'']]], + ['systemd',['systemd',['../a00554.html#ad7d14be55a088137975311629d46fb11',1,'license.txt']]] ]; diff --git a/docs/html/search/all_13.js b/docs/html/search/all_13.js index 5f50f86de..c3f5ce4e7 100644 --- a/docs/html/search/all_13.js +++ b/docs/html/search/all_13.js @@ -1,30 +1,30 @@ var searchData= [ - ['tag',['TAG',['../a00332.html#a5a85b9c772bbeb480b209a3e6ea92b4c',1,'hal_esp32_i2c.c']]], - ['target_5fkey',['target_key',['../a03731.html#afca67d3e5d5a7c772262731cc08880b1',1,'atca_derive_key_in_out::target_key()'],['../a03743.html#ab15c5e89189b9eea6fab7da58cc03967',1,'atca_check_mac_in_out::target_key()']]], - ['target_5fkey_5fid',['target_key_id',['../a03731.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_in_out::target_key_id()'],['../a03735.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_mac_in_out::target_key_id()']]], - ['tbd',['TBD',['../a00179.html#a427c0d9dc4a1052229c8c75a6d126577',1,'atca_basic.h']]], - ['tbs_5fcert_5floc',['tbs_cert_loc',['../a03603.html#a3a8aede64cc4e17e9495ada7a64ab24f',1,'atcacert_def_s']]], - ['temp_5fkey',['temp_key',['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_nonce_in_out::temp_key()'],['../a03703.html#a7a67318a2d1cde0794d2d1ae152c93cf',1,'atca_verify_mac::temp_key()'],['../a03707.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_secureboot_enc_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_mac_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_hmac_in_out::temp_key()'],['../a03723.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_dig_in_out::temp_key()'],['../a03727.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_write_mac_in_out::temp_key()'],['../a03731.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_derive_key_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_decrypt_in_out::temp_key()'],['../a03743.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_check_mac_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_verify_in_out::temp_key()'],['../a03751.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_key_in_out::temp_key()'],['../a03755.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_sign_internal_in_out::temp_key()']]], - ['template_5fid',['template_id',['../a03603.html#a44b6808e0d081cb5fd82f58f7de32e4a',1,'atcacert_def_s']]], - ['terms',['terms',['../a00533.html#afeb9ceeeb43e00fdee66deb20c359da4',1,'license.txt']]], - ['tm_5fhour',['tm_hour',['../a03587.html#a4d171061df9e012fcfbd1172b8440d5f',1,'atcacert_tm_utc_s']]], - ['tm_5fmday',['tm_mday',['../a03587.html#a02048604d30b880033311cf542d63f92',1,'atcacert_tm_utc_s']]], - ['tm_5fmin',['tm_min',['../a03587.html#a987fa9280fe4cd6c6b8f77409f1c1504',1,'atcacert_tm_utc_s']]], - ['tm_5fmon',['tm_mon',['../a03587.html#ada983deda100b604bee5716512453658',1,'atcacert_tm_utc_s']]], - ['tm_5fsec',['tm_sec',['../a03587.html#a18df301c1a10c8d493da86ce5c2aea78',1,'atcacert_tm_utc_s']]], - ['tm_5fyear',['tm_year',['../a03587.html#a994c4f4519ba57e186580d21cc86f9e5',1,'atcacert_tm_utc_s']]], - ['to',['TO',['../a00533.html#a4715e4a6bd4a47efeefee267dfb844a5',1,'license.txt']]], - ['tort',['TORT',['../a00533.html#aef759b5dfd1b3377773e974799cbffdc',1,'license.txt']]], - ['total_5fmsg_5fsize',['total_msg_size',['../a03623.html#a8ee7e642376903508dd6b4df9eacc2de',1,'atca_sha256_ctx::total_msg_size()'],['../a03627.html#a8ee7e642376903508dd6b4df9eacc2de',1,'hw_sha256_ctx::total_msg_size()'],['../a03643.html#a8ee7e642376903508dd6b4df9eacc2de',1,'sw_sha256_ctx::total_msg_size()']]], - ['transmit_5fmode',['TRANSMIT_MODE',['../a03537.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_at90usb1287_asf.h'],['../a03537.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_samd21_asf.h'],['../a03537.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_start.h'],['../a03537.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_xmega_a3bu_asf.h']]], - ['true',['TRUE',['../a03534.html#gaa8cecfc5c5c054d2875c03e77b7be15d',1,'atcacert.h']]], - ['twi_5fflexcom',['twi_flexcom',['../a03655.html#ac6e800fa8a525e2ac445410a75fe33c5',1,'atcaI2Cmaster']]], - ['twi_5fflexcom_5fid',['twi_flexcom_id',['../a03655.html#a8085a25dc89b0a426c762333eb109e38',1,'atcaI2Cmaster']]], - ['twi_5fid',['twi_id',['../a03655.html#a0fafe5e32d17ee114246e3ccac81ee9f',1,'atcaI2Cmaster::twi_id()'],['../a03655.html#a3592aa831cd642b3e53af87537944d5a',1,'atcaI2Cmaster::twi_id()']]], - ['twi_5fmaster_5finstance',['twi_master_instance',['../a03655.html#ad9f68faa090564cdbe2d7217be324f16',1,'atcaI2Cmaster']]], - ['twi_5fmodule',['twi_module',['../a03655.html#ac6dd6d226983fb851700119ca6ba3023',1,'atcaI2Cmaster']]], - ['tx_5fdelay',['TX_DELAY',['../a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_at90usb1287_asf.h'],['../a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_samd21_asf.h'],['../a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_start.h'],['../a03537.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_xmega_a3bu_asf.h']]], - ['txsize',['txsize',['../a03547.html#a3c02ddae56a01b6df3be14acf14915a4',1,'ATCAPacket']]], - ['type',['type',['../a03603.html#ad158ea4479470d5470412d504428459b',1,'atcacert_def_s']]] + ['tag',['TAG',['../a00353.html#a5a85b9c772bbeb480b209a3e6ea92b4c',1,'hal_esp32_i2c.c']]], + ['target_5fkey',['target_key',['../a01110.html#afca67d3e5d5a7c772262731cc08880b1',1,'atca_derive_key_in_out::target_key()'],['../a01122.html#ab15c5e89189b9eea6fab7da58cc03967',1,'atca_check_mac_in_out::target_key()']]], + ['target_5fkey_5fid',['target_key_id',['../a01110.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_in_out::target_key_id()'],['../a01114.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_mac_in_out::target_key_id()']]], + ['tbd',['TBD',['../a00185.html#a427c0d9dc4a1052229c8c75a6d126577',1,'atca_basic.h']]], + ['tbs_5fcert_5floc',['tbs_cert_loc',['../a00978.html#a3a8aede64cc4e17e9495ada7a64ab24f',1,'atcacert_def_s']]], + ['temp_5fkey',['temp_key',['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_nonce_in_out::temp_key()'],['../a01082.html#a7a67318a2d1cde0794d2d1ae152c93cf',1,'atca_verify_mac::temp_key()'],['../a01086.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_secureboot_enc_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_mac_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_hmac_in_out::temp_key()'],['../a01102.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_dig_in_out::temp_key()'],['../a01106.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_write_mac_in_out::temp_key()'],['../a01110.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_derive_key_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_decrypt_in_out::temp_key()'],['../a01122.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_check_mac_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_verify_in_out::temp_key()'],['../a01130.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_key_in_out::temp_key()'],['../a01134.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_sign_internal_in_out::temp_key()']]], + ['template_5fid',['template_id',['../a00978.html#a44b6808e0d081cb5fd82f58f7de32e4a',1,'atcacert_def_s']]], + ['terms',['terms',['../a00554.html#afeb9ceeeb43e00fdee66deb20c359da4',1,'license.txt']]], + ['tm_5fhour',['tm_hour',['../a00962.html#a4d171061df9e012fcfbd1172b8440d5f',1,'atcacert_tm_utc_s']]], + ['tm_5fmday',['tm_mday',['../a00962.html#a02048604d30b880033311cf542d63f92',1,'atcacert_tm_utc_s']]], + ['tm_5fmin',['tm_min',['../a00962.html#a987fa9280fe4cd6c6b8f77409f1c1504',1,'atcacert_tm_utc_s']]], + ['tm_5fmon',['tm_mon',['../a00962.html#ada983deda100b604bee5716512453658',1,'atcacert_tm_utc_s']]], + ['tm_5fsec',['tm_sec',['../a00962.html#a18df301c1a10c8d493da86ce5c2aea78',1,'atcacert_tm_utc_s']]], + ['tm_5fyear',['tm_year',['../a00962.html#a994c4f4519ba57e186580d21cc86f9e5',1,'atcacert_tm_utc_s']]], + ['to',['TO',['../a00554.html#a4715e4a6bd4a47efeefee267dfb844a5',1,'license.txt']]], + ['tort',['TORT',['../a00554.html#aef759b5dfd1b3377773e974799cbffdc',1,'license.txt']]], + ['total_5fmsg_5fsize',['total_msg_size',['../a00998.html#a8ee7e642376903508dd6b4df9eacc2de',1,'atca_sha256_ctx::total_msg_size()'],['../a01006.html#a8ee7e642376903508dd6b4df9eacc2de',1,'hw_sha256_ctx::total_msg_size()'],['../a01022.html#a8ee7e642376903508dd6b4df9eacc2de',1,'sw_sha256_ctx::total_msg_size()']]], + ['transmit_5fmode',['TRANSMIT_MODE',['../a00912.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_at90usb1287_asf.h'],['../a00912.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_samd21_asf.h'],['../a00912.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_start.h'],['../a00912.html#ga4b85133b317e72410ea0762d637d3460',1,'TRANSMIT_MODE(): swi_uart_xmega_a3bu_asf.h']]], + ['true',['TRUE',['../a00909.html#gaa8cecfc5c5c054d2875c03e77b7be15d',1,'atcacert.h']]], + ['twi_5fflexcom',['twi_flexcom',['../a01034.html#ac6e800fa8a525e2ac445410a75fe33c5',1,'atcaI2Cmaster']]], + ['twi_5fflexcom_5fid',['twi_flexcom_id',['../a01034.html#a8085a25dc89b0a426c762333eb109e38',1,'atcaI2Cmaster']]], + ['twi_5fid',['twi_id',['../a01034.html#a0fafe5e32d17ee114246e3ccac81ee9f',1,'atcaI2Cmaster::twi_id()'],['../a01034.html#a3592aa831cd642b3e53af87537944d5a',1,'atcaI2Cmaster::twi_id()']]], + ['twi_5fmaster_5finstance',['twi_master_instance',['../a01034.html#ad9f68faa090564cdbe2d7217be324f16',1,'atcaI2Cmaster']]], + ['twi_5fmodule',['twi_module',['../a01034.html#ac6dd6d226983fb851700119ca6ba3023',1,'atcaI2Cmaster']]], + ['tx_5fdelay',['TX_DELAY',['../a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_at90usb1287_asf.h'],['../a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_samd21_asf.h'],['../a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_start.h'],['../a00912.html#ga3f3816567a2f513dd0e1f9eb17992fb2',1,'TX_DELAY(): swi_uart_xmega_a3bu_asf.h']]], + ['txsize',['txsize',['../a00922.html#a3c02ddae56a01b6df3be14acf14915a4',1,'ATCAPacket']]], + ['type',['type',['../a00978.html#ad158ea4479470d5470412d504428459b',1,'atcacert_def_s']]] ]; diff --git a/docs/html/search/all_14.js b/docs/html/search/all_14.js index 078e04484..6150b100c 100644 --- a/docs/html/search/all_14.js +++ b/docs/html/search/all_14.js @@ -1,19 +1,19 @@ var searchData= [ - ['u16',['U16',['../a00290.html#ad0b4d315e0f0b5d356886ec69d4bed08',1,'sha1_routines.h']]], - ['u32',['U32',['../a00290.html#a8f953f379d243081b950adb7f194b2e8',1,'sha1_routines.h']]], - ['u8',['U8',['../a00290.html#a2c0958af86f0590374e4324757c537f2',1,'sha1_routines.h']]], - ['update_5fcount',['update_count',['../a03755.html#a4a25483bf435220f212cbe8f0327b0a6',1,'atca_sign_internal_in_out::update_count()'],['../a00101.html#aac8020f191ca7ce2b1a81fcede9b5aa2',1,'UPDATE_COUNT(): atca_command.h']]], - ['update_5fmode_5fdec_5fcounter',['UPDATE_MODE_DEC_COUNTER',['../a00101.html#a023880ad2167cc0d6cefb7f747b73c92',1,'atca_command.h']]], - ['update_5fmode_5fidx',['UPDATE_MODE_IDX',['../a00101.html#abec02770ab378eea5c604269dc8c024a',1,'atca_command.h']]], - ['update_5fmode_5fselector',['UPDATE_MODE_SELECTOR',['../a00101.html#a81bab82e6be63d8186b26bb9c3b8732c',1,'atca_command.h']]], - ['update_5fmode_5fuser_5fextra',['UPDATE_MODE_USER_EXTRA',['../a00101.html#abe02b5e0e9bb8cb4c2a727549c14ae55',1,'atca_command.h']]], - ['update_5fmode_5fuser_5fextra_5fadd',['UPDATE_MODE_USER_EXTRA_ADD',['../a00101.html#a5884f043019e78838621ba2402a8cc95',1,'atca_command.h']]], - ['update_5frsp_5fsize',['UPDATE_RSP_SIZE',['../a00101.html#aabf82974c18252bcd0c48ee99af75dfb',1,'atca_command.h']]], - ['update_5fvalue_5fidx',['UPDATE_VALUE_IDX',['../a00101.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799',1,'atca_command.h']]], - ['us_5fscale',['us_SCALE',['../a03537.html#ga5a8416082aa7664c94099d3d787eee3c',1,'us_SCALE(): hal_pic32mx695f512h_timer.c'],['../a03537.html#ga5a8416082aa7664c94099d3d787eee3c',1,'us_SCALE(): hal_pic32mz2048efm_timer.c']]], - ['usart_5fbaud_5frate',['USART_BAUD_RATE',['../a00509.html#ad462f78bb4839d01e6066bdac14a6680',1,'swi_uart_start.c']]], - ['usart_5finstance',['usart_instance',['../a03675.html#ad1dd3236df177255a91b568170b70a74',1,'atcaSWImaster::usart_instance()'],['../a03675.html#a2d29ab9b8f0842ee9a2906302b20011d',1,'atcaSWImaster::usart_instance()']]], - ['usart_5fswi',['USART_SWI',['../a03675.html#a7758bb1b871f6094e6d2f0c2ce10b18c',1,'atcaSWImaster']]], - ['use_5fflag',['use_flag',['../a03755.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05',1,'atca_sign_internal_in_out']]] + ['u16',['U16',['../a00311.html#ad0b4d315e0f0b5d356886ec69d4bed08',1,'sha1_routines.h']]], + ['u32',['U32',['../a00311.html#a8f953f379d243081b950adb7f194b2e8',1,'sha1_routines.h']]], + ['u8',['U8',['../a00311.html#a2c0958af86f0590374e4324757c537f2',1,'sha1_routines.h']]], + ['update_5fcount',['update_count',['../a01134.html#a4a25483bf435220f212cbe8f0327b0a6',1,'atca_sign_internal_in_out::update_count()'],['../a00107.html#aac8020f191ca7ce2b1a81fcede9b5aa2',1,'UPDATE_COUNT(): atca_command.h']]], + ['update_5fmode_5fdec_5fcounter',['UPDATE_MODE_DEC_COUNTER',['../a00107.html#a023880ad2167cc0d6cefb7f747b73c92',1,'atca_command.h']]], + ['update_5fmode_5fidx',['UPDATE_MODE_IDX',['../a00107.html#abec02770ab378eea5c604269dc8c024a',1,'atca_command.h']]], + ['update_5fmode_5fselector',['UPDATE_MODE_SELECTOR',['../a00107.html#a81bab82e6be63d8186b26bb9c3b8732c',1,'atca_command.h']]], + ['update_5fmode_5fuser_5fextra',['UPDATE_MODE_USER_EXTRA',['../a00107.html#abe02b5e0e9bb8cb4c2a727549c14ae55',1,'atca_command.h']]], + ['update_5fmode_5fuser_5fextra_5fadd',['UPDATE_MODE_USER_EXTRA_ADD',['../a00107.html#a5884f043019e78838621ba2402a8cc95',1,'atca_command.h']]], + ['update_5frsp_5fsize',['UPDATE_RSP_SIZE',['../a00107.html#aabf82974c18252bcd0c48ee99af75dfb',1,'atca_command.h']]], + ['update_5fvalue_5fidx',['UPDATE_VALUE_IDX',['../a00107.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799',1,'atca_command.h']]], + ['us_5fscale',['us_SCALE',['../a00912.html#ga5a8416082aa7664c94099d3d787eee3c',1,'us_SCALE(): hal_pic32mx695f512h_timer.c'],['../a00912.html#ga5a8416082aa7664c94099d3d787eee3c',1,'us_SCALE(): hal_pic32mz2048efm_timer.c']]], + ['usart_5fbaud_5frate',['USART_BAUD_RATE',['../a00530.html#ad462f78bb4839d01e6066bdac14a6680',1,'swi_uart_start.c']]], + ['usart_5finstance',['usart_instance',['../a01054.html#ad1dd3236df177255a91b568170b70a74',1,'atcaSWImaster::usart_instance()'],['../a01054.html#a2d29ab9b8f0842ee9a2906302b20011d',1,'atcaSWImaster::usart_instance()']]], + ['usart_5fswi',['USART_SWI',['../a01054.html#a7758bb1b871f6094e6d2f0c2ce10b18c',1,'atcaSWImaster']]], + ['use_5fflag',['use_flag',['../a01134.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05',1,'atca_sign_internal_in_out']]] ]; diff --git a/docs/html/search/all_15.js b/docs/html/search/all_15.js index 0b3cdfbe7..ceffcbba8 100644 --- a/docs/html/search/all_15.js +++ b/docs/html/search/all_15.js @@ -1,37 +1,37 @@ var searchData= [ - ['valid',['valid',['../a03687.html#a6b455a7e89f8a891cd7e3b66d1b17b67',1,'atca_temp_key']]], - ['value',['value',['../a03687.html#a9d39af90116e75f8805942afa953046f',1,'atca_temp_key']]], - ['verify_5f256_5fexternal_5fcount',['VERIFY_256_EXTERNAL_COUNT',['../a00101.html#aae43276ff3f774ffd928ad1776592c7b',1,'atca_command.h']]], - ['verify_5f256_5fkey_5fsize',['VERIFY_256_KEY_SIZE',['../a00101.html#add994f7919c2f2b076f25ff207432686',1,'atca_command.h']]], - ['verify_5f256_5fsignature_5fsize',['VERIFY_256_SIGNATURE_SIZE',['../a00101.html#ae56700f2b05067288af3cc4af8e7f34d',1,'atca_command.h']]], - ['verify_5f256_5fstored_5fcount',['VERIFY_256_STORED_COUNT',['../a00101.html#a0b7d56888416e08f1ff67252072e3cea',1,'atca_command.h']]], - ['verify_5f256_5fvalidate_5fcount',['VERIFY_256_VALIDATE_COUNT',['../a00101.html#a677e57736342aed3a7a40704b82895d9',1,'atca_command.h']]], - ['verify_5f283_5fexternal_5fcount',['VERIFY_283_EXTERNAL_COUNT',['../a00101.html#a1a551775820d79c59f49068140e40f1b',1,'atca_command.h']]], - ['verify_5f283_5fkey_5fsize',['VERIFY_283_KEY_SIZE',['../a00101.html#af0cca41df253e49372d6853d4f5c406b',1,'atca_command.h']]], - ['verify_5f283_5fsignature_5fsize',['VERIFY_283_SIGNATURE_SIZE',['../a00101.html#a47f281930ad5bc31576ccd06e913563f',1,'atca_command.h']]], - ['verify_5f283_5fstored_5fcount',['VERIFY_283_STORED_COUNT',['../a00101.html#a3f7d34f0bcacd6c816c2b51cd13f5364',1,'atca_command.h']]], - ['verify_5f283_5fvalidate_5fcount',['VERIFY_283_VALIDATE_COUNT',['../a00101.html#ab09e6f726235fba47a2ea3f49cbfc2cb',1,'atca_command.h']]], - ['verify_5fdata_5fidx',['VERIFY_DATA_IDX',['../a00101.html#a15623038b9b0b4b51243691fe15253e2',1,'atca_command.h']]], - ['verify_5fkey_5fb283',['VERIFY_KEY_B283',['../a00101.html#a4c6b67a2a6193a1e317b6ef16ca3fca6',1,'atca_command.h']]], - ['verify_5fkey_5fk283',['VERIFY_KEY_K283',['../a00101.html#ad2eacbf59056d95e69b60f21beaafcb1',1,'atca_command.h']]], - ['verify_5fkey_5fp256',['VERIFY_KEY_P256',['../a00101.html#a94fc1ff3975c056868a169b1b836f920',1,'atca_command.h']]], - ['verify_5fkeyid_5fidx',['VERIFY_KEYID_IDX',['../a00101.html#a868d5d7ce0451e1c8f95f16092cfbc97',1,'atca_command.h']]], - ['verify_5fmode_5fexternal',['VERIFY_MODE_EXTERNAL',['../a00101.html#af3729ff16ba78ef4a6b70c341e81c749',1,'atca_command.h']]], - ['verify_5fmode_5fidx',['VERIFY_MODE_IDX',['../a00101.html#a896cc15df167f9a04f7e4f84de2bc7d2',1,'atca_command.h']]], - ['verify_5fmode_5finvalidate',['VERIFY_MODE_INVALIDATE',['../a00101.html#ab45a164ee20c8320318a3bc5e2eaa31f',1,'atca_command.h']]], - ['verify_5fmode_5fmac_5fflag',['VERIFY_MODE_MAC_FLAG',['../a00101.html#af3461e50ec2b06201d17feee167e0a4b',1,'atca_command.h']]], - ['verify_5fmode_5fmask',['VERIFY_MODE_MASK',['../a00101.html#ac892dbe1953c43e7e17b1d51ce967c9e',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5fmask',['VERIFY_MODE_SOURCE_MASK',['../a00101.html#a3d6ae4ea1e385c2f7521495b53715a3f',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5fmsgdigbuf',['VERIFY_MODE_SOURCE_MSGDIGBUF',['../a00101.html#a1b104109ce8d8c8a99484bc52d58460a',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5ftempkey',['VERIFY_MODE_SOURCE_TEMPKEY',['../a00101.html#ad5c40b78682251cb07855e58bcf29f82',1,'atca_command.h']]], - ['verify_5fmode_5fstored',['VERIFY_MODE_STORED',['../a00101.html#a1da616e68f89a90e6fa3c920b4708fe2',1,'atca_command.h']]], - ['verify_5fmode_5fvalidate',['VERIFY_MODE_VALIDATE',['../a00101.html#adb7f53410523734e4c9485f2d71e7791',1,'atca_command.h']]], - ['verify_5fmode_5fvalidate_5fexternal',['VERIFY_MODE_VALIDATE_EXTERNAL',['../a00101.html#a8f38093650cd530f44dc59e6eb78fa3d',1,'atca_command.h']]], - ['verify_5fother_5fdata',['verify_other_data',['../a03755.html#a04c0e9b276020bed4ed3d7d670ed3881',1,'atca_sign_internal_in_out']]], - ['verify_5fother_5fdata_5fsize',['VERIFY_OTHER_DATA_SIZE',['../a00101.html#a5a4ff6025fa5d4d936ededc78be16e47',1,'atca_command.h']]], - ['verify_5frsp_5fsize',['VERIFY_RSP_SIZE',['../a00101.html#ac75be9d5426dcf6ee196a788a35ee54b',1,'atca_command.h']]], - ['verify_5frsp_5fsize_5fmac',['VERIFY_RSP_SIZE_MAC',['../a00101.html#ace51b2a4dc8622ac3c03780dc369355e',1,'atca_command.h']]], - ['version_5finfo',['version_info',['../a03771.html#aea79a9ccd71a91f69bb5773f43350f14',1,'memory_parameters']]], - ['vid',['vid',['../a03555.html#a98780fe4ab562a61abfd7870ea0910c3',1,'ATCAIfaceCfg']]] + ['valid',['valid',['../a01066.html#a6b455a7e89f8a891cd7e3b66d1b17b67',1,'atca_temp_key']]], + ['value',['value',['../a01066.html#a9d39af90116e75f8805942afa953046f',1,'atca_temp_key']]], + ['verify_5f256_5fexternal_5fcount',['VERIFY_256_EXTERNAL_COUNT',['../a00107.html#aae43276ff3f774ffd928ad1776592c7b',1,'atca_command.h']]], + ['verify_5f256_5fkey_5fsize',['VERIFY_256_KEY_SIZE',['../a00107.html#add994f7919c2f2b076f25ff207432686',1,'atca_command.h']]], + ['verify_5f256_5fsignature_5fsize',['VERIFY_256_SIGNATURE_SIZE',['../a00107.html#ae56700f2b05067288af3cc4af8e7f34d',1,'atca_command.h']]], + ['verify_5f256_5fstored_5fcount',['VERIFY_256_STORED_COUNT',['../a00107.html#a0b7d56888416e08f1ff67252072e3cea',1,'atca_command.h']]], + ['verify_5f256_5fvalidate_5fcount',['VERIFY_256_VALIDATE_COUNT',['../a00107.html#a677e57736342aed3a7a40704b82895d9',1,'atca_command.h']]], + ['verify_5f283_5fexternal_5fcount',['VERIFY_283_EXTERNAL_COUNT',['../a00107.html#a1a551775820d79c59f49068140e40f1b',1,'atca_command.h']]], + ['verify_5f283_5fkey_5fsize',['VERIFY_283_KEY_SIZE',['../a00107.html#af0cca41df253e49372d6853d4f5c406b',1,'atca_command.h']]], + ['verify_5f283_5fsignature_5fsize',['VERIFY_283_SIGNATURE_SIZE',['../a00107.html#a47f281930ad5bc31576ccd06e913563f',1,'atca_command.h']]], + ['verify_5f283_5fstored_5fcount',['VERIFY_283_STORED_COUNT',['../a00107.html#a3f7d34f0bcacd6c816c2b51cd13f5364',1,'atca_command.h']]], + ['verify_5f283_5fvalidate_5fcount',['VERIFY_283_VALIDATE_COUNT',['../a00107.html#ab09e6f726235fba47a2ea3f49cbfc2cb',1,'atca_command.h']]], + ['verify_5fdata_5fidx',['VERIFY_DATA_IDX',['../a00107.html#a15623038b9b0b4b51243691fe15253e2',1,'atca_command.h']]], + ['verify_5fkey_5fb283',['VERIFY_KEY_B283',['../a00107.html#a4c6b67a2a6193a1e317b6ef16ca3fca6',1,'atca_command.h']]], + ['verify_5fkey_5fk283',['VERIFY_KEY_K283',['../a00107.html#ad2eacbf59056d95e69b60f21beaafcb1',1,'atca_command.h']]], + ['verify_5fkey_5fp256',['VERIFY_KEY_P256',['../a00107.html#a94fc1ff3975c056868a169b1b836f920',1,'atca_command.h']]], + ['verify_5fkeyid_5fidx',['VERIFY_KEYID_IDX',['../a00107.html#a868d5d7ce0451e1c8f95f16092cfbc97',1,'atca_command.h']]], + ['verify_5fmode_5fexternal',['VERIFY_MODE_EXTERNAL',['../a00107.html#af3729ff16ba78ef4a6b70c341e81c749',1,'atca_command.h']]], + ['verify_5fmode_5fidx',['VERIFY_MODE_IDX',['../a00107.html#a896cc15df167f9a04f7e4f84de2bc7d2',1,'atca_command.h']]], + ['verify_5fmode_5finvalidate',['VERIFY_MODE_INVALIDATE',['../a00107.html#ab45a164ee20c8320318a3bc5e2eaa31f',1,'atca_command.h']]], + ['verify_5fmode_5fmac_5fflag',['VERIFY_MODE_MAC_FLAG',['../a00107.html#af3461e50ec2b06201d17feee167e0a4b',1,'atca_command.h']]], + ['verify_5fmode_5fmask',['VERIFY_MODE_MASK',['../a00107.html#ac892dbe1953c43e7e17b1d51ce967c9e',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5fmask',['VERIFY_MODE_SOURCE_MASK',['../a00107.html#a3d6ae4ea1e385c2f7521495b53715a3f',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5fmsgdigbuf',['VERIFY_MODE_SOURCE_MSGDIGBUF',['../a00107.html#a1b104109ce8d8c8a99484bc52d58460a',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5ftempkey',['VERIFY_MODE_SOURCE_TEMPKEY',['../a00107.html#ad5c40b78682251cb07855e58bcf29f82',1,'atca_command.h']]], + ['verify_5fmode_5fstored',['VERIFY_MODE_STORED',['../a00107.html#a1da616e68f89a90e6fa3c920b4708fe2',1,'atca_command.h']]], + ['verify_5fmode_5fvalidate',['VERIFY_MODE_VALIDATE',['../a00107.html#adb7f53410523734e4c9485f2d71e7791',1,'atca_command.h']]], + ['verify_5fmode_5fvalidate_5fexternal',['VERIFY_MODE_VALIDATE_EXTERNAL',['../a00107.html#a8f38093650cd530f44dc59e6eb78fa3d',1,'atca_command.h']]], + ['verify_5fother_5fdata',['verify_other_data',['../a01134.html#a04c0e9b276020bed4ed3d7d670ed3881',1,'atca_sign_internal_in_out']]], + ['verify_5fother_5fdata_5fsize',['VERIFY_OTHER_DATA_SIZE',['../a00107.html#a5a4ff6025fa5d4d936ededc78be16e47',1,'atca_command.h']]], + ['verify_5frsp_5fsize',['VERIFY_RSP_SIZE',['../a00107.html#ac75be9d5426dcf6ee196a788a35ee54b',1,'atca_command.h']]], + ['verify_5frsp_5fsize_5fmac',['VERIFY_RSP_SIZE_MAC',['../a00107.html#ace51b2a4dc8622ac3c03780dc369355e',1,'atca_command.h']]], + ['version_5finfo',['version_info',['../a01150.html#aea79a9ccd71a91f69bb5773f43350f14',1,'memory_parameters']]], + ['vid',['vid',['../a00930.html#a98780fe4ab562a61abfd7870ea0910c3',1,'ATCAIfaceCfg']]] ]; diff --git a/docs/html/search/all_16.js b/docs/html/search/all_16.js index a84dcfa41..fa46088a4 100644 --- a/docs/html/search/all_16.js +++ b/docs/html/search/all_16.js @@ -1,21 +1,21 @@ var searchData= [ - ['wake_5fdelay',['wake_delay',['../a03555.html#a058e797431a238154c5347fa26982044',1,'ATCAIfaceCfg']]], - ['warranties',['WARRANTIES',['../a00533.html#a8c193cd81f81696b59e5c6e5bb38d91f',1,'license.txt']]], - ['warranty',['WARRANTY',['../a00533.html#a01d4ec73d916d67d085f3e63d1fdbd4b',1,'license.txt']]], - ['word_5foffset',['WORD_OFFSET',['../a03535.html#ga9e5ab0fea07bd91159ab96f18105d1b1',1,'atca_basic.h']]], - ['wordsize',['wordsize',['../a03555.html#ae696a833509f858d17988acdb1deb161',1,'ATCAIfaceCfg']]], - ['write_5faddr_5fidx',['WRITE_ADDR_IDX',['../a00101.html#a2d9e0bcb5ccf94f140b1cd519f407ffa',1,'atca_command.h']]], - ['write_5fbufhandle',['write_bufHandle',['../a00383.html#a26a598d8070b8e4859fceb58f4212f78',1,'hal_pic32mz2048efm_i2c.c']]], - ['write_5fhandle',['write_handle',['../a03659.html#af11a0103eb96a026ea6782bfcad7548e',1,'cdc_device::write_handle()'],['../a03667.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0',1,'hid_device::write_handle()'],['../a03667.html#af11a0103eb96a026ea6782bfcad7548e',1,'hid_device::write_handle()']]], - ['write_5fmac_5fsize',['WRITE_MAC_SIZE',['../a00101.html#a3b8fb940e149c6fb29801ef573cc6311',1,'atca_command.h']]], - ['write_5fmac_5fvl_5fidx',['WRITE_MAC_VL_IDX',['../a00101.html#a9c08115363fb521e9fee60849046f820',1,'atca_command.h']]], - ['write_5fmac_5fvs_5fidx',['WRITE_MAC_VS_IDX',['../a00101.html#a203996620baf9cdf0aa01dd719e02d06',1,'atca_command.h']]], - ['write_5frsp_5fsize',['WRITE_RSP_SIZE',['../a00101.html#af0ac761b64981003336d72c34df3d2e3',1,'atca_command.h']]], - ['write_5fvalue_5fidx',['WRITE_VALUE_IDX',['../a00101.html#a5cdd382afc6d46da59de60fb35abd611',1,'atca_command.h']]], - ['write_5fzone_5fdata',['WRITE_ZONE_DATA',['../a00101.html#ae80ecfb4c696095b5627988cc7c9cde0',1,'atca_command.h']]], - ['write_5fzone_5fidx',['WRITE_ZONE_IDX',['../a00101.html#a8cbed81461d4e4c4991c50629b3a5bcd',1,'atca_command.h']]], - ['write_5fzone_5fmask',['WRITE_ZONE_MASK',['../a00101.html#aacd5623cd6f8eb12e7cdf22941f501dc',1,'atca_command.h']]], - ['write_5fzone_5fotp',['WRITE_ZONE_OTP',['../a00101.html#a830d379174b47b466f5de16fe3345182',1,'atca_command.h']]], - ['write_5fzone_5fwith_5fmac',['WRITE_ZONE_WITH_MAC',['../a00101.html#ac02ad2aea02f18d833e6e0631ae839ad',1,'atca_command.h']]] + ['wake_5fdelay',['wake_delay',['../a00930.html#a058e797431a238154c5347fa26982044',1,'ATCAIfaceCfg']]], + ['warranties',['WARRANTIES',['../a00554.html#a8c193cd81f81696b59e5c6e5bb38d91f',1,'license.txt']]], + ['warranty',['WARRANTY',['../a00554.html#a01d4ec73d916d67d085f3e63d1fdbd4b',1,'license.txt']]], + ['word_5foffset',['WORD_OFFSET',['../a00910.html#ga9e5ab0fea07bd91159ab96f18105d1b1',1,'atca_basic.h']]], + ['wordsize',['wordsize',['../a00930.html#ae696a833509f858d17988acdb1deb161',1,'ATCAIfaceCfg']]], + ['write_5faddr_5fidx',['WRITE_ADDR_IDX',['../a00107.html#a2d9e0bcb5ccf94f140b1cd519f407ffa',1,'atca_command.h']]], + ['write_5fbufhandle',['write_bufHandle',['../a00404.html#a26a598d8070b8e4859fceb58f4212f78',1,'hal_pic32mz2048efm_i2c.c']]], + ['write_5fhandle',['write_handle',['../a01038.html#af11a0103eb96a026ea6782bfcad7548e',1,'cdc_device::write_handle()'],['../a01046.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0',1,'hid_device::write_handle()'],['../a01046.html#af11a0103eb96a026ea6782bfcad7548e',1,'hid_device::write_handle()']]], + ['write_5fmac_5fsize',['WRITE_MAC_SIZE',['../a00107.html#a3b8fb940e149c6fb29801ef573cc6311',1,'atca_command.h']]], + ['write_5fmac_5fvl_5fidx',['WRITE_MAC_VL_IDX',['../a00107.html#a9c08115363fb521e9fee60849046f820',1,'atca_command.h']]], + ['write_5fmac_5fvs_5fidx',['WRITE_MAC_VS_IDX',['../a00107.html#a203996620baf9cdf0aa01dd719e02d06',1,'atca_command.h']]], + ['write_5frsp_5fsize',['WRITE_RSP_SIZE',['../a00107.html#af0ac761b64981003336d72c34df3d2e3',1,'atca_command.h']]], + ['write_5fvalue_5fidx',['WRITE_VALUE_IDX',['../a00107.html#a5cdd382afc6d46da59de60fb35abd611',1,'atca_command.h']]], + ['write_5fzone_5fdata',['WRITE_ZONE_DATA',['../a00107.html#ae80ecfb4c696095b5627988cc7c9cde0',1,'atca_command.h']]], + ['write_5fzone_5fidx',['WRITE_ZONE_IDX',['../a00107.html#a8cbed81461d4e4c4991c50629b3a5bcd',1,'atca_command.h']]], + ['write_5fzone_5fmask',['WRITE_ZONE_MASK',['../a00107.html#aacd5623cd6f8eb12e7cdf22941f501dc',1,'atca_command.h']]], + ['write_5fzone_5fotp',['WRITE_ZONE_OTP',['../a00107.html#a830d379174b47b466f5de16fe3345182',1,'atca_command.h']]], + ['write_5fzone_5fwith_5fmac',['WRITE_ZONE_WITH_MAC',['../a00107.html#ac02ad2aea02f18d833e6e0631ae839ad',1,'atca_command.h']]] ]; diff --git a/docs/html/search/all_17.js b/docs/html/search/all_17.js index 2248d3aee..4ef61bb7f 100644 --- a/docs/html/search/all_17.js +++ b/docs/html/search/all_17.js @@ -1,6 +1,4 @@ var searchData= [ - ['zero',['zero',['../a03538.html#ga876993158b491f4626155b468ffb6edc',1,'atca_nonce_in_out']]], - ['zero_5fpulse_5ftime_5fout',['ZERO_PULSE_TIME_OUT',['../a00494.html#ad935b86cd295ba61924231e29033c55b',1,'swi_bitbang_samd21.h']]], - ['zone',['zone',['../a03591.html#a107ad412023faa68c4ac0c7cfd921a02',1,'atcacert_device_loc_s::zone()'],['../a03723.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_gen_dig_in_out::zone()'],['../a03727.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_write_mac_in_out::zone()']]] + ['y',['y',['../a01002.html#a9c1e7c3354912a5ef370b17e583c48f7',1,'atca_aes_gcm_ctx']]] ]; diff --git a/docs/html/search/all_18.html b/docs/html/search/all_18.html new file mode 100644 index 000000000..2a0090254 --- /dev/null +++ b/docs/html/search/all_18.html @@ -0,0 +1,30 @@ + + + + + + + + + +
        +
        Loading...
        +
        + +
        Searching...
        +
        No Matches
        + +
        + + diff --git a/docs/html/search/all_18.js b/docs/html/search/all_18.js new file mode 100644 index 000000000..1076ad8e8 --- /dev/null +++ b/docs/html/search/all_18.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['zero',['zero',['../a00913.html#ga876993158b491f4626155b468ffb6edc',1,'atca_nonce_in_out']]], + ['zero_5fpulse_5ftime_5fout',['ZERO_PULSE_TIME_OUT',['../a00515.html#ad935b86cd295ba61924231e29033c55b',1,'swi_bitbang_samd21.h']]], + ['zone',['zone',['../a00966.html#a107ad412023faa68c4ac0c7cfd921a02',1,'atcacert_device_loc_s::zone()'],['../a01102.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_gen_dig_in_out::zone()'],['../a01106.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_write_mac_in_out::zone()']]] +]; diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js index 1370b7126..a8c855645 100644 --- a/docs/html/search/all_2.js +++ b/docs/html/search/all_2.js @@ -1,25 +1,25 @@ var searchData= [ - ['basic_20crypto_20api_20methods_20_28atcab_5f_29',['Basic Crypto API methods (atcab_)',['../a03535.html',1,'']]], - ['b64_5fis_5fequal',['B64_IS_EQUAL',['../a00251.html#a42f1518aca295fab198d042b18fef075',1,'atca_helpers.c']]], - ['b64_5fis_5finvalid',['B64_IS_INVALID',['../a00251.html#abd4bf9cd40bc547cd53e2ef325a1c8d0',1,'atca_helpers.c']]], - ['base64char',['base64Char',['../a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c']]], - ['base64index',['base64Index',['../a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c']]], - ['baud',['baud',['../a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1',1,'ATCAIfaceCfg']]], - ['bit_5fdelay_5f1h',['BIT_DELAY_1H',['../a00494.html#a1ce4882b7d053eafcec22cd84fb5727d',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f1l',['BIT_DELAY_1L',['../a00494.html#ad884cf7d66d88b38180369a791a9824b',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f5',['BIT_DELAY_5',['../a00494.html#a2ced4699fc4ab5162dbb9453edecb32e',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f7',['BIT_DELAY_7',['../a00494.html#abd0d20a34060650b8a2895c17f842f44',1,'swi_bitbang_samd21.h']]], - ['block',['block',['../a03615.html#adae27798b73271394b86837502dfd853',1,'atca_aes_cmac_ctx::block()'],['../a03623.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'atca_sha256_ctx::block()'],['../a03627.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'hw_sha256_ctx::block()'],['../a03643.html#a0559c245b725b5b78057620e9677211e',1,'sw_sha256_ctx::block()']]], - ['block_5fnumber',['BLOCK_NUMBER',['../a03535.html#ga66d0b18bba952f5acdee8cf68b889b75',1,'atca_basic.h']]], - ['block_5fsize',['block_size',['../a03615.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_aes_cmac_ctx::block_size()'],['../a03623.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_sha256_ctx::block_size()'],['../a03627.html#a9e3fb1e50a1c71b2337df296222d9553',1,'hw_sha256_ctx::block_size()'],['../a03643.html#a9e3fb1e50a1c71b2337df296222d9553',1,'sw_sha256_ctx::block_size()']]], - ['break',['BREAK',['../a00299.html#a8f200e8d61725d588e0b7815efb0dc25',1,'cryptoauthlib.h']]], - ['buf',['buf',['../a03639.html#afa9986c74d11cc23893e2de2a505cafe',1,'CL_HashContext::buf()'],['../a03759.html#a1fe855c208bc17a51a4d34fefdb2d5b1',1,'atca_jwt_t::buf()']]], - ['buflen',['buflen',['../a03759.html#a892366b22e8ea42d95e49308022eef4d',1,'atca_jwt_t']]], - ['bus',['bus',['../a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d',1,'ATCAIfaceCfg']]], - ['bus_5findex',['bus_index',['../a03655.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaI2Cmaster::bus_index()'],['../a03675.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaSWImaster::bus_index()']]], - ['bytecount',['byteCount',['../a03639.html#a7dd834dde7d653957f91657aca4eb124',1,'CL_HashContext']]], - ['bytecounthi',['byteCountHi',['../a03639.html#a4f18b15c445fd0f55a0bf182e173d563',1,'CL_HashContext']]], - ['bytes_5ftransferred',['bytes_transferred',['../a00383.html#a705bf15f5ef9124f654f128ea30af884',1,'hal_pic32mz2048efm_i2c.c']]], - ['basic_20directory_20_2d_20purpose',['basic directory - Purpose',['../a03773.html',1,'']]] + ['basic_20crypto_20api_20methods_20_28atcab_5f_29',['Basic Crypto API methods (atcab_)',['../a00910.html',1,'']]], + ['b64_5fis_5fequal',['B64_IS_EQUAL',['../a00272.html#a42f1518aca295fab198d042b18fef075',1,'atca_helpers.c']]], + ['b64_5fis_5finvalid',['B64_IS_INVALID',['../a00272.html#abd4bf9cd40bc547cd53e2ef325a1c8d0',1,'atca_helpers.c']]], + ['base64char',['base64Char',['../a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c']]], + ['base64index',['base64Index',['../a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c']]], + ['baud',['baud',['../a00930.html#ac6e5ec63505c02923d71f7409cdbf1d1',1,'ATCAIfaceCfg']]], + ['bit_5fdelay_5f1h',['BIT_DELAY_1H',['../a00515.html#a1ce4882b7d053eafcec22cd84fb5727d',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f1l',['BIT_DELAY_1L',['../a00515.html#ad884cf7d66d88b38180369a791a9824b',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f5',['BIT_DELAY_5',['../a00515.html#a2ced4699fc4ab5162dbb9453edecb32e',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f7',['BIT_DELAY_7',['../a00515.html#abd0d20a34060650b8a2895c17f842f44',1,'swi_bitbang_samd21.h']]], + ['block',['block',['../a00990.html#adae27798b73271394b86837502dfd853',1,'atca_aes_cmac_ctx::block()'],['../a00998.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'atca_sha256_ctx::block()'],['../a01006.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'hw_sha256_ctx::block()'],['../a01022.html#a0559c245b725b5b78057620e9677211e',1,'sw_sha256_ctx::block()']]], + ['block_5fnumber',['BLOCK_NUMBER',['../a00910.html#ga66d0b18bba952f5acdee8cf68b889b75',1,'atca_basic.h']]], + ['block_5fsize',['block_size',['../a00990.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_aes_cmac_ctx::block_size()'],['../a00998.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_sha256_ctx::block_size()'],['../a01006.html#a9e3fb1e50a1c71b2337df296222d9553',1,'hw_sha256_ctx::block_size()'],['../a01022.html#a9e3fb1e50a1c71b2337df296222d9553',1,'sw_sha256_ctx::block_size()']]], + ['break',['BREAK',['../a00320.html#a8f200e8d61725d588e0b7815efb0dc25',1,'cryptoauthlib.h']]], + ['buf',['buf',['../a01018.html#afa9986c74d11cc23893e2de2a505cafe',1,'CL_HashContext::buf()'],['../a01138.html#a1fe855c208bc17a51a4d34fefdb2d5b1',1,'atca_jwt_t::buf()']]], + ['buflen',['buflen',['../a01138.html#a892366b22e8ea42d95e49308022eef4d',1,'atca_jwt_t']]], + ['bus',['bus',['../a00930.html#a5262d4a80e6a0b6dce6fd57d4656786d',1,'ATCAIfaceCfg']]], + ['bus_5findex',['bus_index',['../a01034.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaI2Cmaster::bus_index()'],['../a01054.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaSWImaster::bus_index()']]], + ['bytecount',['byteCount',['../a01018.html#a7dd834dde7d653957f91657aca4eb124',1,'CL_HashContext']]], + ['bytecounthi',['byteCountHi',['../a01018.html#a4f18b15c445fd0f55a0bf182e173d563',1,'CL_HashContext']]], + ['bytes_5ftransferred',['bytes_transferred',['../a00404.html#a705bf15f5ef9124f654f128ea30af884',1,'hal_pic32mz2048efm_i2c.c']]], + ['basic_20directory_20_2d_20purpose',['basic directory - Purpose',['../a01152.html',1,'']]] ]; diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js index 44b0ae4ed..748fbd603 100644 --- a/docs/html/search/all_3.js +++ b/docs/html/search/all_3.js @@ -1,96 +1,98 @@ var searchData= [ - ['certificate_20manipulation_20methods_20_28atcacert_5f_29',['Certificate manipulation methods (atcacert_)',['../a03534.html',1,'']]], - ['ca_5fcert_5fdef',['ca_cert_def',['../a03603.html#aa5cb3f21e0d4d77567550388a7f08768',1,'atcacert_def_s']]], - ['caused',['CAUSED',['../a00533.html#a767219a61a50c898b274065be1807045',1,'license.txt']]], - ['cbc_5fctx',['cbc_ctx',['../a03615.html#a9246ae6d7229247b3e9b5e540a26ac05',1,'atca_aes_cmac_ctx']]], - ['cdc_5fbuffer_5fmax',['CDC_BUFFER_MAX',['../a03537.html#ga5ac8c9377f90d6ce3044f81f900a54fe',1,'CDC_BUFFER_MAX(): hal_linux_kit_cdc.h'],['../a00455.html#a5ac8c9377f90d6ce3044f81f900a54fe',1,'CDC_BUFFER_MAX(): hal_win_kit_cdc.h']]], - ['cdc_5fdevice',['cdc_device',['../a03659.html',1,'']]], - ['cdc_5fdevice_5ft',['cdc_device_t',['../a03537.html#ga99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_linux_kit_cdc.h'],['../a00455.html#a99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_win_kit_cdc.h']]], - ['cdc_5fdevices_5fmax',['CDC_DEVICES_MAX',['../a03537.html#ga08b6c05184266dc4d5c8727bb9c1c754',1,'CDC_DEVICES_MAX(): hal_linux_kit_cdc.h'],['../a00455.html#a08b6c05184266dc4d5c8727bb9c1c754',1,'CDC_DEVICES_MAX(): hal_win_kit_cdc.h']]], - ['cert',['cert',['../a03607.html#aa09eb68c2656a44748cad406cf960f7c',1,'atcacert_build_state_s']]], - ['cert_5fdef',['cert_def',['../a03607.html#abaf4bb65d962f53a31b943c663eaf3b9',1,'atcacert_build_state_s']]], - ['cert_5felements',['cert_elements',['../a03603.html#aa9a44f95411d86a78a93e650a9c19f53',1,'atcacert_def_s']]], - ['cert_5felements_5fcount',['cert_elements_count',['../a03603.html#afe2b347e101c9f7be9f73b8fda53de29',1,'atcacert_def_s']]], - ['cert_5floc',['cert_loc',['../a03599.html#af74e55b0689356f989d8330ae3072376',1,'atcacert_cert_element_s']]], - ['cert_5fsize',['cert_size',['../a03607.html#a083f29531821a0ef698b452cb2b7f5b4',1,'atcacert_build_state_s']]], - ['cert_5fsn_5fdev_5floc',['cert_sn_dev_loc',['../a03603.html#ab02a37cdd6671ab98d0124c5b91623b0',1,'atcacert_def_s']]], - ['cert_5ftemplate',['cert_template',['../a03603.html#acb91631744ba06809269dc2f137c835c',1,'atcacert_def_s']]], - ['cert_5ftemplate_5fsize',['cert_template_size',['../a03603.html#a67c40218f646b70740c0d2027eb152a0',1,'atcacert_def_s']]], - ['certtype_5fcustom',['CERTTYPE_CUSTOM',['../a03534.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb',1,'atcacert_def.h']]], - ['certtype_5fx509',['CERTTYPE_X509',['../a03534.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44',1,'atcacert_def.h']]], - ['cfg_5fateccx08a_5fi2c_5fdefault',['cfg_ateccx08a_i2c_default',['../a03530.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c'],['../a03530.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fkitcdc_5fdefault',['cfg_ateccx08a_kitcdc_default',['../a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c'],['../a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fkithid_5fdefault',['cfg_ateccx08a_kithid_default',['../a03530.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c'],['../a03530.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fswi_5fdefault',['cfg_ateccx08a_swi_default',['../a03530.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c'],['../a03530.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fi2c_5fdefault',['cfg_atsha204a_i2c_default',['../a03530.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c'],['../a03530.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fkitcdc_5fdefault',['cfg_atsha204a_kitcdc_default',['../a03530.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c'],['../a03530.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fkithid_5fdefault',['cfg_atsha204a_kithid_default',['../a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c'],['../a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fswi_5fdefault',['cfg_atsha204a_swi_default',['../a03530.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c'],['../a03530.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c']]], - ['cfg_5fdata',['cfg_data',['../a03555.html#a97e106cc7267316cf40988744b231111',1,'ATCAIfaceCfg']]], - ['chain_5fid',['chain_id',['../a03603.html#af383252a42d77882d0f3aac7f6ee5048',1,'atcacert_def_s']]], - ['challenge',['challenge',['../a03538.html#ga88d82c85f774fa04ccf768e566fec194',1,'atca_mac_in_out']]], - ['change_5fi2c_5fspeed',['change_i2c_speed',['../a03537.html#gab7f613b378e0d01b80703df3ac662d6d',1,'hal_at90usb1287_i2c_asf.c']]], - ['check_5fdevice_5fio_5fprotection_5fkey_5fgenerate',['check_device_io_protection_key_generate',['../a00020.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c'],['../a00023.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c']]], - ['checkmac_5fclient_5fchallenge_5fidx',['CHECKMAC_CLIENT_CHALLENGE_IDX',['../a03531.html#ga0f2c0b2e264a88b766811fe4ea0de88f',1,'atca_command.h']]], - ['checkmac_5fclient_5fchallenge_5fsize',['CHECKMAC_CLIENT_CHALLENGE_SIZE',['../a03531.html#ga3c7444c099cf0f89f754fd3cbec77bf4',1,'atca_command.h']]], - ['checkmac_5fclient_5fcommand_5fsize',['CHECKMAC_CLIENT_COMMAND_SIZE',['../a03531.html#gad3d431e17094b6690d443e0a038da9e2',1,'atca_command.h']]], - ['checkmac_5fclient_5fresponse_5fidx',['CHECKMAC_CLIENT_RESPONSE_IDX',['../a03531.html#ga170c911bfe1a20e3572bdc5c2cd80c9d',1,'atca_command.h']]], - ['checkmac_5fclient_5fresponse_5fsize',['CHECKMAC_CLIENT_RESPONSE_SIZE',['../a03531.html#ga93cb0fdfc89b69cb1c4670f30288f2ad',1,'atca_command.h']]], - ['checkmac_5fcmd_5fmatch',['CHECKMAC_CMD_MATCH',['../a03531.html#ga09b26b691e29966bcec1513edf819efe',1,'atca_command.h']]], - ['checkmac_5fcmd_5fmismatch',['CHECKMAC_CMD_MISMATCH',['../a03531.html#ga1db673cb318ec36ebd0c9c1a5ce301ad',1,'atca_command.h']]], - ['checkmac_5fcount',['CHECKMAC_COUNT',['../a03531.html#ga4c998ee3d596f3006a4488bd8657df33',1,'atca_command.h']]], - ['checkmac_5fdata_5fidx',['CHECKMAC_DATA_IDX',['../a03531.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2',1,'atca_command.h']]], - ['checkmac_5fkeyid_5fidx',['CHECKMAC_KEYID_IDX',['../a03531.html#ga4203bbb296cd67d035066979657cf979',1,'atca_command.h']]], - ['checkmac_5fmode_5fblock1_5ftempkey',['CHECKMAC_MODE_BLOCK1_TEMPKEY',['../a03531.html#ga9088fc1b89c3ca9b58901de000d8d55d',1,'atca_command.h']]], - ['checkmac_5fmode_5fblock2_5ftempkey',['CHECKMAC_MODE_BLOCK2_TEMPKEY',['../a03531.html#ga40d926e0e037fc8bb265bb19f57e5d1a',1,'atca_command.h']]], - ['checkmac_5fmode_5fchallenge',['CHECKMAC_MODE_CHALLENGE',['../a03531.html#gaaabcd1e4afb29088a17f7e87e7136e24',1,'atca_command.h']]], - ['checkmac_5fmode_5fidx',['CHECKMAC_MODE_IDX',['../a03531.html#gae757542e1c4d4815e1dc8db034dca476',1,'atca_command.h']]], - ['checkmac_5fmode_5finclude_5fotp_5f64',['CHECKMAC_MODE_INCLUDE_OTP_64',['../a03531.html#gabeef4ff866116f4e17a6c3ad94b0a286',1,'atca_command.h']]], - ['checkmac_5fmode_5fmask',['CHECKMAC_MODE_MASK',['../a03531.html#ga67e74cb132024711cf064ff98021d71f',1,'atca_command.h']]], - ['checkmac_5fmode_5fsource_5fflag_5fmatch',['CHECKMAC_MODE_SOURCE_FLAG_MATCH',['../a03531.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad',1,'atca_command.h']]], - ['checkmac_5fother_5fdata_5fsize',['CHECKMAC_OTHER_DATA_SIZE',['../a03531.html#ga7c365741639a5c7dc29267a130e8d827',1,'atca_command.h']]], - ['checkmac_5frsp_5fsize',['CHECKMAC_RSP_SIZE',['../a03531.html#gaa44ecaa440ab845d5939333171476adf',1,'atca_command.h']]], - ['ciphertext',['ciphertext',['../a03611.html#a984a9b23546b1bab664b3a3e721830b7',1,'atca_aes_cbc_ctx']]], - ['cl_5fhash',['CL_hash',['../a00287.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c'],['../a00290.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c']]], - ['cl_5fhashcontext',['CL_HashContext',['../a03639.html',1,'']]], - ['cl_5fhashfinal',['CL_hashFinal',['../a00287.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c'],['../a00290.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c']]], - ['cl_5fhashinit',['CL_hashInit',['../a00287.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c'],['../a00290.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c']]], - ['cl_5fhashupdate',['CL_hashUpdate',['../a00287.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c'],['../a00290.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c']]], - ['client_5fchal',['client_chal',['../a03743.html#a218f1c30c4a21b348dbe1817a2c14896',1,'atca_check_mac_in_out']]], - ['client_5fresp',['client_resp',['../a03743.html#a430a448768d687a94e3daaa00dce63ce',1,'atca_check_mac_in_out']]], - ['clock_5fdivider',['clock_divider',['../a03543.html#a380510ad0d2dbde608f38387436db3bc',1,'atca_command']]], - ['cmd_5fstatus_5fbyte_5fcomm',['CMD_STATUS_BYTE_COMM',['../a03531.html#ga6a6daf9c5640ad80e7af330daad1f6ea',1,'atca_command.h']]], - ['cmd_5fstatus_5fbyte_5fecc',['CMD_STATUS_BYTE_ECC',['../a03531.html#ga44cee4dee17a7c1a2618d11e8e5774dd',1,'atca_command.h']]], - ['cmd_5fstatus_5fbyte_5fexec',['CMD_STATUS_BYTE_EXEC',['../a03531.html#gae496c798891069e04802bbac7d96e0f5',1,'atca_command.h']]], - ['cmd_5fstatus_5fbyte_5fparse',['CMD_STATUS_BYTE_PARSE',['../a03531.html#gaef76930f6d419fc30841be04fe6ac8d6',1,'atca_command.h']]], - ['cmd_5fstatus_5fsuccess',['CMD_STATUS_SUCCESS',['../a03531.html#ga85c326c023bdc268c499eb33375f2270',1,'atca_command.h']]], - ['cmd_5fstatus_5fwakeup',['CMD_STATUS_WAKEUP',['../a03531.html#gafd20c2250b83786f216a100bde94a670',1,'atca_command.h']]], - ['comp_5fcert_5fdev_5floc',['comp_cert_dev_loc',['../a03603.html#a2d5a033a5aa1227c536ec1aa71a84fa5',1,'atcacert_def_s']]], - ['conf',['conf',['../a00332.html#aa09ddc709367c497fc081a29aa2d12fe',1,'hal_esp32_i2c.c']]], - ['configuration_20_28cfg_5f_29',['Configuration (cfg_)',['../a03530.html',1,'']]], - ['contract',['CONTRACT',['../a00533.html#a348ab46a13fa6aa8fa90037913b92d6c',1,'license.txt']]], - ['count',['count',['../a03591.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_device_loc_s::count()'],['../a03595.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_cert_loc_s::count()']]], - ['counter_5fcount',['COUNTER_COUNT',['../a03531.html#ga20f86d5c7f97f2513eebddce69917fbf',1,'atca_command.h']]], - ['counter_5fkeyid_5fidx',['COUNTER_KEYID_IDX',['../a03531.html#ga269bd52a7856116ebce13c1072f56d9e',1,'atca_command.h']]], - ['counter_5fmax_5fvalue',['COUNTER_MAX_VALUE',['../a03531.html#gabc722de99f444668d09e3815fcc78400',1,'atca_command.h']]], - ['counter_5fmode_5fidx',['COUNTER_MODE_IDX',['../a03531.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7',1,'atca_command.h']]], - ['counter_5fmode_5fincrement',['COUNTER_MODE_INCREMENT',['../a03531.html#gaadb200c87d6dedb5768eeb8395e697c2',1,'atca_command.h']]], - ['counter_5fmode_5fmask',['COUNTER_MODE_MASK',['../a03531.html#ga7b90ca417a76facaeec91d8f2c10f860',1,'atca_command.h']]], - ['counter_5fmode_5fread',['COUNTER_MODE_READ',['../a03531.html#ga4e3355c5ab7c48cfe466c9374ccc698e',1,'atca_command.h']]], - ['counter_5frsp_5fsize',['COUNTER_RSP_SIZE',['../a03531.html#ga66287a8b6f625f866b5cecc4845993ed',1,'atca_command.h']]], - ['counter_5fsize',['counter_size',['../a03619.html#ab645bb8a04ce16b6ab3c843dd4d1c177',1,'atca_aes_ctr_ctx']]], - ['cpu_5fclock',['CPU_CLOCK',['../a03537.html#ga512016e5f1966a8fd45b3f1a81ba5b8f',1,'hal_pic32mx695f512h_timer.c']]], - ['crypto_5fdata',['crypto_data',['../a03538.html#ga4155a23e70d1bf07de5d316efebeaee7',1,'atca_decrypt_in_out']]], - ['crypto_5fdevice_5fapp_2ec',['crypto_device_app.c',['../a00011.html',1,'']]], - ['crypto_5fdevice_5fapp_2eh',['crypto_device_app.h',['../a00014.html',1,'']]], - ['crypto_5fdevice_5fenable_5fsecure_5fboot',['CRYPTO_DEVICE_ENABLE_SECURE_BOOT',['../a00014.html#a78d2d5f4d0c6ce2228e32d0ed1baddee',1,'crypto_device_app.h']]], - ['crypto_5fdevice_5fload_5fconfig_5fenabled',['CRYPTO_DEVICE_LOAD_CONFIG_ENABLED',['../a00014.html#aa6f08e0b0783a9989ae5c4584668fdcc',1,'crypto_device_app.h']]], - ['crypto_5fdevice_5fload_5fconfiguration',['crypto_device_load_configuration',['../a00014.html#a80d86458de1b0031747eeeffb6feee0b',1,'crypto_device_app.h']]], - ['crypto_5fdevice_5fverify_5fapp',['crypto_device_verify_app',['../a00011.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c'],['../a00014.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c']]], - ['cryptoauthlib_2eh',['cryptoauthlib.h',['../a00299.html',1,'']]], - ['cur',['cur',['../a03759.html#aee7e8f6f5f1a4b5b402473cf99d3042a',1,'atca_jwt_t']]], - ['curve_5ftype',['curve_type',['../a03538.html#ga9be4eee4ac6c9248a824d093f165839e',1,'atca_verify_in_out']]], + ['certificate_20manipulation_20methods_20_28atcacert_5f_29',['Certificate manipulation methods (atcacert_)',['../a00909.html',1,'']]], + ['ca_5fcert_5fdef',['ca_cert_def',['../a00978.html#aa5cb3f21e0d4d77567550388a7f08768',1,'atcacert_def_s']]], + ['caused',['CAUSED',['../a00554.html#a767219a61a50c898b274065be1807045',1,'license.txt']]], + ['cb',['cb',['../a00994.html#a5af729786916ea6a413d85fb8bba87f1',1,'atca_aes_ctr_ctx::cb()'],['../a01002.html#a5af729786916ea6a413d85fb8bba87f1',1,'atca_aes_gcm_ctx::cb()']]], + ['cbc_5fctx',['cbc_ctx',['../a00990.html#a9246ae6d7229247b3e9b5e540a26ac05',1,'atca_aes_cmac_ctx']]], + ['cdc_5fbuffer_5fmax',['CDC_BUFFER_MAX',['../a00912.html#ga5ac8c9377f90d6ce3044f81f900a54fe',1,'CDC_BUFFER_MAX(): hal_linux_kit_cdc.h'],['../a00476.html#a5ac8c9377f90d6ce3044f81f900a54fe',1,'CDC_BUFFER_MAX(): hal_win_kit_cdc.h']]], + ['cdc_5fdevice',['cdc_device',['../a01038.html',1,'']]], + ['cdc_5fdevice_5ft',['cdc_device_t',['../a00912.html#ga99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_linux_kit_cdc.h'],['../a00476.html#a99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_win_kit_cdc.h']]], + ['cdc_5fdevices_5fmax',['CDC_DEVICES_MAX',['../a00912.html#ga08b6c05184266dc4d5c8727bb9c1c754',1,'CDC_DEVICES_MAX(): hal_linux_kit_cdc.h'],['../a00476.html#a08b6c05184266dc4d5c8727bb9c1c754',1,'CDC_DEVICES_MAX(): hal_win_kit_cdc.h']]], + ['cert',['cert',['../a00982.html#aa09eb68c2656a44748cad406cf960f7c',1,'atcacert_build_state_s']]], + ['cert_5fdef',['cert_def',['../a00982.html#abaf4bb65d962f53a31b943c663eaf3b9',1,'atcacert_build_state_s']]], + ['cert_5felements',['cert_elements',['../a00978.html#aa9a44f95411d86a78a93e650a9c19f53',1,'atcacert_def_s']]], + ['cert_5felements_5fcount',['cert_elements_count',['../a00978.html#afe2b347e101c9f7be9f73b8fda53de29',1,'atcacert_def_s']]], + ['cert_5floc',['cert_loc',['../a00974.html#af74e55b0689356f989d8330ae3072376',1,'atcacert_cert_element_s']]], + ['cert_5fsize',['cert_size',['../a00982.html#a083f29531821a0ef698b452cb2b7f5b4',1,'atcacert_build_state_s']]], + ['cert_5fsn_5fdev_5floc',['cert_sn_dev_loc',['../a00978.html#ab02a37cdd6671ab98d0124c5b91623b0',1,'atcacert_def_s']]], + ['cert_5ftemplate',['cert_template',['../a00978.html#acb91631744ba06809269dc2f137c835c',1,'atcacert_def_s']]], + ['cert_5ftemplate_5fsize',['cert_template_size',['../a00978.html#a67c40218f646b70740c0d2027eb152a0',1,'atcacert_def_s']]], + ['certtype_5fcustom',['CERTTYPE_CUSTOM',['../a00909.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb',1,'atcacert_def.h']]], + ['certtype_5fx509',['CERTTYPE_X509',['../a00909.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44',1,'atcacert_def.h']]], + ['cfg_5fateccx08a_5fi2c_5fdefault',['cfg_ateccx08a_i2c_default',['../a00905.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c'],['../a00905.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fkitcdc_5fdefault',['cfg_ateccx08a_kitcdc_default',['../a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c'],['../a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fkithid_5fdefault',['cfg_ateccx08a_kithid_default',['../a00905.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c'],['../a00905.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fswi_5fdefault',['cfg_ateccx08a_swi_default',['../a00905.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c'],['../a00905.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fi2c_5fdefault',['cfg_atsha204a_i2c_default',['../a00905.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c'],['../a00905.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fkitcdc_5fdefault',['cfg_atsha204a_kitcdc_default',['../a00905.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c'],['../a00905.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fkithid_5fdefault',['cfg_atsha204a_kithid_default',['../a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c'],['../a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fswi_5fdefault',['cfg_atsha204a_swi_default',['../a00905.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c'],['../a00905.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c']]], + ['cfg_5fdata',['cfg_data',['../a00930.html#a97e106cc7267316cf40988744b231111',1,'ATCAIfaceCfg']]], + ['chain_5fid',['chain_id',['../a00978.html#af383252a42d77882d0f3aac7f6ee5048',1,'atcacert_def_s']]], + ['challenge',['challenge',['../a00913.html#ga88d82c85f774fa04ccf768e566fec194',1,'atca_mac_in_out']]], + ['change_5fi2c_5fspeed',['change_i2c_speed',['../a00912.html#gab7f613b378e0d01b80703df3ac662d6d',1,'hal_at90usb1287_i2c_asf.c']]], + ['check_5fdevice_5fio_5fprotection_5fkey_5fgenerate',['check_device_io_protection_key_generate',['../a00026.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c'],['../a00029.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c']]], + ['checkmac_5fclient_5fchallenge_5fidx',['CHECKMAC_CLIENT_CHALLENGE_IDX',['../a00906.html#ga0f2c0b2e264a88b766811fe4ea0de88f',1,'atca_command.h']]], + ['checkmac_5fclient_5fchallenge_5fsize',['CHECKMAC_CLIENT_CHALLENGE_SIZE',['../a00906.html#ga3c7444c099cf0f89f754fd3cbec77bf4',1,'atca_command.h']]], + ['checkmac_5fclient_5fcommand_5fsize',['CHECKMAC_CLIENT_COMMAND_SIZE',['../a00906.html#gad3d431e17094b6690d443e0a038da9e2',1,'atca_command.h']]], + ['checkmac_5fclient_5fresponse_5fidx',['CHECKMAC_CLIENT_RESPONSE_IDX',['../a00906.html#ga170c911bfe1a20e3572bdc5c2cd80c9d',1,'atca_command.h']]], + ['checkmac_5fclient_5fresponse_5fsize',['CHECKMAC_CLIENT_RESPONSE_SIZE',['../a00906.html#ga93cb0fdfc89b69cb1c4670f30288f2ad',1,'atca_command.h']]], + ['checkmac_5fcmd_5fmatch',['CHECKMAC_CMD_MATCH',['../a00906.html#ga09b26b691e29966bcec1513edf819efe',1,'atca_command.h']]], + ['checkmac_5fcmd_5fmismatch',['CHECKMAC_CMD_MISMATCH',['../a00906.html#ga1db673cb318ec36ebd0c9c1a5ce301ad',1,'atca_command.h']]], + ['checkmac_5fcount',['CHECKMAC_COUNT',['../a00906.html#ga4c998ee3d596f3006a4488bd8657df33',1,'atca_command.h']]], + ['checkmac_5fdata_5fidx',['CHECKMAC_DATA_IDX',['../a00906.html#ga1ba2ec2d321b3f90f53c02c7fb9711f2',1,'atca_command.h']]], + ['checkmac_5fkeyid_5fidx',['CHECKMAC_KEYID_IDX',['../a00906.html#ga4203bbb296cd67d035066979657cf979',1,'atca_command.h']]], + ['checkmac_5fmode_5fblock1_5ftempkey',['CHECKMAC_MODE_BLOCK1_TEMPKEY',['../a00906.html#ga9088fc1b89c3ca9b58901de000d8d55d',1,'atca_command.h']]], + ['checkmac_5fmode_5fblock2_5ftempkey',['CHECKMAC_MODE_BLOCK2_TEMPKEY',['../a00906.html#ga40d926e0e037fc8bb265bb19f57e5d1a',1,'atca_command.h']]], + ['checkmac_5fmode_5fchallenge',['CHECKMAC_MODE_CHALLENGE',['../a00906.html#gaaabcd1e4afb29088a17f7e87e7136e24',1,'atca_command.h']]], + ['checkmac_5fmode_5fidx',['CHECKMAC_MODE_IDX',['../a00906.html#gae757542e1c4d4815e1dc8db034dca476',1,'atca_command.h']]], + ['checkmac_5fmode_5finclude_5fotp_5f64',['CHECKMAC_MODE_INCLUDE_OTP_64',['../a00906.html#gabeef4ff866116f4e17a6c3ad94b0a286',1,'atca_command.h']]], + ['checkmac_5fmode_5fmask',['CHECKMAC_MODE_MASK',['../a00906.html#ga67e74cb132024711cf064ff98021d71f',1,'atca_command.h']]], + ['checkmac_5fmode_5fsource_5fflag_5fmatch',['CHECKMAC_MODE_SOURCE_FLAG_MATCH',['../a00906.html#gac3ca4e46c6a0fb69ba0dfa5fe88ed9ad',1,'atca_command.h']]], + ['checkmac_5fother_5fdata_5fsize',['CHECKMAC_OTHER_DATA_SIZE',['../a00906.html#ga7c365741639a5c7dc29267a130e8d827',1,'atca_command.h']]], + ['checkmac_5frsp_5fsize',['CHECKMAC_RSP_SIZE',['../a00906.html#gaa44ecaa440ab845d5939333171476adf',1,'atca_command.h']]], + ['ciphertext',['ciphertext',['../a00986.html#a984a9b23546b1bab664b3a3e721830b7',1,'atca_aes_cbc_ctx']]], + ['ciphertext_5fblock',['ciphertext_block',['../a01002.html#aa63a85c57bd002717a92339b122ada8d',1,'atca_aes_gcm_ctx']]], + ['cl_5fhash',['CL_hash',['../a00308.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c'],['../a00311.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c']]], + ['cl_5fhashcontext',['CL_HashContext',['../a01018.html',1,'']]], + ['cl_5fhashfinal',['CL_hashFinal',['../a00308.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c'],['../a00311.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c']]], + ['cl_5fhashinit',['CL_hashInit',['../a00308.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c'],['../a00311.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c']]], + ['cl_5fhashupdate',['CL_hashUpdate',['../a00308.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c'],['../a00311.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c']]], + ['client_5fchal',['client_chal',['../a01122.html#a218f1c30c4a21b348dbe1817a2c14896',1,'atca_check_mac_in_out']]], + ['client_5fresp',['client_resp',['../a01122.html#a430a448768d687a94e3daaa00dce63ce',1,'atca_check_mac_in_out']]], + ['clock_5fdivider',['clock_divider',['../a00918.html#a380510ad0d2dbde608f38387436db3bc',1,'atca_command']]], + ['cmd_5fstatus_5fbyte_5fcomm',['CMD_STATUS_BYTE_COMM',['../a00906.html#ga6a6daf9c5640ad80e7af330daad1f6ea',1,'atca_command.h']]], + ['cmd_5fstatus_5fbyte_5fecc',['CMD_STATUS_BYTE_ECC',['../a00906.html#ga44cee4dee17a7c1a2618d11e8e5774dd',1,'atca_command.h']]], + ['cmd_5fstatus_5fbyte_5fexec',['CMD_STATUS_BYTE_EXEC',['../a00906.html#gae496c798891069e04802bbac7d96e0f5',1,'atca_command.h']]], + ['cmd_5fstatus_5fbyte_5fparse',['CMD_STATUS_BYTE_PARSE',['../a00906.html#gaef76930f6d419fc30841be04fe6ac8d6',1,'atca_command.h']]], + ['cmd_5fstatus_5fsuccess',['CMD_STATUS_SUCCESS',['../a00906.html#ga85c326c023bdc268c499eb33375f2270',1,'atca_command.h']]], + ['cmd_5fstatus_5fwakeup',['CMD_STATUS_WAKEUP',['../a00906.html#gafd20c2250b83786f216a100bde94a670',1,'atca_command.h']]], + ['comp_5fcert_5fdev_5floc',['comp_cert_dev_loc',['../a00978.html#a2d5a033a5aa1227c536ec1aa71a84fa5',1,'atcacert_def_s']]], + ['conf',['conf',['../a00353.html#aa09ddc709367c497fc081a29aa2d12fe',1,'hal_esp32_i2c.c']]], + ['configuration_20_28cfg_5f_29',['Configuration (cfg_)',['../a00905.html',1,'']]], + ['contract',['CONTRACT',['../a00554.html#a348ab46a13fa6aa8fa90037913b92d6c',1,'license.txt']]], + ['count',['count',['../a00966.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_device_loc_s::count()'],['../a00970.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_cert_loc_s::count()']]], + ['counter_5fcount',['COUNTER_COUNT',['../a00906.html#ga20f86d5c7f97f2513eebddce69917fbf',1,'atca_command.h']]], + ['counter_5fkeyid_5fidx',['COUNTER_KEYID_IDX',['../a00906.html#ga269bd52a7856116ebce13c1072f56d9e',1,'atca_command.h']]], + ['counter_5fmax_5fvalue',['COUNTER_MAX_VALUE',['../a00906.html#gabc722de99f444668d09e3815fcc78400',1,'atca_command.h']]], + ['counter_5fmode_5fidx',['COUNTER_MODE_IDX',['../a00906.html#ga83a00fa1769c54aeb5ad02bdfba5b3e7',1,'atca_command.h']]], + ['counter_5fmode_5fincrement',['COUNTER_MODE_INCREMENT',['../a00906.html#gaadb200c87d6dedb5768eeb8395e697c2',1,'atca_command.h']]], + ['counter_5fmode_5fmask',['COUNTER_MODE_MASK',['../a00906.html#ga7b90ca417a76facaeec91d8f2c10f860',1,'atca_command.h']]], + ['counter_5fmode_5fread',['COUNTER_MODE_READ',['../a00906.html#ga4e3355c5ab7c48cfe466c9374ccc698e',1,'atca_command.h']]], + ['counter_5frsp_5fsize',['COUNTER_RSP_SIZE',['../a00906.html#ga66287a8b6f625f866b5cecc4845993ed',1,'atca_command.h']]], + ['counter_5fsize',['counter_size',['../a00994.html#ab645bb8a04ce16b6ab3c843dd4d1c177',1,'atca_aes_ctr_ctx']]], + ['cpu_5fclock',['CPU_CLOCK',['../a00912.html#ga512016e5f1966a8fd45b3f1a81ba5b8f',1,'hal_pic32mx695f512h_timer.c']]], + ['crypto_5fdata',['crypto_data',['../a00913.html#ga4155a23e70d1bf07de5d316efebeaee7',1,'atca_decrypt_in_out']]], + ['crypto_5fdevice_5fapp_2ec',['crypto_device_app.c',['../a00017.html',1,'']]], + ['crypto_5fdevice_5fapp_2eh',['crypto_device_app.h',['../a00020.html',1,'']]], + ['crypto_5fdevice_5fenable_5fsecure_5fboot',['CRYPTO_DEVICE_ENABLE_SECURE_BOOT',['../a00020.html#a78d2d5f4d0c6ce2228e32d0ed1baddee',1,'crypto_device_app.h']]], + ['crypto_5fdevice_5fload_5fconfig_5fenabled',['CRYPTO_DEVICE_LOAD_CONFIG_ENABLED',['../a00020.html#aa6f08e0b0783a9989ae5c4584668fdcc',1,'crypto_device_app.h']]], + ['crypto_5fdevice_5fload_5fconfiguration',['crypto_device_load_configuration',['../a00020.html#a80d86458de1b0031747eeeffb6feee0b',1,'crypto_device_app.h']]], + ['crypto_5fdevice_5fverify_5fapp',['crypto_device_verify_app',['../a00017.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c'],['../a00020.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c']]], + ['cryptoauthlib_2eh',['cryptoauthlib.h',['../a00320.html',1,'']]], + ['cur',['cur',['../a01138.html#aee7e8f6f5f1a4b5b402473cf99d3042a',1,'atca_jwt_t']]], + ['curve_5ftype',['curve_type',['../a00913.html#ga9be4eee4ac6c9248a824d093f165839e',1,'atca_verify_in_out']]], ['cryptoauthlib_20_2d_20microchip_20cryptoauthentication_20library',['CryptoAuthLib - Microchip CryptoAuthentication Library',['../index.html',1,'']]], - ['crypto_20directory_20_2d_20purpose',['crypto directory - Purpose',['../a03774.html',1,'']]] + ['crypto_20directory_20_2d_20purpose',['crypto directory - Purpose',['../a01153.html',1,'']]] ]; diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js index 5df86cac5..0d1a97fa9 100644 --- a/docs/html/search/all_4.js +++ b/docs/html/search/all_4.js @@ -1,53 +1,53 @@ var searchData= [ - ['damage',['DAMAGE',['../a00533.html#a59659ff8104ef667d9a7379e83ede67d',1,'license.txt']]], - ['damages',['DAMAGES',['../a00533.html#afb58aaeb3cb305bd9d30828ce3f3cd68',1,'license.txt']]], - ['data',['data',['../a03547.html#a0a6faa98b4d6b0b87ec0127daee17d11',1,'ATCAPacket::data()'],['../a03699.html#abe222f6d3581e7920dcad5306cc906a8',1,'atca_io_decrypt_in_out::data()']]], - ['data_5fsize',['data_size',['../a03699.html#ad6bc120bffc64dfc5230863a8ba96596',1,'atca_io_decrypt_in_out']]], - ['datefmt_5fiso8601_5fsep',['DATEFMT_ISO8601_SEP',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5',1,'atcacert_date.h']]], - ['datefmt_5fiso8601_5fsep_5fsize',['DATEFMT_ISO8601_SEP_SIZE',['../a03534.html#ga4cd9a96f5434fa3bc256878031d63846',1,'atcacert_date.h']]], - ['datefmt_5fmax_5fsize',['DATEFMT_MAX_SIZE',['../a03534.html#gae920fb7b153cf98e0d10365ec1d364de',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fbe',['DATEFMT_POSIX_UINT32_BE',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fbe_5fsize',['DATEFMT_POSIX_UINT32_BE_SIZE',['../a03534.html#gafe13e835d79405f28daa3449f732ebcd',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fle',['DATEFMT_POSIX_UINT32_LE',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fle_5fsize',['DATEFMT_POSIX_UINT32_LE_SIZE',['../a03534.html#gaa7c545ab9944dc7261d689680e2b00f4',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5fgen',['DATEFMT_RFC5280_GEN',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5fgen_5fsize',['DATEFMT_RFC5280_GEN_SIZE',['../a03534.html#gae058e0e8944f408fa251bc4f4136d79c',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5futc',['DATEFMT_RFC5280_UTC',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5futc_5fsize',['DATEFMT_RFC5280_UTC_SIZE',['../a03534.html#ga420f3d438f3f8f7c140512910e54d09a',1,'atcacert_date.h']]], - ['dbgout',['DBGOUT',['../a00299.html#a127536c92ac8b7d05d9a325cbec19805',1,'cryptoauthlib.h']]], - ['debug_5fcount',['Debug_count',['../a00383.html#a38131fc613147c3d91d5fe9ae0eee285',1,'hal_pic32mz2048efm_i2c.c']]], - ['debug_5fpin',['DEBUG_PIN',['../a00515.html#aac77b9d8c3b5ebb1caa337b6896c7080',1,'swi_uart_xmega_a3bu_asf.c']]], - ['debug_5fpin_5f1',['DEBUG_PIN_1',['../a03537.html#gab12a92582aefe426bb194e0c298e8f98',1,'DEBUG_PIN_1(): swi_uart_samd21_asf.h'],['../a00515.html#ab12a92582aefe426bb194e0c298e8f98',1,'DEBUG_PIN_1(): swi_uart_xmega_a3bu_asf.c']]], - ['debug_5fpin_5f2',['DEBUG_PIN_2',['../a03537.html#ga6a2579114d13238c7ba20d147a74090a',1,'DEBUG_PIN_2(): swi_uart_samd21_asf.h'],['../a00515.html#a6a2579114d13238c7ba20d147a74090a',1,'DEBUG_PIN_2(): swi_uart_xmega_a3bu_asf.c']]], - ['default_5fi2c_5fbus',['DEFAULT_I2C_BUS',['../a00476.html#a77664727b70d3a4c919604dc428d239f',1,'i2c_bitbang_samd21.c']]], - ['delay_5fus',['delay_us',['../a03537.html#ga31c35882825888bc79e420905830f25d',1,'delay_us(UINT32 delay): hal_pic32mx695f512h_timer.c'],['../a03537.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd',1,'delay_us(uint32_t delay): hal_pic32mz2048efm_timer.c']]], - ['deleteatcacommand',['deleteATCACommand',['../a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c'],['../a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c']]], - ['deleteatcadevice',['deleteATCADevice',['../a03532.html#gac087cf04cd5bd6ff2e026d89bfbf5e12',1,'atca_device.c']]], - ['deleteatcaiface',['deleteATCAIface',['../a03533.html#gaf8074d759241d3edd6d8ead1d7322a98',1,'atca_iface.c']]], - ['derive_5fkey_5fcount_5flarge',['DERIVE_KEY_COUNT_LARGE',['../a03531.html#gac0386500d37b5502158a62b8d864580f',1,'atca_command.h']]], - ['derive_5fkey_5fcount_5fsmall',['DERIVE_KEY_COUNT_SMALL',['../a03531.html#ga3a3d3289c719d81f95b3d025a2564c9f',1,'atca_command.h']]], - ['derive_5fkey_5fmac_5fidx',['DERIVE_KEY_MAC_IDX',['../a03531.html#gac3f89b5db216fd58ae2de3ebd52e26c5',1,'atca_command.h']]], - ['derive_5fkey_5fmac_5fsize',['DERIVE_KEY_MAC_SIZE',['../a03531.html#gaffa79c933fa76585479228b15c2cbc83',1,'atca_command.h']]], - ['derive_5fkey_5fmode',['DERIVE_KEY_MODE',['../a03531.html#gac6d810ee00947694d9b95d95db0b2f3c',1,'atca_command.h']]], - ['derive_5fkey_5frandom_5fflag',['DERIVE_KEY_RANDOM_FLAG',['../a03531.html#gad6f89d1bb03ed8d84e230bedca57ddd9',1,'atca_command.h']]], - ['derive_5fkey_5frandom_5fidx',['DERIVE_KEY_RANDOM_IDX',['../a03531.html#ga3495c2fd81985342858bac47300bcdc8',1,'atca_command.h']]], - ['derive_5fkey_5frsp_5fsize',['DERIVE_KEY_RSP_SIZE',['../a03531.html#ga766a94a7e38b558e1165b24de78d21db',1,'atca_command.h']]], - ['derive_5fkey_5ftargetkey_5fidx',['DERIVE_KEY_TARGETKEY_IDX',['../a03531.html#ga7216bb6f51f67f09e5372c7f731bf23a',1,'atca_command.h']]], - ['dev',['dev',['../a03537.html#gabe78755474c1323a5ac7b3dd6d03dedf',1,'hal_linux_kit_cdc.c']]], - ['device_5floc',['device_loc',['../a03599.html#aa36729eb861afe13bb70974147bc403b',1,'atcacert_cert_element_s']]], - ['device_5fsn',['device_sn',['../a03607.html#a5aa8a40126b53aa3748ba0d00de61e60',1,'atcacert_build_state_s']]], - ['devtype',['devtype',['../a03555.html#a05f2d72f4feff51d21be443c82d02192',1,'ATCAIfaceCfg']]], - ['devzone_5fconfig',['DEVZONE_CONFIG',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207',1,'atcacert_def.h']]], - ['devzone_5fdata',['DEVZONE_DATA',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb',1,'atcacert_def.h']]], - ['devzone_5fnone',['DEVZONE_NONE',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05',1,'atcacert_def.h']]], - ['devzone_5fotp',['DEVZONE_OTP',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea',1,'atcacert_def.h']]], - ['digest',['digest',['../a03707.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_enc_in_out::digest()'],['../a03711.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_mac_in_out::digest()'],['../a03755.html#a0b448fbaa0c4f1770b7c3f53acf265c5',1,'atca_sign_internal_in_out::digest()']]], - ['digest_5fenc',['digest_enc',['../a03707.html#aa9a9b371e24a757dba2cf1f87d03b31e',1,'atca_secureboot_enc_in_out']]], - ['direct',['DIRECT',['../a00533.html#a5aaa90c35cbddf1720721fc22614a8f5',1,'license.txt']]], - ['disable_5finterrupt',['DISABLE_INTERRUPT',['../a00479.html#a07adac5c5eb0d63bed4b79a50bcb676b',1,'i2c_bitbang_samd21.h']]], - ['drv_5fi2c_5fobject',['DRV_I2C_Object',['../a03671.html',1,'']]], - ['drvi2cmasterhandle',['drvI2CMasterHandle',['../a00383.html#afcc15120f09517ad5ab3a7afd8ebaa94',1,'hal_pic32mz2048efm_i2c.c']]], - ['drvi2cmasterhandle1',['drvI2CMasterHandle1',['../a00383.html#a4f5480efebde3ee25a51b1635b33d5f8',1,'hal_pic32mz2048efm_i2c.c']]], - ['dt',['dt',['../a03543.html#aebea355958c50f7d6a7d946f33ddc0aa',1,'atca_command']]] + ['damage',['DAMAGE',['../a00554.html#a59659ff8104ef667d9a7379e83ede67d',1,'license.txt']]], + ['damages',['DAMAGES',['../a00554.html#afb58aaeb3cb305bd9d30828ce3f3cd68',1,'license.txt']]], + ['data',['data',['../a00922.html#a0a6faa98b4d6b0b87ec0127daee17d11',1,'ATCAPacket::data()'],['../a01078.html#abe222f6d3581e7920dcad5306cc906a8',1,'atca_io_decrypt_in_out::data()']]], + ['data_5fsize',['data_size',['../a01002.html#ab670c6c21aced4765ecd6b29283f22b0',1,'atca_aes_gcm_ctx::data_size()'],['../a01078.html#ad6bc120bffc64dfc5230863a8ba96596',1,'atca_io_decrypt_in_out::data_size()']]], + ['datefmt_5fiso8601_5fsep',['DATEFMT_ISO8601_SEP',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5',1,'atcacert_date.h']]], + ['datefmt_5fiso8601_5fsep_5fsize',['DATEFMT_ISO8601_SEP_SIZE',['../a00909.html#ga4cd9a96f5434fa3bc256878031d63846',1,'atcacert_date.h']]], + ['datefmt_5fmax_5fsize',['DATEFMT_MAX_SIZE',['../a00909.html#gae920fb7b153cf98e0d10365ec1d364de',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fbe',['DATEFMT_POSIX_UINT32_BE',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fbe_5fsize',['DATEFMT_POSIX_UINT32_BE_SIZE',['../a00909.html#gafe13e835d79405f28daa3449f732ebcd',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fle',['DATEFMT_POSIX_UINT32_LE',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fle_5fsize',['DATEFMT_POSIX_UINT32_LE_SIZE',['../a00909.html#gaa7c545ab9944dc7261d689680e2b00f4',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5fgen',['DATEFMT_RFC5280_GEN',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5fgen_5fsize',['DATEFMT_RFC5280_GEN_SIZE',['../a00909.html#gae058e0e8944f408fa251bc4f4136d79c',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5futc',['DATEFMT_RFC5280_UTC',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5futc_5fsize',['DATEFMT_RFC5280_UTC_SIZE',['../a00909.html#ga420f3d438f3f8f7c140512910e54d09a',1,'atcacert_date.h']]], + ['dbgout',['DBGOUT',['../a00320.html#a127536c92ac8b7d05d9a325cbec19805',1,'cryptoauthlib.h']]], + ['debug_5fcount',['Debug_count',['../a00404.html#a38131fc613147c3d91d5fe9ae0eee285',1,'hal_pic32mz2048efm_i2c.c']]], + ['debug_5fpin',['DEBUG_PIN',['../a00536.html#aac77b9d8c3b5ebb1caa337b6896c7080',1,'swi_uart_xmega_a3bu_asf.c']]], + ['debug_5fpin_5f1',['DEBUG_PIN_1',['../a00912.html#gab12a92582aefe426bb194e0c298e8f98',1,'DEBUG_PIN_1(): swi_uart_samd21_asf.h'],['../a00536.html#ab12a92582aefe426bb194e0c298e8f98',1,'DEBUG_PIN_1(): swi_uart_xmega_a3bu_asf.c']]], + ['debug_5fpin_5f2',['DEBUG_PIN_2',['../a00912.html#ga6a2579114d13238c7ba20d147a74090a',1,'DEBUG_PIN_2(): swi_uart_samd21_asf.h'],['../a00536.html#a6a2579114d13238c7ba20d147a74090a',1,'DEBUG_PIN_2(): swi_uart_xmega_a3bu_asf.c']]], + ['default_5fi2c_5fbus',['DEFAULT_I2C_BUS',['../a00497.html#a77664727b70d3a4c919604dc428d239f',1,'i2c_bitbang_samd21.c']]], + ['delay_5fus',['delay_us',['../a00912.html#ga31c35882825888bc79e420905830f25d',1,'delay_us(UINT32 delay): hal_pic32mx695f512h_timer.c'],['../a00912.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd',1,'delay_us(uint32_t delay): hal_pic32mz2048efm_timer.c']]], + ['deleteatcacommand',['deleteATCACommand',['../a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c'],['../a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c']]], + ['deleteatcadevice',['deleteATCADevice',['../a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12',1,'atca_device.c']]], + ['deleteatcaiface',['deleteATCAIface',['../a00908.html#gaf8074d759241d3edd6d8ead1d7322a98',1,'atca_iface.c']]], + ['derive_5fkey_5fcount_5flarge',['DERIVE_KEY_COUNT_LARGE',['../a00906.html#gac0386500d37b5502158a62b8d864580f',1,'atca_command.h']]], + ['derive_5fkey_5fcount_5fsmall',['DERIVE_KEY_COUNT_SMALL',['../a00906.html#ga3a3d3289c719d81f95b3d025a2564c9f',1,'atca_command.h']]], + ['derive_5fkey_5fmac_5fidx',['DERIVE_KEY_MAC_IDX',['../a00906.html#gac3f89b5db216fd58ae2de3ebd52e26c5',1,'atca_command.h']]], + ['derive_5fkey_5fmac_5fsize',['DERIVE_KEY_MAC_SIZE',['../a00906.html#gaffa79c933fa76585479228b15c2cbc83',1,'atca_command.h']]], + ['derive_5fkey_5fmode',['DERIVE_KEY_MODE',['../a00906.html#gac6d810ee00947694d9b95d95db0b2f3c',1,'atca_command.h']]], + ['derive_5fkey_5frandom_5fflag',['DERIVE_KEY_RANDOM_FLAG',['../a00906.html#gad6f89d1bb03ed8d84e230bedca57ddd9',1,'atca_command.h']]], + ['derive_5fkey_5frandom_5fidx',['DERIVE_KEY_RANDOM_IDX',['../a00906.html#ga3495c2fd81985342858bac47300bcdc8',1,'atca_command.h']]], + ['derive_5fkey_5frsp_5fsize',['DERIVE_KEY_RSP_SIZE',['../a00906.html#ga766a94a7e38b558e1165b24de78d21db',1,'atca_command.h']]], + ['derive_5fkey_5ftargetkey_5fidx',['DERIVE_KEY_TARGETKEY_IDX',['../a00906.html#ga7216bb6f51f67f09e5372c7f731bf23a',1,'atca_command.h']]], + ['dev',['dev',['../a00912.html#gabe78755474c1323a5ac7b3dd6d03dedf',1,'hal_linux_kit_cdc.c']]], + ['device_5floc',['device_loc',['../a00974.html#aa36729eb861afe13bb70974147bc403b',1,'atcacert_cert_element_s']]], + ['device_5fsn',['device_sn',['../a00982.html#a5aa8a40126b53aa3748ba0d00de61e60',1,'atcacert_build_state_s']]], + ['devtype',['devtype',['../a00930.html#a05f2d72f4feff51d21be443c82d02192',1,'ATCAIfaceCfg']]], + ['devzone_5fconfig',['DEVZONE_CONFIG',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207',1,'atcacert_def.h']]], + ['devzone_5fdata',['DEVZONE_DATA',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb',1,'atcacert_def.h']]], + ['devzone_5fnone',['DEVZONE_NONE',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05',1,'atcacert_def.h']]], + ['devzone_5fotp',['DEVZONE_OTP',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea',1,'atcacert_def.h']]], + ['digest',['digest',['../a01086.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_enc_in_out::digest()'],['../a01090.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_mac_in_out::digest()'],['../a01134.html#a0b448fbaa0c4f1770b7c3f53acf265c5',1,'atca_sign_internal_in_out::digest()']]], + ['digest_5fenc',['digest_enc',['../a01086.html#aa9a9b371e24a757dba2cf1f87d03b31e',1,'atca_secureboot_enc_in_out']]], + ['direct',['DIRECT',['../a00554.html#a5aaa90c35cbddf1720721fc22614a8f5',1,'license.txt']]], + ['disable_5finterrupt',['DISABLE_INTERRUPT',['../a00500.html#a07adac5c5eb0d63bed4b79a50bcb676b',1,'i2c_bitbang_samd21.h']]], + ['drv_5fi2c_5fobject',['DRV_I2C_Object',['../a01050.html',1,'']]], + ['drvi2cmasterhandle',['drvI2CMasterHandle',['../a00404.html#afcc15120f09517ad5ab3a7afd8ebaa94',1,'hal_pic32mz2048efm_i2c.c']]], + ['drvi2cmasterhandle1',['drvI2CMasterHandle1',['../a00404.html#a4f5480efebde3ee25a51b1635b33d5f8',1,'hal_pic32mz2048efm_i2c.c']]], + ['dt',['dt',['../a00918.html#aebea355958c50f7d6a7d946f33ddc0aa',1,'atca_command']]] ]; diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js index b807beb9e..52da97d9e 100644 --- a/docs/html/search/all_5.js +++ b/docs/html/search/all_5.js @@ -1,28 +1,29 @@ var searchData= [ - ['ecdh_5fcount',['ECDH_COUNT',['../a03531.html#gaf8ad6785828f72b793fb4452f3cb6698',1,'atca_command.h']]], - ['ecdh_5fkey_5fsize',['ECDH_KEY_SIZE',['../a03531.html#gaa21e10945076d803129feb07946591f9',1,'atca_command.h']]], - ['ecdh_5fmode_5fcopy_5fcompatible',['ECDH_MODE_COPY_COMPATIBLE',['../a03531.html#ga0e360558cd7cb842198cd8cd5d7a3da6',1,'atca_command.h']]], - ['ecdh_5fmode_5fcopy_5feeprom_5fslot',['ECDH_MODE_COPY_EEPROM_SLOT',['../a03531.html#ga4abde1839cbeb254d79f1deac8d42c9e',1,'atca_command.h']]], - ['ecdh_5fmode_5fcopy_5fmask',['ECDH_MODE_COPY_MASK',['../a03531.html#gafb0b0b4ae54efabd5bd3c906935620ca',1,'atca_command.h']]], - ['ecdh_5fmode_5fcopy_5foutput_5fbuffer',['ECDH_MODE_COPY_OUTPUT_BUFFER',['../a03531.html#ga4f6024d4d7e0fcd026fac40297db4c96',1,'atca_command.h']]], - ['ecdh_5fmode_5fcopy_5ftemp_5fkey',['ECDH_MODE_COPY_TEMP_KEY',['../a03531.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500',1,'atca_command.h']]], - ['ecdh_5fmode_5foutput_5fclear',['ECDH_MODE_OUTPUT_CLEAR',['../a03531.html#gaa56ce725d85dcfbf7c217a748ca0a8b1',1,'atca_command.h']]], - ['ecdh_5fmode_5foutput_5fenc',['ECDH_MODE_OUTPUT_ENC',['../a03531.html#ga0ea0e257512fa047f26910c6605a9769',1,'atca_command.h']]], - ['ecdh_5fmode_5foutput_5fmask',['ECDH_MODE_OUTPUT_MASK',['../a03531.html#ga2b2c07254f098dc8f8d87f2e09703adb',1,'atca_command.h']]], - ['ecdh_5fmode_5fsource_5feeprom_5fslot',['ECDH_MODE_SOURCE_EEPROM_SLOT',['../a03531.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3',1,'atca_command.h']]], - ['ecdh_5fmode_5fsource_5fmask',['ECDH_MODE_SOURCE_MASK',['../a03531.html#ga7b24dc2030441b0bf952d8c297b22a41',1,'atca_command.h']]], - ['ecdh_5fmode_5fsource_5ftempkey',['ECDH_MODE_SOURCE_TEMPKEY',['../a03531.html#ga9bf558eb7c48b79f3df382c3ec7d454d',1,'atca_command.h']]], - ['ecdh_5fprefix_5fmode',['ECDH_PREFIX_MODE',['../a03531.html#ga928b142d4f3727104100dee0d0330f83',1,'atca_command.h']]], - ['ecdh_5frsp_5fsize',['ECDH_RSP_SIZE',['../a03531.html#gaa667451bf2e061c3e76a7a8a5d8b86d4',1,'atca_command.h']]], - ['enable_5finterrupt',['ENABLE_INTERRUPT',['../a00479.html#a6b267a18dae3dc4d7a2a0b8fdb38e701',1,'i2c_bitbang_samd21.h']]], - ['encrypted_5fdata',['encrypted_data',['../a03727.html#a8c2a094baeab96152cea462ba9677887',1,'atca_write_mac_in_out']]], - ['encryption_5fkey_5fsize',['ENCRYPTION_KEY_SIZE',['../a03538.html#gaeb6c1ee0fb04b12d185eee8bb766068c',1,'atca_host.h']]], - ['ets_5fdelay_5fus',['ets_delay_us',['../a00335.html#a7def86f0fbd90b451847d8534f21f5dc',1,'hal_esp32_timer.c']]], - ['exectime',['execTime',['../a03547.html#a7f16544e2e38e2a389b69be0a7156986',1,'ATCAPacket']]], - ['execution_5ftime_5fmsec',['execution_time_msec',['../a03543.html#a77632045612dbd0a5ac4488567c14dd3',1,'atca_command']]], - ['exemplary',['EXEMPLARY',['../a00533.html#a5a3bf7ca4157019835218d3ba8a5e515',1,'license.txt']]], - ['expire_5fdate_5fformat',['expire_date_format',['../a03603.html#a6367c516be990bdce86047b5d9acda14',1,'atcacert_def_s']]], - ['expire_5fyears',['expire_years',['../a03603.html#a7dcbb1ab3db4003c7f2414e262853e6d',1,'atcacert_def_s']]], - ['express',['EXPRESS',['../a00533.html#a7484f792d939c92f72320fa1744f3c2a',1,'license.txt']]] + ['ecdh_5fcount',['ECDH_COUNT',['../a00906.html#gaf8ad6785828f72b793fb4452f3cb6698',1,'atca_command.h']]], + ['ecdh_5fkey_5fsize',['ECDH_KEY_SIZE',['../a00906.html#gaa21e10945076d803129feb07946591f9',1,'atca_command.h']]], + ['ecdh_5fmode_5fcopy_5fcompatible',['ECDH_MODE_COPY_COMPATIBLE',['../a00906.html#ga0e360558cd7cb842198cd8cd5d7a3da6',1,'atca_command.h']]], + ['ecdh_5fmode_5fcopy_5feeprom_5fslot',['ECDH_MODE_COPY_EEPROM_SLOT',['../a00906.html#ga4abde1839cbeb254d79f1deac8d42c9e',1,'atca_command.h']]], + ['ecdh_5fmode_5fcopy_5fmask',['ECDH_MODE_COPY_MASK',['../a00906.html#gafb0b0b4ae54efabd5bd3c906935620ca',1,'atca_command.h']]], + ['ecdh_5fmode_5fcopy_5foutput_5fbuffer',['ECDH_MODE_COPY_OUTPUT_BUFFER',['../a00906.html#ga4f6024d4d7e0fcd026fac40297db4c96',1,'atca_command.h']]], + ['ecdh_5fmode_5fcopy_5ftemp_5fkey',['ECDH_MODE_COPY_TEMP_KEY',['../a00906.html#ga7e9ea268fbc8b0b5bb038ae30b5ec500',1,'atca_command.h']]], + ['ecdh_5fmode_5foutput_5fclear',['ECDH_MODE_OUTPUT_CLEAR',['../a00906.html#gaa56ce725d85dcfbf7c217a748ca0a8b1',1,'atca_command.h']]], + ['ecdh_5fmode_5foutput_5fenc',['ECDH_MODE_OUTPUT_ENC',['../a00906.html#ga0ea0e257512fa047f26910c6605a9769',1,'atca_command.h']]], + ['ecdh_5fmode_5foutput_5fmask',['ECDH_MODE_OUTPUT_MASK',['../a00906.html#ga2b2c07254f098dc8f8d87f2e09703adb',1,'atca_command.h']]], + ['ecdh_5fmode_5fsource_5feeprom_5fslot',['ECDH_MODE_SOURCE_EEPROM_SLOT',['../a00906.html#gae53c5f9d3aaa1b75dd1d0ffa3ab861d3',1,'atca_command.h']]], + ['ecdh_5fmode_5fsource_5fmask',['ECDH_MODE_SOURCE_MASK',['../a00906.html#ga7b24dc2030441b0bf952d8c297b22a41',1,'atca_command.h']]], + ['ecdh_5fmode_5fsource_5ftempkey',['ECDH_MODE_SOURCE_TEMPKEY',['../a00906.html#ga9bf558eb7c48b79f3df382c3ec7d454d',1,'atca_command.h']]], + ['ecdh_5fprefix_5fmode',['ECDH_PREFIX_MODE',['../a00906.html#ga928b142d4f3727104100dee0d0330f83',1,'atca_command.h']]], + ['ecdh_5frsp_5fsize',['ECDH_RSP_SIZE',['../a00906.html#gaa667451bf2e061c3e76a7a8a5d8b86d4',1,'atca_command.h']]], + ['enable_5finterrupt',['ENABLE_INTERRUPT',['../a00500.html#a6b267a18dae3dc4d7a2a0b8fdb38e701',1,'i2c_bitbang_samd21.h']]], + ['enc_5fcb',['enc_cb',['../a01002.html#a021e62aff4a11dd8a3d2dcc9f39b961a',1,'atca_aes_gcm_ctx']]], + ['encrypted_5fdata',['encrypted_data',['../a01106.html#a8c2a094baeab96152cea462ba9677887',1,'atca_write_mac_in_out']]], + ['encryption_5fkey_5fsize',['ENCRYPTION_KEY_SIZE',['../a00913.html#gaeb6c1ee0fb04b12d185eee8bb766068c',1,'atca_host.h']]], + ['ets_5fdelay_5fus',['ets_delay_us',['../a00356.html#a7def86f0fbd90b451847d8534f21f5dc',1,'hal_esp32_timer.c']]], + ['exectime',['execTime',['../a00922.html#a7f16544e2e38e2a389b69be0a7156986',1,'ATCAPacket']]], + ['execution_5ftime_5fmsec',['execution_time_msec',['../a00918.html#a77632045612dbd0a5ac4488567c14dd3',1,'atca_command']]], + ['exemplary',['EXEMPLARY',['../a00554.html#a5a3bf7ca4157019835218d3ba8a5e515',1,'license.txt']]], + ['expire_5fdate_5fformat',['expire_date_format',['../a00978.html#a6367c516be990bdce86047b5d9acda14',1,'atcacert_def_s']]], + ['expire_5fyears',['expire_years',['../a00978.html#a7dcbb1ab3db4003c7f2414e262853e6d',1,'atcacert_def_s']]], + ['express',['EXPRESS',['../a00554.html#a7484f792d939c92f72320fa1744f3c2a',1,'license.txt']]] ]; diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js index 7d18b1020..e5ca8180e 100644 --- a/docs/html/search/all_6.js +++ b/docs/html/search/all_6.js @@ -1,8 +1,8 @@ var searchData= [ - ['false',['FALSE',['../a03534.html#gaa93f0eb578d23995850d61f7d61c55c1',1,'atcacert.h']]], - ['fees',['FEES',['../a00533.html#a11b6063b69a4388ba8d13c727308b330',1,'license.txt']]], - ['for_5finvalidate',['for_invalidate',['../a03755.html#ac3544274ceb4f8950b3a5fe6640be634',1,'atca_sign_internal_in_out']]], - ['forms',['forms',['../a00533.html#a516e32a554a49b0ef605e4ea3eb68048',1,'license.txt']]], - ['foundation',['Foundation',['../a00533.html#a6b83833564ea423ec5340bb9b27fa3c7',1,'license.txt']]] + ['false',['FALSE',['../a00909.html#gaa93f0eb578d23995850d61f7d61c55c1',1,'atcacert.h']]], + ['fees',['FEES',['../a00554.html#a11b6063b69a4388ba8d13c727308b330',1,'license.txt']]], + ['for_5finvalidate',['for_invalidate',['../a01134.html#ac3544274ceb4f8950b3a5fe6640be634',1,'atca_sign_internal_in_out']]], + ['forms',['forms',['../a00554.html#a516e32a554a49b0ef605e4ea3eb68048',1,'license.txt']]], + ['foundation',['Foundation',['../a00554.html#a6b83833564ea423ec5340bb9b27fa3c7',1,'license.txt']]] ]; diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js index bbe452ff9..9e4e96908 100644 --- a/docs/html/search/all_7.js +++ b/docs/html/search/all_7.js @@ -1,34 +1,34 @@ var searchData= [ - ['gen_5fdig_5fdata',['gen_dig_data',['../a03687.html#a0ea476753a7de128cb33adb56e0692c6',1,'atca_temp_key']]], - ['gen_5fkey_5fdata',['gen_key_data',['../a03687.html#a1f0f70b7f0590654fde170e1e392b4f7',1,'atca_temp_key']]], - ['gendig_5fcount',['GENDIG_COUNT',['../a03531.html#ga235eb9557fa074bf152f9ce9c5844058',1,'atca_command.h']]], - ['gendig_5fdata_5fidx',['GENDIG_DATA_IDX',['../a03531.html#gac101f854026596231715eca664550e36',1,'atca_command.h']]], - ['gendig_5fkeyid_5fidx',['GENDIG_KEYID_IDX',['../a03531.html#gac2d5b5de26d0318ba6db3ad1055eb6ec',1,'atca_command.h']]], - ['gendig_5frsp_5fsize',['GENDIG_RSP_SIZE',['../a03531.html#ga2c26247a084a027f06a2aaf692313f12',1,'atca_command.h']]], - ['gendig_5fzone_5fconfig',['GENDIG_ZONE_CONFIG',['../a03531.html#ga9cab0c5dd2e3796497a5237f101f19e0',1,'atca_command.h']]], - ['gendig_5fzone_5fcounter',['GENDIG_ZONE_COUNTER',['../a03531.html#ga84f07835d69fed7484299c78f4971a3e',1,'atca_command.h']]], - ['gendig_5fzone_5fdata',['GENDIG_ZONE_DATA',['../a03531.html#gabc21880360bdce990ad724fa7a7d9bf0',1,'atca_command.h']]], - ['gendig_5fzone_5fidx',['GENDIG_ZONE_IDX',['../a03531.html#gab79b57111a49362bd51922813cb84355',1,'atca_command.h']]], - ['gendig_5fzone_5fkey_5fconfig',['GENDIG_ZONE_KEY_CONFIG',['../a03531.html#gaba61a1bd245d7471e59a39577498065b',1,'atca_command.h']]], - ['gendig_5fzone_5fotp',['GENDIG_ZONE_OTP',['../a03531.html#gaee95b219cf932dfedb3a3c5e23d01a9d',1,'atca_command.h']]], - ['gendig_5fzone_5fshared_5fnonce',['GENDIG_ZONE_SHARED_NONCE',['../a03531.html#ga49923a8835f64294a5e9b3660c80dc7e',1,'atca_command.h']]], - ['genkey_5fcount',['GENKEY_COUNT',['../a03531.html#gab6782a07fce203169aba6dd32f8ab123',1,'atca_command.h']]], - ['genkey_5fcount_5fdata',['GENKEY_COUNT_DATA',['../a03531.html#ga07289de41178ecfb6392da31e31e27c3',1,'atca_command.h']]], - ['genkey_5fdata_5fidx',['GENKEY_DATA_IDX',['../a03531.html#ga9163acda5dd0653f40b6ad445f2c972d',1,'atca_command.h']]], - ['genkey_5fkeyid_5fidx',['GENKEY_KEYID_IDX',['../a03531.html#ga5cacc01be37cebf35e300be96893477e',1,'atca_command.h']]], - ['genkey_5fmode_5fdigest',['GENKEY_MODE_DIGEST',['../a03531.html#ga609531b6e844f5a9eebd7c4dcd869b16',1,'atca_command.h']]], - ['genkey_5fmode_5fidx',['GENKEY_MODE_IDX',['../a03531.html#gaf120353f5e8e159eaa9c930555b159d5',1,'atca_command.h']]], - ['genkey_5fmode_5fmask',['GENKEY_MODE_MASK',['../a03531.html#gaa3984c137090a2d103b2089c7ac31642',1,'atca_command.h']]], - ['genkey_5fmode_5fprivate',['GENKEY_MODE_PRIVATE',['../a03531.html#gadc25fc4bebaac1582bb57d791f72356d',1,'atca_command.h']]], - ['genkey_5fmode_5fpubkey_5fdigest',['GENKEY_MODE_PUBKEY_DIGEST',['../a03531.html#ga8d9a1e331d54bffb36f7b4e97af5d161',1,'atca_command.h']]], - ['genkey_5fmode_5fpublic',['GENKEY_MODE_PUBLIC',['../a03531.html#ga03e556ba7849f28ee8c58df8921cba66',1,'atca_command.h']]], - ['genkey_5fother_5fdata_5fsize',['GENKEY_OTHER_DATA_SIZE',['../a03531.html#ga62644ffb962c56fbea154526a2a84b40',1,'atca_command.h']]], - ['genkey_5fprivate_5fto_5ftempkey',['GENKEY_PRIVATE_TO_TEMPKEY',['../a03531.html#gad5b1ead29f3ce3cee52d106af531ab86',1,'atca_command.h']]], - ['genkey_5frsp_5fsize_5flong',['GENKEY_RSP_SIZE_LONG',['../a03531.html#ga08e8a80be2717ece7c5ed5cc0a27fbab',1,'atca_command.h']]], - ['genkey_5frsp_5fsize_5fshort',['GENKEY_RSP_SIZE_SHORT',['../a03531.html#ga0543a644422ffc7460eeeb78799bde16',1,'atca_command.h']]], - ['getinstructionclock',['GetInstructionClock',['../a03537.html#ga450d95819e5184befaec71050a61dce9',1,'hal_pic32mx695f512h_i2c.h']]], - ['getperipheralclock',['GetPeripheralClock',['../a03537.html#ga1b199a0aedb00251513eb57552f738b4',1,'hal_pic32mx695f512h_i2c.h']]], - ['getsystemclock',['GetSystemClock',['../a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a',1,'GetSystemClock(): hal_pic32mx695f512h_i2c.h'],['../a03537.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a',1,'GetSystemClock(): hal_pic32mz2048efm_timer.c']]], - ['guid',['guid',['../a03555.html#af6dd59cf5b43526a4c6ccd515042af73',1,'ATCAIfaceCfg']]] + ['gen_5fdig_5fdata',['gen_dig_data',['../a01066.html#a0ea476753a7de128cb33adb56e0692c6',1,'atca_temp_key']]], + ['gen_5fkey_5fdata',['gen_key_data',['../a01066.html#a1f0f70b7f0590654fde170e1e392b4f7',1,'atca_temp_key']]], + ['gendig_5fcount',['GENDIG_COUNT',['../a00906.html#ga235eb9557fa074bf152f9ce9c5844058',1,'atca_command.h']]], + ['gendig_5fdata_5fidx',['GENDIG_DATA_IDX',['../a00906.html#gac101f854026596231715eca664550e36',1,'atca_command.h']]], + ['gendig_5fkeyid_5fidx',['GENDIG_KEYID_IDX',['../a00906.html#gac2d5b5de26d0318ba6db3ad1055eb6ec',1,'atca_command.h']]], + ['gendig_5frsp_5fsize',['GENDIG_RSP_SIZE',['../a00906.html#ga2c26247a084a027f06a2aaf692313f12',1,'atca_command.h']]], + ['gendig_5fzone_5fconfig',['GENDIG_ZONE_CONFIG',['../a00906.html#ga9cab0c5dd2e3796497a5237f101f19e0',1,'atca_command.h']]], + ['gendig_5fzone_5fcounter',['GENDIG_ZONE_COUNTER',['../a00906.html#ga84f07835d69fed7484299c78f4971a3e',1,'atca_command.h']]], + ['gendig_5fzone_5fdata',['GENDIG_ZONE_DATA',['../a00906.html#gabc21880360bdce990ad724fa7a7d9bf0',1,'atca_command.h']]], + ['gendig_5fzone_5fidx',['GENDIG_ZONE_IDX',['../a00906.html#gab79b57111a49362bd51922813cb84355',1,'atca_command.h']]], + ['gendig_5fzone_5fkey_5fconfig',['GENDIG_ZONE_KEY_CONFIG',['../a00906.html#gaba61a1bd245d7471e59a39577498065b',1,'atca_command.h']]], + ['gendig_5fzone_5fotp',['GENDIG_ZONE_OTP',['../a00906.html#gaee95b219cf932dfedb3a3c5e23d01a9d',1,'atca_command.h']]], + ['gendig_5fzone_5fshared_5fnonce',['GENDIG_ZONE_SHARED_NONCE',['../a00906.html#ga49923a8835f64294a5e9b3660c80dc7e',1,'atca_command.h']]], + ['genkey_5fcount',['GENKEY_COUNT',['../a00906.html#gab6782a07fce203169aba6dd32f8ab123',1,'atca_command.h']]], + ['genkey_5fcount_5fdata',['GENKEY_COUNT_DATA',['../a00906.html#ga07289de41178ecfb6392da31e31e27c3',1,'atca_command.h']]], + ['genkey_5fdata_5fidx',['GENKEY_DATA_IDX',['../a00906.html#ga9163acda5dd0653f40b6ad445f2c972d',1,'atca_command.h']]], + ['genkey_5fkeyid_5fidx',['GENKEY_KEYID_IDX',['../a00906.html#ga5cacc01be37cebf35e300be96893477e',1,'atca_command.h']]], + ['genkey_5fmode_5fdigest',['GENKEY_MODE_DIGEST',['../a00906.html#ga609531b6e844f5a9eebd7c4dcd869b16',1,'atca_command.h']]], + ['genkey_5fmode_5fidx',['GENKEY_MODE_IDX',['../a00906.html#gaf120353f5e8e159eaa9c930555b159d5',1,'atca_command.h']]], + ['genkey_5fmode_5fmask',['GENKEY_MODE_MASK',['../a00906.html#gaa3984c137090a2d103b2089c7ac31642',1,'atca_command.h']]], + ['genkey_5fmode_5fprivate',['GENKEY_MODE_PRIVATE',['../a00906.html#gadc25fc4bebaac1582bb57d791f72356d',1,'atca_command.h']]], + ['genkey_5fmode_5fpubkey_5fdigest',['GENKEY_MODE_PUBKEY_DIGEST',['../a00906.html#ga8d9a1e331d54bffb36f7b4e97af5d161',1,'atca_command.h']]], + ['genkey_5fmode_5fpublic',['GENKEY_MODE_PUBLIC',['../a00906.html#ga03e556ba7849f28ee8c58df8921cba66',1,'atca_command.h']]], + ['genkey_5fother_5fdata_5fsize',['GENKEY_OTHER_DATA_SIZE',['../a00906.html#ga62644ffb962c56fbea154526a2a84b40',1,'atca_command.h']]], + ['genkey_5fprivate_5fto_5ftempkey',['GENKEY_PRIVATE_TO_TEMPKEY',['../a00906.html#gad5b1ead29f3ce3cee52d106af531ab86',1,'atca_command.h']]], + ['genkey_5frsp_5fsize_5flong',['GENKEY_RSP_SIZE_LONG',['../a00906.html#ga08e8a80be2717ece7c5ed5cc0a27fbab',1,'atca_command.h']]], + ['genkey_5frsp_5fsize_5fshort',['GENKEY_RSP_SIZE_SHORT',['../a00906.html#ga0543a644422ffc7460eeeb78799bde16',1,'atca_command.h']]], + ['getinstructionclock',['GetInstructionClock',['../a00912.html#ga450d95819e5184befaec71050a61dce9',1,'hal_pic32mx695f512h_i2c.h']]], + ['getperipheralclock',['GetPeripheralClock',['../a00912.html#ga1b199a0aedb00251513eb57552f738b4',1,'hal_pic32mx695f512h_i2c.h']]], + ['getsystemclock',['GetSystemClock',['../a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a',1,'GetSystemClock(): hal_pic32mx695f512h_i2c.h'],['../a00912.html#ga2f50cb3bdd9fd741e11f2389ea1bff4a',1,'GetSystemClock(): hal_pic32mz2048efm_timer.c']]], + ['guid',['guid',['../a00930.html#af6dd59cf5b43526a4c6ccd515042af73',1,'ATCAIfaceCfg']]] ]; diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js index 3c4ee5db6..145abed5f 100644 --- a/docs/html/search/all_8.js +++ b/docs/html/search/all_8.js @@ -1,144 +1,144 @@ var searchData= [ - ['host_20side_20crypto_20methods_20_28atcah_5f_29',['Host side crypto methods (atcah_)',['../a03538.html',1,'']]], - ['h',['h',['../a03639.html#a015ca0a234558a1a0dbfc1e92f547ac0',1,'CL_HashContext']]], - ['hardware_20abstraction_20layer_20_28hal_5f_29',['Hardware abstraction layer (hal_)',['../a03537.html',1,'']]], - ['hal_5fall_5fplatforms_5fkit_5fhidapi_2ec',['hal_all_platforms_kit_hidapi.c',['../a00317.html',1,'']]], - ['hal_5fall_5fplatforms_5fkit_5fhidapi_2eh',['hal_all_platforms_kit_hidapi.h',['../a00320.html',1,'']]], - ['hal_5fat90usb1287_5fi2c_5fasf_2ec',['hal_at90usb1287_i2c_asf.c',['../a00323.html',1,'']]], - ['hal_5fat90usb1287_5fi2c_5fasf_2eh',['hal_at90usb1287_i2c_asf.h',['../a00326.html',1,'']]], - ['hal_5fat90usb1287_5ftimer_5fasf_2ec',['hal_at90usb1287_timer_asf.c',['../a00329.html',1,'']]], - ['hal_5fcdc_5fdiscover_5fbuses',['hal_cdc_discover_buses',['../a03537.html#ga6ec842c5f4674de5da640541e616785a',1,'hal_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00452.html#a5320f17f400bf5ad0579dbdd5c8acf90',1,'hal_cdc_discover_buses(int i2c_buses[], int max_buses): hal_win_kit_cdc.c']]], - ['hal_5fcdc_5fdiscover_5fdevices',['hal_cdc_discover_devices',['../a03537.html#ga5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_linux_kit_cdc.c'],['../a00452.html#a5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_win_kit_cdc.c']]], - ['hal_5fcheck_5fwake',['hal_check_wake',['../a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c'],['../a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c']]], - ['hal_5fcreate_5fmutex',['hal_create_mutex',['../a03537.html#gab289a3949663589ac6be71d72fb18278',1,'hal_freertos.c']]], - ['hal_5fdata',['hal_data',['../a03583.html#ad33508455720b78cc0fc880cb3f9885e',1,'atca_iface::hal_data()'],['../a03647.html#ad33508455720b78cc0fc880cb3f9885e',1,'ATCAHAL_t::hal_data()']]], - ['hal_5fdestroy_5fmutex',['hal_destroy_mutex',['../a03537.html#ga4589d7b3e951f40b7928f1cf31f7ddf3',1,'hal_freertos.c']]], - ['hal_5fesp32_5fi2c_2ec',['hal_esp32_i2c.c',['../a00332.html',1,'']]], - ['hal_5fesp32_5ftimer_2ec',['hal_esp32_timer.c',['../a00335.html',1,'']]], - ['hal_5ffreertos_2ec',['hal_freertos.c',['../a00338.html',1,'']]], - ['hal_5fi2c_5fbitbang_2ec',['hal_i2c_bitbang.c',['../a00341.html',1,'']]], - ['hal_5fi2c_5fbitbang_2eh',['hal_i2c_bitbang.h',['../a00344.html',1,'']]], - ['hal_5fi2c_5fchange_5fbaud',['hal_i2c_change_baud',['../a00332.html#a98107f7cba849e44395b87a7e15fbec3',1,'hal_esp32_i2c.c']]], - ['hal_5fi2c_5fdiscover_5fbuses',['hal_i2c_discover_buses',['../a03537.html#ga05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_esp32_i2c.c'],['../a00383.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fdiscover_5fdevices',['hal_i2c_discover_devices',['../a03537.html#gac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ae68c90497ef6f7edbf78daa3a094028a',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_esp32_i2c.c'],['../a00383.html#ac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fidle',['hal_i2c_idle',['../a03537.html#ga9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5finit',['hal_i2c_init',['../a03537.html#ga09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_esp32_i2c.c'],['../a00383.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fpost_5finit',['hal_i2c_post_init',['../a03537.html#gafbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5freceive',['hal_i2c_receive',['../a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_esp32_i2c.c'],['../a00383.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5frelease',['hal_i2c_release',['../a03537.html#gac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_esp32_i2c.c'],['../a00383.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fsend',['hal_i2c_send',['../a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_at90usb1287_i2c_asf.c'],['../a00332.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_esp32_i2c.c'],['../a00383.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fsleep',['hal_i2c_sleep',['../a03537.html#ga3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fstart_2ec',['hal_i2c_start.c',['../a00347.html',1,'']]], - ['hal_5fi2c_5fstart_2eh',['hal_i2c_start.h',['../a00350.html',1,'']]], - ['hal_5fi2c_5fwake',['hal_i2c_wake',['../a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fiface_5finit',['hal_iface_init',['../a03537.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *cfg, ATCAHAL_t *hal): atca_hal.c'],['../a03537.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal): atca_hal.c']]], - ['hal_5fiface_5frelease',['hal_iface_release',['../a03537.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType iface_type, void *hal_data): atca_hal.c'],['../a03537.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType, void *hal_data): atca_hal.c']]], - ['hal_5fkit_5fcdc_5fdiscover_5fbuses',['hal_kit_cdc_discover_buses',['../a03537.html#ga56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00452.html#a56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fdiscover_5fdevices',['hal_kit_cdc_discover_devices',['../a03537.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_linux_kit_cdc.c'],['../a00452.html#a0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fidle',['hal_kit_cdc_idle',['../a03537.html#ga92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#a92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5finit',['hal_kit_cdc_init',['../a03537.html#ga313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_linux_kit_cdc.c'],['../a00452.html#a313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fpost_5finit',['hal_kit_cdc_post_init',['../a03537.html#gad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#ad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5freceive',['hal_kit_cdc_receive',['../a03537.html#ga3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_linux_kit_cdc.c'],['../a00452.html#a3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5frelease',['hal_kit_cdc_release',['../a03537.html#ga21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_linux_kit_cdc.c'],['../a00452.html#a21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fsend',['hal_kit_cdc_send',['../a03537.html#ga7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00452.html#a7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fsleep',['hal_kit_cdc_sleep',['../a03537.html#ga1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#a1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fwake',['hal_kit_cdc_wake',['../a03537.html#gabced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#abced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fhid_5fdiscover_5fbuses',['hal_kit_hid_discover_buses',['../a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fdiscover_5fdevices',['hal_kit_hid_discover_devices',['../a03537.html#ga0121a73c96416c97ce07ed9077226588',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fidle',['hal_kit_hid_idle',['../a03537.html#gaacf6310945889a6119cab867a1ced5e2',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5finit',['hal_kit_hid_init',['../a03537.html#ga95b4e99655383680272a1d9354d42479',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fpost_5finit',['hal_kit_hid_post_init',['../a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5freceive',['hal_kit_hid_receive',['../a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5frelease',['hal_kit_hid_release',['../a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fsend',['hal_kit_hid_send',['../a03537.html#ga47588dbefadcc1569513b053a156f3d6',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fsleep',['hal_kit_hid_sleep',['../a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fwake',['hal_kit_hid_wake',['../a03537.html#ga65289262310f2662b2c47450b93c9580',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fphy_5fnum_5ffound',['hal_kit_phy_num_found',['../a03537.html#ga5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_linux_kit_cdc.c'],['../a00452.html#a5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_win_kit_cdc.c']]], - ['hal_5flinux_5fi2c_5fuserspace_2ec',['hal_linux_i2c_userspace.c',['../a00353.html',1,'']]], - ['hal_5flinux_5fi2c_5fuserspace_2eh',['hal_linux_i2c_userspace.h',['../a00356.html',1,'']]], - ['hal_5flinux_5fkit_5fcdc_2ec',['hal_linux_kit_cdc.c',['../a00359.html',1,'']]], - ['hal_5flinux_5fkit_5fcdc_2eh',['hal_linux_kit_cdc.h',['../a00362.html',1,'']]], - ['hal_5flinux_5fkit_5fhid_2ec',['hal_linux_kit_hid.c',['../a00365.html',1,'']]], - ['hal_5flinux_5fkit_5fhid_2eh',['hal_linux_kit_hid.h',['../a00368.html',1,'']]], - ['hal_5flinux_5ftimer_2ec',['hal_linux_timer.c',['../a00371.html',1,'']]], - ['hal_5flock_5fmutex',['hal_lock_mutex',['../a03537.html#gad4cd02ff7ae4e75844eab4e84eb61994',1,'hal_freertos.c']]], - ['hal_5fpic32mx695f512h_5fi2c_2ec',['hal_pic32mx695f512h_i2c.c',['../a00374.html',1,'']]], - ['hal_5fpic32mx695f512h_5fi2c_2eh',['hal_pic32mx695f512h_i2c.h',['../a00377.html',1,'']]], - ['hal_5fpic32mx695f512h_5ftimer_2ec',['hal_pic32mx695f512h_timer.c',['../a00380.html',1,'']]], - ['hal_5fpic32mz2048efm_5fi2c_2ec',['hal_pic32mz2048efm_i2c.c',['../a00383.html',1,'']]], - ['hal_5fpic32mz2048efm_5fi2c_2eh',['hal_pic32mz2048efm_i2c.h',['../a00386.html',1,'']]], - ['hal_5fpic32mz2048efm_5ftimer_2ec',['hal_pic32mz2048efm_timer.c',['../a00389.html',1,'']]], - ['hal_5fsam4s_5fi2c_5fasf_2ec',['hal_sam4s_i2c_asf.c',['../a00392.html',1,'']]], - ['hal_5fsam4s_5fi2c_5fasf_2eh',['hal_sam4s_i2c_asf.h',['../a00395.html',1,'']]], - ['hal_5fsam4s_5ftimer_5fasf_2ec',['hal_sam4s_timer_asf.c',['../a00398.html',1,'']]], - ['hal_5fsamb11_5fi2c_5fasf_2ec',['hal_samb11_i2c_asf.c',['../a00401.html',1,'']]], - ['hal_5fsamb11_5fi2c_5fasf_2eh',['hal_samb11_i2c_asf.h',['../a00404.html',1,'']]], - ['hal_5fsamb11_5ftimer_5fasf_2ec',['hal_samb11_timer_asf.c',['../a00407.html',1,'']]], - ['hal_5fsamd21_5fi2c_5fasf_2ec',['hal_samd21_i2c_asf.c',['../a00410.html',1,'']]], - ['hal_5fsamd21_5fi2c_5fasf_2eh',['hal_samd21_i2c_asf.h',['../a00413.html',1,'']]], - ['hal_5fsamd21_5ftimer_5fasf_2ec',['hal_samd21_timer_asf.c',['../a00416.html',1,'']]], - ['hal_5fsamg55_5fi2c_5fasf_2ec',['hal_samg55_i2c_asf.c',['../a00419.html',1,'']]], - ['hal_5fsamg55_5fi2c_5fasf_2eh',['hal_samg55_i2c_asf.h',['../a00422.html',1,'']]], - ['hal_5fsamg55_5ftimer_5fasf_2ec',['hal_samg55_timer_asf.c',['../a00425.html',1,'']]], - ['hal_5fsamv71_5fi2c_5fasf_2ec',['hal_samv71_i2c_asf.c',['../a00428.html',1,'']]], - ['hal_5fsamv71_5fi2c_5fasf_2eh',['hal_samv71_i2c_asf.h',['../a00431.html',1,'']]], - ['hal_5fsamv71_5ftimer_5fasf_2ec',['hal_samv71_timer_asf.c',['../a00434.html',1,'']]], - ['hal_5fswi_5fbitbang_2ec',['hal_swi_bitbang.c',['../a00437.html',1,'']]], - ['hal_5fswi_5fbitbang_2eh',['hal_swi_bitbang.h',['../a00440.html',1,'']]], - ['hal_5fswi_5fdiscover_5fbuses',['hal_swi_discover_buses',['../a03537.html#ga53864a301dac6efbdbdc3931aa79e23e',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fdiscover_5fdevices',['hal_swi_discover_devices',['../a03537.html#ga354e6fa757688b73e6fb5293bb835def',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fidle',['hal_swi_idle',['../a03537.html#ga618291172976da96c4f02dc9200c845c',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5finit',['hal_swi_init',['../a03537.html#gaf406053c1a3f2a86bdc887f2ff4b663d',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fpost_5finit',['hal_swi_post_init',['../a03537.html#ga9186e5235979216330ae580290872c77',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5freceive',['hal_swi_receive',['../a03537.html#ga02e9f36723f0feb21d373898728de04b',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5frelease',['hal_swi_release',['../a03537.html#ga196dbc62546b39ac3e556a0f7f6b7132',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fsend',['hal_swi_send',['../a03537.html#gaeb8b8857192a7710785acce0110e8016',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fsend_5fflag',['hal_swi_send_flag',['../a03537.html#gaae96ea936a2e85d0bcb81b7868ee007d',1,'hal_swi_uart.c']]], - ['hal_5fswi_5fsleep',['hal_swi_sleep',['../a03537.html#ga252e365a30f2583dae8a8eac073a9f53',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fuart_2ec',['hal_swi_uart.c',['../a00443.html',1,'']]], - ['hal_5fswi_5fuart_2eh',['hal_swi_uart.h',['../a00446.html',1,'']]], - ['hal_5fswi_5fwake',['hal_swi_wake',['../a03537.html#gafc428980ec95e37eee94813db229fe70',1,'hal_swi_bitbang.c']]], - ['hal_5ftimer_5fstart_2ec',['hal_timer_start.c',['../a00449.html',1,'']]], - ['hal_5funlock_5fmutex',['hal_unlock_mutex',['../a03537.html#ga31fd8170a49623686543f6247b883bd1',1,'hal_freertos.c']]], - ['hal_5fwin_5fkit_5fcdc_2ec',['hal_win_kit_cdc.c',['../a00452.html',1,'']]], - ['hal_5fwin_5fkit_5fcdc_2eh',['hal_win_kit_cdc.h',['../a00455.html',1,'']]], - ['hal_5fwin_5fkit_5fhid_2ec',['hal_win_kit_hid.c',['../a00458.html',1,'']]], - ['hal_5fwin_5fkit_5fhid_2eh',['hal_win_kit_hid.h',['../a00461.html',1,'']]], - ['hal_5fwin_5ftimer_2ec',['hal_win_timer.c',['../a00464.html',1,'']]], - ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2ec',['hal_xmega_a3bu_i2c_asf.c',['../a00467.html',1,'']]], - ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2eh',['hal_xmega_a3bu_i2c_asf.h',['../a00470.html',1,'']]], - ['hal_5fxmega_5fa3bu_5ftimer_5fasf_2ec',['hal_xmega_a3bu_timer_asf.c',['../a00473.html',1,'']]], - ['halidle',['halidle',['../a03555.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5',1,'ATCAIfaceCfg::halidle()'],['../a03647.html#a3939b643c7f807fc8fe8abcf18e99196',1,'ATCAHAL_t::halidle()']]], - ['halinit',['halinit',['../a03555.html#a3baf2be3a5e7c59688ede3ffa734f1e1',1,'ATCAIfaceCfg::halinit()'],['../a03647.html#aa020e68c9d18f83f205981fa57107b3c',1,'ATCAHAL_t::halinit()']]], - ['halpostinit',['halpostinit',['../a03555.html#a82498c9417816ef35f75ea8249a3f10a',1,'ATCAIfaceCfg::halpostinit()'],['../a03647.html#af174424ba7b2d19a74c72f8b4198c26b',1,'ATCAHAL_t::halpostinit()']]], - ['halreceive',['halreceive',['../a03555.html#a18decbd259932bfe1f787dd3d94ee29f',1,'ATCAIfaceCfg::halreceive()'],['../a03647.html#af95136769fcc864880463d4dcab0c11c',1,'ATCAHAL_t::halreceive()']]], - ['halrelease',['halrelease',['../a03555.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAIfaceCfg::halrelease()'],['../a03647.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAHAL_t::halrelease()']]], - ['halsend',['halsend',['../a03555.html#a3aa29f6db8565f010adbe6b11e203d53',1,'ATCAIfaceCfg::halsend()'],['../a03647.html#a6fb3aee6375216c53ef1e5a9df01e074',1,'ATCAHAL_t::halsend()']]], - ['halsleep',['halsleep',['../a03555.html#a7add390e5c5e2d9c8f6dadc842a3726e',1,'ATCAIfaceCfg::halsleep()'],['../a03647.html#ad2f432748c4d8efe98ec42d5cd1552b5',1,'ATCAHAL_t::halsleep()']]], - ['halwake',['halwake',['../a03555.html#a357fd8307ec04fe3026830316fc3b043',1,'ATCAIfaceCfg::halwake()'],['../a03647.html#a033c21278fef7771916378cbcf726ae6',1,'ATCAHAL_t::halwake()']]], - ['handle',['HANDLE',['../a03537.html#ga069bb8cb95b0528d5ce0304bb5561a40',1,'hal_linux_kit_cdc.h']]], - ['harmony_5fi2c_5fdriver',['HARMONY_I2C_DRIVER',['../a03537.html#ga779f5e5d060c6d43dd09752eeb2a2bb3',1,'hal_pic32mz2048efm_i2c.h']]], - ['hash',['hash',['../a03643.html#a135f34ef1efee1401582f12744220dbb',1,'sw_sha256_ctx']]], - ['hashed_5fkey',['hashed_key',['../a03707.html#a4e3f2b3f58d04cbc9d85d936b039170e',1,'atca_secureboot_enc_in_out::hashed_key()'],['../a03711.html#a1f1ddb903087eec963d0faf82a3283a4',1,'atca_secureboot_mac_in_out::hashed_key()']]], - ['hid_5fdevice',['hid_device',['../a03667.html',1,'']]], - ['hid_5fdevice_5ft',['hid_device_t',['../a03537.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_linux_kit_hid.h'],['../a03537.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_win_kit_hid.h']]], - ['hid_5fdevices_5fmax',['HID_DEVICES_MAX',['../a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_all_platforms_kit_hidapi.h'],['../a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_linux_kit_hid.h'],['../a03537.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_win_kit_hid.h']]], - ['hid_5fguid',['HID_GUID',['../a03537.html#gafa87510c678a9963da73988da4dd44f7',1,'hal_win_kit_hid.c']]], - ['hid_5fpacket_5fmax',['HID_PACKET_MAX',['../a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_all_platforms_kit_hidapi.h'],['../a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_linux_kit_hid.h'],['../a03537.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_win_kit_hid.h']]], - ['hmac_5fblock_5fsize',['HMAC_BLOCK_SIZE',['../a03538.html#gaf7ec8e72430c612cc936a2ea2f91d6d0',1,'atca_host.h']]], - ['hmac_5fcount',['HMAC_COUNT',['../a03531.html#ga041d4cd845319ea0a693a1c4008b2a06',1,'atca_command.h']]], - ['hmac_5fdigest_5fsize',['HMAC_DIGEST_SIZE',['../a03531.html#gacd5976f898b9f67ea8e21df4e27fb712',1,'atca_command.h']]], - ['hmac_5fkeyid_5fidx',['HMAC_KEYID_IDX',['../a03531.html#ga23673926f1dd2464bd20f6512985d855',1,'atca_command.h']]], - ['hmac_5fmode_5fflag_5ffullsn',['HMAC_MODE_FLAG_FULLSN',['../a03531.html#ga564f52346bfc03bdd50aa7d03974efe7',1,'atca_command.h']]], - ['hmac_5fmode_5fflag_5fotp64',['HMAC_MODE_FLAG_OTP64',['../a03531.html#ga62261a1c6f121c296dce7e0f697c9a4a',1,'atca_command.h']]], - ['hmac_5fmode_5fflag_5fotp88',['HMAC_MODE_FLAG_OTP88',['../a03531.html#ga34be98ca6fb22f331eb62cfc4104ded6',1,'atca_command.h']]], - ['hmac_5fmode_5fflag_5ftk_5fnorand',['HMAC_MODE_FLAG_TK_NORAND',['../a03531.html#gac3b1177210ba941afa527bacbcfd4fab',1,'atca_command.h']]], - ['hmac_5fmode_5fflag_5ftk_5frand',['HMAC_MODE_FLAG_TK_RAND',['../a03531.html#ga08326ee33be4faaec3be800e80c1cc17',1,'atca_command.h']]], - ['hmac_5fmode_5fidx',['HMAC_MODE_IDX',['../a03531.html#gadf58a677811566e8446870523bb65850',1,'atca_command.h']]], - ['hmac_5fmode_5fmask',['HMAC_MODE_MASK',['../a03531.html#ga8250b0997534871fdd6ead1c3aa220ba',1,'atca_command.h']]], - ['hmac_5frsp_5fsize',['HMAC_RSP_SIZE',['../a03531.html#gadec1fd29e8c6b2f804fc4050778dafc8',1,'atca_command.h']]], - ['host_5fgenerate_5frandom_5fnumber',['host_generate_random_number',['../a00023.html#a197406dca9e671c3ef8036976108527f',1,'secure_boot.h']]], - ['hw_5fsha256_5fctx',['hw_sha256_ctx',['../a03627.html',1,'']]], - ['hal_20directory_20_2d_20purpose',['HAL Directory - Purpose',['../a03775.html',1,'']]] + ['host_20side_20crypto_20methods_20_28atcah_5f_29',['Host side crypto methods (atcah_)',['../a00913.html',1,'']]], + ['h',['h',['../a01002.html#aabae58f8680f6b319b78afa08d7a29d1',1,'atca_aes_gcm_ctx::h()'],['../a01018.html#a015ca0a234558a1a0dbfc1e92f547ac0',1,'CL_HashContext::h()']]], + ['hardware_20abstraction_20layer_20_28hal_5f_29',['Hardware abstraction layer (hal_)',['../a00912.html',1,'']]], + ['hal_5fall_5fplatforms_5fkit_5fhidapi_2ec',['hal_all_platforms_kit_hidapi.c',['../a00338.html',1,'']]], + ['hal_5fall_5fplatforms_5fkit_5fhidapi_2eh',['hal_all_platforms_kit_hidapi.h',['../a00341.html',1,'']]], + ['hal_5fat90usb1287_5fi2c_5fasf_2ec',['hal_at90usb1287_i2c_asf.c',['../a00344.html',1,'']]], + ['hal_5fat90usb1287_5fi2c_5fasf_2eh',['hal_at90usb1287_i2c_asf.h',['../a00347.html',1,'']]], + ['hal_5fat90usb1287_5ftimer_5fasf_2ec',['hal_at90usb1287_timer_asf.c',['../a00350.html',1,'']]], + ['hal_5fcdc_5fdiscover_5fbuses',['hal_cdc_discover_buses',['../a00912.html#ga6ec842c5f4674de5da640541e616785a',1,'hal_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00473.html#a5320f17f400bf5ad0579dbdd5c8acf90',1,'hal_cdc_discover_buses(int i2c_buses[], int max_buses): hal_win_kit_cdc.c']]], + ['hal_5fcdc_5fdiscover_5fdevices',['hal_cdc_discover_devices',['../a00912.html#ga5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_linux_kit_cdc.c'],['../a00473.html#a5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_win_kit_cdc.c']]], + ['hal_5fcheck_5fwake',['hal_check_wake',['../a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c'],['../a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c']]], + ['hal_5fcreate_5fmutex',['hal_create_mutex',['../a00912.html#gab289a3949663589ac6be71d72fb18278',1,'hal_freertos.c']]], + ['hal_5fdata',['hal_data',['../a00958.html#ad33508455720b78cc0fc880cb3f9885e',1,'atca_iface::hal_data()'],['../a01026.html#ad33508455720b78cc0fc880cb3f9885e',1,'ATCAHAL_t::hal_data()']]], + ['hal_5fdestroy_5fmutex',['hal_destroy_mutex',['../a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3',1,'hal_freertos.c']]], + ['hal_5fesp32_5fi2c_2ec',['hal_esp32_i2c.c',['../a00353.html',1,'']]], + ['hal_5fesp32_5ftimer_2ec',['hal_esp32_timer.c',['../a00356.html',1,'']]], + ['hal_5ffreertos_2ec',['hal_freertos.c',['../a00359.html',1,'']]], + ['hal_5fi2c_5fbitbang_2ec',['hal_i2c_bitbang.c',['../a00362.html',1,'']]], + ['hal_5fi2c_5fbitbang_2eh',['hal_i2c_bitbang.h',['../a00365.html',1,'']]], + ['hal_5fi2c_5fchange_5fbaud',['hal_i2c_change_baud',['../a00353.html#a98107f7cba849e44395b87a7e15fbec3',1,'hal_esp32_i2c.c']]], + ['hal_5fi2c_5fdiscover_5fbuses',['hal_i2c_discover_buses',['../a00912.html#ga05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_esp32_i2c.c'],['../a00404.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fdiscover_5fdevices',['hal_i2c_discover_devices',['../a00912.html#gac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ae68c90497ef6f7edbf78daa3a094028a',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_esp32_i2c.c'],['../a00404.html#ac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fidle',['hal_i2c_idle',['../a00912.html#ga9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5finit',['hal_i2c_init',['../a00912.html#ga09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_esp32_i2c.c'],['../a00404.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fpost_5finit',['hal_i2c_post_init',['../a00912.html#gafbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5freceive',['hal_i2c_receive',['../a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_esp32_i2c.c'],['../a00404.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5frelease',['hal_i2c_release',['../a00912.html#gac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_esp32_i2c.c'],['../a00404.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fsend',['hal_i2c_send',['../a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_at90usb1287_i2c_asf.c'],['../a00353.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_esp32_i2c.c'],['../a00404.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fsleep',['hal_i2c_sleep',['../a00912.html#ga3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fstart_2ec',['hal_i2c_start.c',['../a00368.html',1,'']]], + ['hal_5fi2c_5fstart_2eh',['hal_i2c_start.h',['../a00371.html',1,'']]], + ['hal_5fi2c_5fwake',['hal_i2c_wake',['../a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fiface_5finit',['hal_iface_init',['../a00912.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *cfg, ATCAHAL_t *hal): atca_hal.c'],['../a00912.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal): atca_hal.c']]], + ['hal_5fiface_5frelease',['hal_iface_release',['../a00912.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType iface_type, void *hal_data): atca_hal.c'],['../a00912.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType, void *hal_data): atca_hal.c']]], + ['hal_5fkit_5fcdc_5fdiscover_5fbuses',['hal_kit_cdc_discover_buses',['../a00912.html#ga56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00473.html#a56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fdiscover_5fdevices',['hal_kit_cdc_discover_devices',['../a00912.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_linux_kit_cdc.c'],['../a00473.html#a0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fidle',['hal_kit_cdc_idle',['../a00912.html#ga92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#a92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5finit',['hal_kit_cdc_init',['../a00912.html#ga313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_linux_kit_cdc.c'],['../a00473.html#a313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fpost_5finit',['hal_kit_cdc_post_init',['../a00912.html#gad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#ad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5freceive',['hal_kit_cdc_receive',['../a00912.html#ga3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_linux_kit_cdc.c'],['../a00473.html#a3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5frelease',['hal_kit_cdc_release',['../a00912.html#ga21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_linux_kit_cdc.c'],['../a00473.html#a21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fsend',['hal_kit_cdc_send',['../a00912.html#ga7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00473.html#a7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fsleep',['hal_kit_cdc_sleep',['../a00912.html#ga1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#a1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fwake',['hal_kit_cdc_wake',['../a00912.html#gabced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#abced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fhid_5fdiscover_5fbuses',['hal_kit_hid_discover_buses',['../a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fdiscover_5fdevices',['hal_kit_hid_discover_devices',['../a00912.html#ga0121a73c96416c97ce07ed9077226588',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fidle',['hal_kit_hid_idle',['../a00912.html#gaacf6310945889a6119cab867a1ced5e2',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5finit',['hal_kit_hid_init',['../a00912.html#ga95b4e99655383680272a1d9354d42479',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fpost_5finit',['hal_kit_hid_post_init',['../a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5freceive',['hal_kit_hid_receive',['../a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5frelease',['hal_kit_hid_release',['../a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fsend',['hal_kit_hid_send',['../a00912.html#ga47588dbefadcc1569513b053a156f3d6',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fsleep',['hal_kit_hid_sleep',['../a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fwake',['hal_kit_hid_wake',['../a00912.html#ga65289262310f2662b2c47450b93c9580',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fphy_5fnum_5ffound',['hal_kit_phy_num_found',['../a00912.html#ga5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_linux_kit_cdc.c'],['../a00473.html#a5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_win_kit_cdc.c']]], + ['hal_5flinux_5fi2c_5fuserspace_2ec',['hal_linux_i2c_userspace.c',['../a00374.html',1,'']]], + ['hal_5flinux_5fi2c_5fuserspace_2eh',['hal_linux_i2c_userspace.h',['../a00377.html',1,'']]], + ['hal_5flinux_5fkit_5fcdc_2ec',['hal_linux_kit_cdc.c',['../a00380.html',1,'']]], + ['hal_5flinux_5fkit_5fcdc_2eh',['hal_linux_kit_cdc.h',['../a00383.html',1,'']]], + ['hal_5flinux_5fkit_5fhid_2ec',['hal_linux_kit_hid.c',['../a00386.html',1,'']]], + ['hal_5flinux_5fkit_5fhid_2eh',['hal_linux_kit_hid.h',['../a00389.html',1,'']]], + ['hal_5flinux_5ftimer_2ec',['hal_linux_timer.c',['../a00392.html',1,'']]], + ['hal_5flock_5fmutex',['hal_lock_mutex',['../a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994',1,'hal_freertos.c']]], + ['hal_5fpic32mx695f512h_5fi2c_2ec',['hal_pic32mx695f512h_i2c.c',['../a00395.html',1,'']]], + ['hal_5fpic32mx695f512h_5fi2c_2eh',['hal_pic32mx695f512h_i2c.h',['../a00398.html',1,'']]], + ['hal_5fpic32mx695f512h_5ftimer_2ec',['hal_pic32mx695f512h_timer.c',['../a00401.html',1,'']]], + ['hal_5fpic32mz2048efm_5fi2c_2ec',['hal_pic32mz2048efm_i2c.c',['../a00404.html',1,'']]], + ['hal_5fpic32mz2048efm_5fi2c_2eh',['hal_pic32mz2048efm_i2c.h',['../a00407.html',1,'']]], + ['hal_5fpic32mz2048efm_5ftimer_2ec',['hal_pic32mz2048efm_timer.c',['../a00410.html',1,'']]], + ['hal_5fsam4s_5fi2c_5fasf_2ec',['hal_sam4s_i2c_asf.c',['../a00413.html',1,'']]], + ['hal_5fsam4s_5fi2c_5fasf_2eh',['hal_sam4s_i2c_asf.h',['../a00416.html',1,'']]], + ['hal_5fsam4s_5ftimer_5fasf_2ec',['hal_sam4s_timer_asf.c',['../a00419.html',1,'']]], + ['hal_5fsamb11_5fi2c_5fasf_2ec',['hal_samb11_i2c_asf.c',['../a00422.html',1,'']]], + ['hal_5fsamb11_5fi2c_5fasf_2eh',['hal_samb11_i2c_asf.h',['../a00425.html',1,'']]], + ['hal_5fsamb11_5ftimer_5fasf_2ec',['hal_samb11_timer_asf.c',['../a00428.html',1,'']]], + ['hal_5fsamd21_5fi2c_5fasf_2ec',['hal_samd21_i2c_asf.c',['../a00431.html',1,'']]], + ['hal_5fsamd21_5fi2c_5fasf_2eh',['hal_samd21_i2c_asf.h',['../a00434.html',1,'']]], + ['hal_5fsamd21_5ftimer_5fasf_2ec',['hal_samd21_timer_asf.c',['../a00437.html',1,'']]], + ['hal_5fsamg55_5fi2c_5fasf_2ec',['hal_samg55_i2c_asf.c',['../a00440.html',1,'']]], + ['hal_5fsamg55_5fi2c_5fasf_2eh',['hal_samg55_i2c_asf.h',['../a00443.html',1,'']]], + ['hal_5fsamg55_5ftimer_5fasf_2ec',['hal_samg55_timer_asf.c',['../a00446.html',1,'']]], + ['hal_5fsamv71_5fi2c_5fasf_2ec',['hal_samv71_i2c_asf.c',['../a00449.html',1,'']]], + ['hal_5fsamv71_5fi2c_5fasf_2eh',['hal_samv71_i2c_asf.h',['../a00452.html',1,'']]], + ['hal_5fsamv71_5ftimer_5fasf_2ec',['hal_samv71_timer_asf.c',['../a00455.html',1,'']]], + ['hal_5fswi_5fbitbang_2ec',['hal_swi_bitbang.c',['../a00458.html',1,'']]], + ['hal_5fswi_5fbitbang_2eh',['hal_swi_bitbang.h',['../a00461.html',1,'']]], + ['hal_5fswi_5fdiscover_5fbuses',['hal_swi_discover_buses',['../a00912.html#ga53864a301dac6efbdbdc3931aa79e23e',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fdiscover_5fdevices',['hal_swi_discover_devices',['../a00912.html#ga354e6fa757688b73e6fb5293bb835def',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fidle',['hal_swi_idle',['../a00912.html#ga618291172976da96c4f02dc9200c845c',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5finit',['hal_swi_init',['../a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fpost_5finit',['hal_swi_post_init',['../a00912.html#ga9186e5235979216330ae580290872c77',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5freceive',['hal_swi_receive',['../a00912.html#ga02e9f36723f0feb21d373898728de04b',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5frelease',['hal_swi_release',['../a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fsend',['hal_swi_send',['../a00912.html#gaeb8b8857192a7710785acce0110e8016',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fsend_5fflag',['hal_swi_send_flag',['../a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d',1,'hal_swi_uart.c']]], + ['hal_5fswi_5fsleep',['hal_swi_sleep',['../a00912.html#ga252e365a30f2583dae8a8eac073a9f53',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fuart_2ec',['hal_swi_uart.c',['../a00464.html',1,'']]], + ['hal_5fswi_5fuart_2eh',['hal_swi_uart.h',['../a00467.html',1,'']]], + ['hal_5fswi_5fwake',['hal_swi_wake',['../a00912.html#gafc428980ec95e37eee94813db229fe70',1,'hal_swi_bitbang.c']]], + ['hal_5ftimer_5fstart_2ec',['hal_timer_start.c',['../a00470.html',1,'']]], + ['hal_5funlock_5fmutex',['hal_unlock_mutex',['../a00912.html#ga31fd8170a49623686543f6247b883bd1',1,'hal_freertos.c']]], + ['hal_5fwin_5fkit_5fcdc_2ec',['hal_win_kit_cdc.c',['../a00473.html',1,'']]], + ['hal_5fwin_5fkit_5fcdc_2eh',['hal_win_kit_cdc.h',['../a00476.html',1,'']]], + ['hal_5fwin_5fkit_5fhid_2ec',['hal_win_kit_hid.c',['../a00479.html',1,'']]], + ['hal_5fwin_5fkit_5fhid_2eh',['hal_win_kit_hid.h',['../a00482.html',1,'']]], + ['hal_5fwin_5ftimer_2ec',['hal_win_timer.c',['../a00485.html',1,'']]], + ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2ec',['hal_xmega_a3bu_i2c_asf.c',['../a00488.html',1,'']]], + ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2eh',['hal_xmega_a3bu_i2c_asf.h',['../a00491.html',1,'']]], + ['hal_5fxmega_5fa3bu_5ftimer_5fasf_2ec',['hal_xmega_a3bu_timer_asf.c',['../a00494.html',1,'']]], + ['halidle',['halidle',['../a00930.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5',1,'ATCAIfaceCfg::halidle()'],['../a01026.html#a3939b643c7f807fc8fe8abcf18e99196',1,'ATCAHAL_t::halidle()']]], + ['halinit',['halinit',['../a00930.html#a3baf2be3a5e7c59688ede3ffa734f1e1',1,'ATCAIfaceCfg::halinit()'],['../a01026.html#aa020e68c9d18f83f205981fa57107b3c',1,'ATCAHAL_t::halinit()']]], + ['halpostinit',['halpostinit',['../a00930.html#a82498c9417816ef35f75ea8249a3f10a',1,'ATCAIfaceCfg::halpostinit()'],['../a01026.html#af174424ba7b2d19a74c72f8b4198c26b',1,'ATCAHAL_t::halpostinit()']]], + ['halreceive',['halreceive',['../a00930.html#a18decbd259932bfe1f787dd3d94ee29f',1,'ATCAIfaceCfg::halreceive()'],['../a01026.html#af95136769fcc864880463d4dcab0c11c',1,'ATCAHAL_t::halreceive()']]], + ['halrelease',['halrelease',['../a00930.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAIfaceCfg::halrelease()'],['../a01026.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAHAL_t::halrelease()']]], + ['halsend',['halsend',['../a00930.html#a3aa29f6db8565f010adbe6b11e203d53',1,'ATCAIfaceCfg::halsend()'],['../a01026.html#a6fb3aee6375216c53ef1e5a9df01e074',1,'ATCAHAL_t::halsend()']]], + ['halsleep',['halsleep',['../a00930.html#a7add390e5c5e2d9c8f6dadc842a3726e',1,'ATCAIfaceCfg::halsleep()'],['../a01026.html#ad2f432748c4d8efe98ec42d5cd1552b5',1,'ATCAHAL_t::halsleep()']]], + ['halwake',['halwake',['../a00930.html#a357fd8307ec04fe3026830316fc3b043',1,'ATCAIfaceCfg::halwake()'],['../a01026.html#a033c21278fef7771916378cbcf726ae6',1,'ATCAHAL_t::halwake()']]], + ['handle',['HANDLE',['../a00912.html#ga069bb8cb95b0528d5ce0304bb5561a40',1,'hal_linux_kit_cdc.h']]], + ['harmony_5fi2c_5fdriver',['HARMONY_I2C_DRIVER',['../a00912.html#ga779f5e5d060c6d43dd09752eeb2a2bb3',1,'hal_pic32mz2048efm_i2c.h']]], + ['hash',['hash',['../a01022.html#a135f34ef1efee1401582f12744220dbb',1,'sw_sha256_ctx']]], + ['hashed_5fkey',['hashed_key',['../a01086.html#a4e3f2b3f58d04cbc9d85d936b039170e',1,'atca_secureboot_enc_in_out::hashed_key()'],['../a01090.html#a1f1ddb903087eec963d0faf82a3283a4',1,'atca_secureboot_mac_in_out::hashed_key()']]], + ['hid_5fdevice',['hid_device',['../a01046.html',1,'']]], + ['hid_5fdevice_5ft',['hid_device_t',['../a00912.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_linux_kit_hid.h'],['../a00912.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_win_kit_hid.h']]], + ['hid_5fdevices_5fmax',['HID_DEVICES_MAX',['../a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_all_platforms_kit_hidapi.h'],['../a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_linux_kit_hid.h'],['../a00912.html#ga49053c3cd6d48fe5f468ce010ac0a9ef',1,'HID_DEVICES_MAX(): hal_win_kit_hid.h']]], + ['hid_5fguid',['HID_GUID',['../a00912.html#gafa87510c678a9963da73988da4dd44f7',1,'hal_win_kit_hid.c']]], + ['hid_5fpacket_5fmax',['HID_PACKET_MAX',['../a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_all_platforms_kit_hidapi.h'],['../a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_linux_kit_hid.h'],['../a00912.html#ga6cdff3589b286ebcdd7771bb425fbf73',1,'HID_PACKET_MAX(): hal_win_kit_hid.h']]], + ['hmac_5fblock_5fsize',['HMAC_BLOCK_SIZE',['../a00913.html#gaf7ec8e72430c612cc936a2ea2f91d6d0',1,'atca_host.h']]], + ['hmac_5fcount',['HMAC_COUNT',['../a00906.html#ga041d4cd845319ea0a693a1c4008b2a06',1,'atca_command.h']]], + ['hmac_5fdigest_5fsize',['HMAC_DIGEST_SIZE',['../a00906.html#gacd5976f898b9f67ea8e21df4e27fb712',1,'atca_command.h']]], + ['hmac_5fkeyid_5fidx',['HMAC_KEYID_IDX',['../a00906.html#ga23673926f1dd2464bd20f6512985d855',1,'atca_command.h']]], + ['hmac_5fmode_5fflag_5ffullsn',['HMAC_MODE_FLAG_FULLSN',['../a00906.html#ga564f52346bfc03bdd50aa7d03974efe7',1,'atca_command.h']]], + ['hmac_5fmode_5fflag_5fotp64',['HMAC_MODE_FLAG_OTP64',['../a00906.html#ga62261a1c6f121c296dce7e0f697c9a4a',1,'atca_command.h']]], + ['hmac_5fmode_5fflag_5fotp88',['HMAC_MODE_FLAG_OTP88',['../a00906.html#ga34be98ca6fb22f331eb62cfc4104ded6',1,'atca_command.h']]], + ['hmac_5fmode_5fflag_5ftk_5fnorand',['HMAC_MODE_FLAG_TK_NORAND',['../a00906.html#gac3b1177210ba941afa527bacbcfd4fab',1,'atca_command.h']]], + ['hmac_5fmode_5fflag_5ftk_5frand',['HMAC_MODE_FLAG_TK_RAND',['../a00906.html#ga08326ee33be4faaec3be800e80c1cc17',1,'atca_command.h']]], + ['hmac_5fmode_5fidx',['HMAC_MODE_IDX',['../a00906.html#gadf58a677811566e8446870523bb65850',1,'atca_command.h']]], + ['hmac_5fmode_5fmask',['HMAC_MODE_MASK',['../a00906.html#ga8250b0997534871fdd6ead1c3aa220ba',1,'atca_command.h']]], + ['hmac_5frsp_5fsize',['HMAC_RSP_SIZE',['../a00906.html#gadec1fd29e8c6b2f804fc4050778dafc8',1,'atca_command.h']]], + ['host_5fgenerate_5frandom_5fnumber',['host_generate_random_number',['../a00029.html#a197406dca9e671c3ef8036976108527f',1,'secure_boot.h']]], + ['hw_5fsha256_5fctx',['hw_sha256_ctx',['../a01006.html',1,'']]], + ['hal_20directory_20_2d_20purpose',['HAL Directory - Purpose',['../a01154.html',1,'']]] ]; diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js index 125471ff6..95c07cc43 100644 --- a/docs/html/search/all_9.js +++ b/docs/html/search/all_9.js @@ -1,97 +1,97 @@ var searchData= [ - ['i2c_5fack_5ftimeout',['I2C_ACK_TIMEOUT',['../a00479.html#a4f8a83ae9459703637408a0a194445ac',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fbitbang_5fsamd21_2ec',['i2c_bitbang_samd21.c',['../a00476.html',1,'']]], - ['i2c_5fbitbang_5fsamd21_2eh',['i2c_bitbang_samd21.h',['../a00479.html',1,'']]], - ['i2c_5fbus_5fref_5fct',['i2c_bus_ref_ct',['../a00332.html#aa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_esp32_i2c.c'],['../a03537.html#gaa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_linux_i2c_userspace.c']]], - ['i2c_5fbuses_5fdefault',['i2c_buses_default',['../a00476.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c'],['../a00479.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c']]], - ['i2c_5fclock_5fdelay_5fread_5fhigh',['I2C_CLOCK_DELAY_READ_HIGH',['../a00479.html#aacc56272d59b9d3ebd0e6837727b81d8',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fread_5flow',['I2C_CLOCK_DELAY_READ_LOW',['../a00479.html#a06202abc9352b61a9b332d28530c1e8a',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fsend_5fack',['I2C_CLOCK_DELAY_SEND_ACK',['../a00479.html#a260f2a8cd964aa89a1d6946b2a99f0a4',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fwrite_5fhigh',['I2C_CLOCK_DELAY_WRITE_HIGH',['../a00479.html#abeb77b3a0a6fe395e8b7ecf498850cd7',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fwrite_5flow',['I2C_CLOCK_DELAY_WRITE_LOW',['../a00479.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fhigh',['I2C_CLOCK_HIGH',['../a00479.html#a8bafe0ef98693ff1f6e1a5239f397397',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5flow',['I2C_CLOCK_LOW',['../a00479.html#a73ff0687b7b8e875a604eb441e30603b',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5fhigh',['I2C_DATA_HIGH',['../a00479.html#a97f972cfc30401e08fe25de26fcb3812',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5fin',['I2C_DATA_IN',['../a00479.html#a67750a8227bb7dffd95a6bb04821194f',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5flow',['I2C_DATA_LOW',['../a00479.html#afce97c373c5ec7dff5b99e462bb8443d',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdisable',['I2C_DISABLE',['../a00479.html#a35cdede808cc5e50ec96b86ec6d5186a',1,'I2C_DISABLE(): i2c_bitbang_samd21.h'],['../a00476.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c'],['../a00479.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c']]], - ['i2c_5fdiscover_5fbuses',['i2c_discover_buses',['../a00476.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c'],['../a00479.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c']]], - ['i2c_5fenable',['I2C_ENABLE',['../a00479.html#ac7dccc9e88a018aa5e25ae1ffa955e04',1,'I2C_ENABLE(): i2c_bitbang_samd21.h'],['../a00476.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c'],['../a00479.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c']]], - ['i2c_5ffile',['i2c_file',['../a03655.html#a386ecc3f01d8b317bc512cab194d844f',1,'atcaI2Cmaster']]], - ['i2c_5fhal_5fdata',['i2c_hal_data',['../a00332.html#a95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_esp32_i2c.c'],['../a03537.html#ga95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_linux_i2c_userspace.c']]], - ['i2c_5fhold_5fdelay',['I2C_HOLD_DELAY',['../a00479.html#afcbe5a222e1facc4e8023c326ca8430c',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fmaster_5finstance',['i2c_master_instance',['../a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#a335b4a621ab538c5a42160a5a14c161f',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#ad60966bca127551f6271719dd9921045',1,'atcaI2Cmaster::i2c_master_instance()']]], - ['i2c_5fread',['i2c_read',['../a03537.html#gaf31b095e9faac0c43ba3f0403bc52cf4',1,'i2c_read(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len): hal_pic32mx695f512h_i2c.c'],['../a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8',1,'I2C_READ(): hal_i2c_bitbang.h']]], - ['i2c_5fread_5fwrite_5fflag',['i2c_read_write_flag',['../a03537.html#gaa3e90779b37cd1b3a4d32321d9d8b772',1,'hal_i2c_bitbang.h']]], - ['i2c_5freceive_5fbyte',['i2c_receive_byte',['../a00476.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5freceive_5fbytes',['i2c_receive_bytes',['../a00476.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5freceive_5fone_5fbyte',['i2c_receive_one_byte',['../a00476.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c'],['../a00479.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fack',['i2c_send_ack',['../a00476.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c'],['../a00479.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fbyte',['i2c_send_byte',['../a00476.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c'],['../a00479.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fbytes',['i2c_send_bytes',['../a00476.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fstart',['i2c_send_start',['../a00476.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c'],['../a00479.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fstop',['i2c_send_stop',['../a00476.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c'],['../a00479.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fwake_5ftoken',['i2c_send_wake_token',['../a00476.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c'],['../a00479.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c']]], - ['i2c_5fsercom',['i2c_sercom',['../a03655.html#af47d648cf53d85c997e715a25fea0372',1,'atcaI2Cmaster::i2c_sercom()'],['../a03655.html#a0d97fa67bd4aa20fd2835fa5c8076061',1,'atcaI2Cmaster::i2c_sercom()']]], - ['i2c_5fset_5finput',['I2C_SET_INPUT',['../a00479.html#a3f1efda7918aca40566d1323f8feb7d9',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput',['I2C_SET_OUTPUT',['../a00479.html#a704e88e63280d2b338c6d5aaa287ded6',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput_5fhigh',['I2C_SET_OUTPUT_HIGH',['../a00479.html#a560b261db9a1d59e1cd72a73da03d06c',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput_5flow',['I2C_SET_OUTPUT_LOW',['../a00479.html#a9b2c622317087560cb142947b325cbe9',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5fpin',['i2c_set_pin',['../a00476.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c'],['../a00479.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c']]], - ['i2c_5fwrite',['i2c_write',['../a03537.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048',1,'i2c_write(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len): hal_pic32mx695f512h_i2c.c'],['../a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2',1,'I2C_WRITE(): hal_i2c_bitbang.h']]], - ['i2cbuses',['I2CBuses',['../a03679.html',1,'']]], - ['i2cdriverinit',['i2cDriverInit',['../a03671.html#ae40d3e07534bf6cb2e78c329983048c7',1,'DRV_I2C_Object']]], - ['i2cdriverinstance',['i2cDriverInstance',['../a03671.html#af8b2d2e531312c0b6adda321a50fabc7',1,'DRV_I2C_Object']]], - ['i2cdriverinstanceindex',['i2cDriverInstanceIndex',['../a03671.html#a61f012e6351d468a23da071e8ee588b6',1,'DRV_I2C_Object']]], - ['id',['id',['../a03599.html#a0b1ca4dcd178907e4151c7132e3b55f5',1,'atcacert_cert_element_s::id()'],['../a03655.html#a7441ef0865bcb3db9b8064dd7375c1ea',1,'atcaI2Cmaster::id()'],['../a03655.html#a10c34d148db33a5f64c3730a163fb7a7',1,'atcaI2Cmaster::id()']]], - ['idx',['idx',['../a03555.html#ae40354a1051342eb5a9db005715dcfa9',1,'ATCAIfaceCfg']]], - ['iface_5ftype',['iface_type',['../a03555.html#a3d0753b214d2a12df80f22b56bfc6e71',1,'ATCAIfaceCfg']]], - ['incidental',['INCIDENTAL',['../a00533.html#a672c9264e9de75bce6ab2cb4d5bde5c1',1,'license.txt']]], - ['including',['INCLUDING',['../a00533.html#a3e9c2f2beba8585ea947b758fe1a127d',1,'license.txt']]], - ['indirect',['INDIRECT',['../a00533.html#ad8724d922f0e30d3010a431017c0aaaa',1,'license.txt']]], - ['info_5fcount',['INFO_COUNT',['../a03531.html#gaee1a29942cf2b3637a65506dc6b5d4fe',1,'atca_command.h']]], - ['info_5fdriver_5fstate_5fmask',['INFO_DRIVER_STATE_MASK',['../a03531.html#ga9cc740e22e15f08a8b90873a2b3b47e8',1,'atca_command.h']]], - ['info_5fmode_5fgpio',['INFO_MODE_GPIO',['../a03531.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6',1,'atca_command.h']]], - ['info_5fmode_5fkey_5fvalid',['INFO_MODE_KEY_VALID',['../a03531.html#ga6f746e9967643e3234727eaa5a0b274b',1,'atca_command.h']]], - ['info_5fmode_5fmax',['INFO_MODE_MAX',['../a03531.html#ga249c12b69d65f6c33568c78b9d9b127d',1,'atca_command.h']]], - ['info_5fmode_5frevision',['INFO_MODE_REVISION',['../a03531.html#gae591dd29af805fc5b63e5b06d5e7c450',1,'atca_command.h']]], - ['info_5fmode_5fstate',['INFO_MODE_STATE',['../a03531.html#ga7432ca6b291e32e962fabaa6d604a8bc',1,'atca_command.h']]], - ['info_5fmode_5fvol_5fkey_5fpermit',['INFO_MODE_VOL_KEY_PERMIT',['../a03531.html#gac0fb0edb797b754a069e12931a001257',1,'atca_command.h']]], - ['info_5fno_5fstate',['INFO_NO_STATE',['../a03531.html#gad5b035b6f65f87b7fdf75f225a54ce35',1,'atca_command.h']]], - ['info_5foutput_5fstate_5fmask',['INFO_OUTPUT_STATE_MASK',['../a03531.html#ga2b70682af491ce76c45505cabafcf9c0',1,'atca_command.h']]], - ['info_5fparam1_5fidx',['INFO_PARAM1_IDX',['../a03531.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac',1,'atca_command.h']]], - ['info_5fparam2_5fidx',['INFO_PARAM2_IDX',['../a03531.html#ga09e4830c78dedfa2ce662e0fdbe430e3',1,'atca_command.h']]], - ['info_5fparam2_5flatch_5fclear',['INFO_PARAM2_LATCH_CLEAR',['../a03531.html#ga027d5e8ae4a55db4ae52a41f3214c861',1,'atca_command.h']]], - ['info_5fparam2_5flatch_5fset',['INFO_PARAM2_LATCH_SET',['../a03531.html#gaae24f308513ed54fc7c41b39bc05760b',1,'atca_command.h']]], - ['info_5fparam2_5fset_5flatch_5fstate',['INFO_PARAM2_SET_LATCH_STATE',['../a03531.html#ga5dcc70feddb0b97c6fa779c6c3c819e6',1,'atca_command.h']]], - ['info_5frsp_5fsize',['INFO_RSP_SIZE',['../a03531.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5',1,'atca_command.h']]], - ['info_5fsize',['INFO_SIZE',['../a03531.html#ga70457c61d44fbac0cb48727f53c39388',1,'atca_command.h']]], - ['infringement',['INFRINGEMENT',['../a00533.html#a7c4fbd85a126d156dfee161e8fd6681a',1,'license.txt']]], - ['initatcacommand',['initATCACommand',['../a03531.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c'],['../a03531.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c']]], - ['initatcadevice',['initATCADevice',['../a03532.html#ga8eec7f2190d1f9bda6684f5d2177db15',1,'atca_device.c']]], - ['initatcaiface',['initATCAIface',['../a03533.html#ga3a31087729a7a2e9a624572f234809fc',1,'atca_iface.c']]], - ['input_5fdata',['input_data',['../a03727.html#a699b6e4448b505a2664025ccca3522f5',1,'atca_write_mac_in_out']]], - ['invalid_5fhandle_5fvalue',['INVALID_HANDLE_VALUE',['../a03537.html#ga5fdc7facea201bfce4ad308105f88d0c',1,'hal_linux_kit_cdc.h']]], - ['io_5fkey',['io_key',['../a03699.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_io_decrypt_in_out::io_key()'],['../a03703.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_verify_mac::io_key()'],['../a03707.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_secureboot_enc_in_out::io_key()']]], - ['io_5fprotection_5fget_5fkey',['io_protection_get_key',['../a00017.html#adb01c317f81145702f564ca1d46ec33b',1,'io_protection_key.h']]], - ['io_5fprotection_5fkey_2eh',['io_protection_key.h',['../a00017.html',1,'']]], - ['io_5fprotection_5fkey_5fslot',['IO_PROTECTION_KEY_SLOT',['../a00014.html#a60c58ea0ec675162d62034323c906b9b',1,'crypto_device_app.h']]], - ['io_5fprotection_5fset_5fkey',['io_protection_set_key',['../a00017.html#a8e02c996fdc083bb4c4444057e429a44',1,'io_protection_key.h']]], - ['is_5f64',['is_64',['../a03687.html#a3f6d684924e3635e6e57441b66b98978',1,'atca_temp_key']]], - ['is_5fdevice_5fsn',['is_device_sn',['../a03607.html#a3969ddf030fd0524b62c572070bb3edc',1,'atcacert_build_state_s']]], - ['is_5fgenkey',['is_genkey',['../a03591.html#ab0cedc80cd8670d02eee4b6e31500f5f',1,'atcacert_device_loc_s']]], - ['is_5fkey_5fnomac',['is_key_nomac',['../a03723.html#a6ab45b7847bf9d25cc2be99b11641e5f',1,'atca_gen_dig_in_out']]], - ['is_5fslot_5flocked',['is_slot_locked',['../a03755.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8',1,'atca_sign_internal_in_out']]], - ['isalpha',['isAlpha',['../a03535.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c'],['../a03535.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c']]], - ['isatcaerror',['isATCAError',['../a03531.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c'],['../a03531.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c']]], - ['isbase64',['isBase64',['../a03535.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c']]], - ['isbase64digit',['isBase64Digit',['../a03535.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c']]], - ['isdigit',['isDigit',['../a03535.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c'],['../a03535.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c']]], - ['ishex',['isHex',['../a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c'],['../a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c']]], - ['ishexalpha',['isHexAlpha',['../a03535.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c'],['../a03535.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c']]], - ['ishexdigit',['isHexDigit',['../a03535.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c'],['../a03535.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c']]], - ['issue_5fdate_5fformat',['issue_date_format',['../a03603.html#a61f951f9c4366391012057d591888f32',1,'atcacert_def_s']]], - ['iswhitespace',['isWhiteSpace',['../a03535.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c'],['../a03535.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c']]], - ['iv',['iv',['../a03619.html#a31dd3906237011822f43dcb64fe58e39',1,'atca_aes_ctr_ctx']]] + ['i2c_5fack_5ftimeout',['I2C_ACK_TIMEOUT',['../a00500.html#a4f8a83ae9459703637408a0a194445ac',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fbitbang_5fsamd21_2ec',['i2c_bitbang_samd21.c',['../a00497.html',1,'']]], + ['i2c_5fbitbang_5fsamd21_2eh',['i2c_bitbang_samd21.h',['../a00500.html',1,'']]], + ['i2c_5fbus_5fref_5fct',['i2c_bus_ref_ct',['../a00353.html#aa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_esp32_i2c.c'],['../a00912.html#gaa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_linux_i2c_userspace.c']]], + ['i2c_5fbuses_5fdefault',['i2c_buses_default',['../a00497.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c'],['../a00500.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c']]], + ['i2c_5fclock_5fdelay_5fread_5fhigh',['I2C_CLOCK_DELAY_READ_HIGH',['../a00500.html#aacc56272d59b9d3ebd0e6837727b81d8',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fread_5flow',['I2C_CLOCK_DELAY_READ_LOW',['../a00500.html#a06202abc9352b61a9b332d28530c1e8a',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fsend_5fack',['I2C_CLOCK_DELAY_SEND_ACK',['../a00500.html#a260f2a8cd964aa89a1d6946b2a99f0a4',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fwrite_5fhigh',['I2C_CLOCK_DELAY_WRITE_HIGH',['../a00500.html#abeb77b3a0a6fe395e8b7ecf498850cd7',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fwrite_5flow',['I2C_CLOCK_DELAY_WRITE_LOW',['../a00500.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fhigh',['I2C_CLOCK_HIGH',['../a00500.html#a8bafe0ef98693ff1f6e1a5239f397397',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5flow',['I2C_CLOCK_LOW',['../a00500.html#a73ff0687b7b8e875a604eb441e30603b',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5fhigh',['I2C_DATA_HIGH',['../a00500.html#a97f972cfc30401e08fe25de26fcb3812',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5fin',['I2C_DATA_IN',['../a00500.html#a67750a8227bb7dffd95a6bb04821194f',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5flow',['I2C_DATA_LOW',['../a00500.html#afce97c373c5ec7dff5b99e462bb8443d',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdisable',['i2c_disable',['../a00497.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c'],['../a00500.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c'],['../a00500.html#a35cdede808cc5e50ec96b86ec6d5186a',1,'I2C_DISABLE(): i2c_bitbang_samd21.h']]], + ['i2c_5fdiscover_5fbuses',['i2c_discover_buses',['../a00497.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c'],['../a00500.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c']]], + ['i2c_5fenable',['i2c_enable',['../a00497.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c'],['../a00500.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c'],['../a00500.html#ac7dccc9e88a018aa5e25ae1ffa955e04',1,'I2C_ENABLE(): i2c_bitbang_samd21.h']]], + ['i2c_5ffile',['i2c_file',['../a01034.html#a386ecc3f01d8b317bc512cab194d844f',1,'atcaI2Cmaster']]], + ['i2c_5fhal_5fdata',['i2c_hal_data',['../a00353.html#a95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_esp32_i2c.c'],['../a00912.html#ga95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_linux_i2c_userspace.c']]], + ['i2c_5fhold_5fdelay',['I2C_HOLD_DELAY',['../a00500.html#afcbe5a222e1facc4e8023c326ca8430c',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fmaster_5finstance',['i2c_master_instance',['../a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#a335b4a621ab538c5a42160a5a14c161f',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#ad60966bca127551f6271719dd9921045',1,'atcaI2Cmaster::i2c_master_instance()']]], + ['i2c_5fread',['i2c_read',['../a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4',1,'i2c_read(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, uint16_t len): hal_pic32mx695f512h_i2c.c'],['../a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8',1,'I2C_READ(): hal_i2c_bitbang.h']]], + ['i2c_5fread_5fwrite_5fflag',['i2c_read_write_flag',['../a00912.html#gaa3e90779b37cd1b3a4d32321d9d8b772',1,'hal_i2c_bitbang.h']]], + ['i2c_5freceive_5fbyte',['i2c_receive_byte',['../a00497.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5freceive_5fbytes',['i2c_receive_bytes',['../a00497.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5freceive_5fone_5fbyte',['i2c_receive_one_byte',['../a00497.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c'],['../a00500.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fack',['i2c_send_ack',['../a00497.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c'],['../a00500.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fbyte',['i2c_send_byte',['../a00497.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c'],['../a00500.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fbytes',['i2c_send_bytes',['../a00497.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fstart',['i2c_send_start',['../a00497.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c'],['../a00500.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fstop',['i2c_send_stop',['../a00497.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c'],['../a00500.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fwake_5ftoken',['i2c_send_wake_token',['../a00497.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c'],['../a00500.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c']]], + ['i2c_5fsercom',['i2c_sercom',['../a01034.html#af47d648cf53d85c997e715a25fea0372',1,'atcaI2Cmaster::i2c_sercom()'],['../a01034.html#a0d97fa67bd4aa20fd2835fa5c8076061',1,'atcaI2Cmaster::i2c_sercom()']]], + ['i2c_5fset_5finput',['I2C_SET_INPUT',['../a00500.html#a3f1efda7918aca40566d1323f8feb7d9',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput',['I2C_SET_OUTPUT',['../a00500.html#a704e88e63280d2b338c6d5aaa287ded6',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput_5fhigh',['I2C_SET_OUTPUT_HIGH',['../a00500.html#a560b261db9a1d59e1cd72a73da03d06c',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput_5flow',['I2C_SET_OUTPUT_LOW',['../a00500.html#a9b2c622317087560cb142947b325cbe9',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5fpin',['i2c_set_pin',['../a00497.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c'],['../a00500.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c']]], + ['i2c_5fwrite',['i2c_write',['../a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048',1,'i2c_write(I2C_MODULE i2c_id, uint8_t address, uint8_t *data, int len): hal_pic32mx695f512h_i2c.c'],['../a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2',1,'I2C_WRITE(): hal_i2c_bitbang.h']]], + ['i2cbuses',['I2CBuses',['../a01058.html',1,'']]], + ['i2cdriverinit',['i2cDriverInit',['../a01050.html#ae40d3e07534bf6cb2e78c329983048c7',1,'DRV_I2C_Object']]], + ['i2cdriverinstance',['i2cDriverInstance',['../a01050.html#af8b2d2e531312c0b6adda321a50fabc7',1,'DRV_I2C_Object']]], + ['i2cdriverinstanceindex',['i2cDriverInstanceIndex',['../a01050.html#a61f012e6351d468a23da071e8ee588b6',1,'DRV_I2C_Object']]], + ['id',['id',['../a00974.html#a0b1ca4dcd178907e4151c7132e3b55f5',1,'atcacert_cert_element_s::id()'],['../a01034.html#a7441ef0865bcb3db9b8064dd7375c1ea',1,'atcaI2Cmaster::id()'],['../a01034.html#a10c34d148db33a5f64c3730a163fb7a7',1,'atcaI2Cmaster::id()']]], + ['idx',['idx',['../a00930.html#ae40354a1051342eb5a9db005715dcfa9',1,'ATCAIfaceCfg']]], + ['iface_5ftype',['iface_type',['../a00930.html#a3d0753b214d2a12df80f22b56bfc6e71',1,'ATCAIfaceCfg']]], + ['incidental',['INCIDENTAL',['../a00554.html#a672c9264e9de75bce6ab2cb4d5bde5c1',1,'license.txt']]], + ['including',['INCLUDING',['../a00554.html#a3e9c2f2beba8585ea947b758fe1a127d',1,'license.txt']]], + ['indirect',['INDIRECT',['../a00554.html#ad8724d922f0e30d3010a431017c0aaaa',1,'license.txt']]], + ['info_5fcount',['INFO_COUNT',['../a00906.html#gaee1a29942cf2b3637a65506dc6b5d4fe',1,'atca_command.h']]], + ['info_5fdriver_5fstate_5fmask',['INFO_DRIVER_STATE_MASK',['../a00906.html#ga9cc740e22e15f08a8b90873a2b3b47e8',1,'atca_command.h']]], + ['info_5fmode_5fgpio',['INFO_MODE_GPIO',['../a00906.html#ga30e8f8f4027e2137c11c2fb49b4c2aa6',1,'atca_command.h']]], + ['info_5fmode_5fkey_5fvalid',['INFO_MODE_KEY_VALID',['../a00906.html#ga6f746e9967643e3234727eaa5a0b274b',1,'atca_command.h']]], + ['info_5fmode_5fmax',['INFO_MODE_MAX',['../a00906.html#ga249c12b69d65f6c33568c78b9d9b127d',1,'atca_command.h']]], + ['info_5fmode_5frevision',['INFO_MODE_REVISION',['../a00906.html#gae591dd29af805fc5b63e5b06d5e7c450',1,'atca_command.h']]], + ['info_5fmode_5fstate',['INFO_MODE_STATE',['../a00906.html#ga7432ca6b291e32e962fabaa6d604a8bc',1,'atca_command.h']]], + ['info_5fmode_5fvol_5fkey_5fpermit',['INFO_MODE_VOL_KEY_PERMIT',['../a00906.html#gac0fb0edb797b754a069e12931a001257',1,'atca_command.h']]], + ['info_5fno_5fstate',['INFO_NO_STATE',['../a00906.html#gad5b035b6f65f87b7fdf75f225a54ce35',1,'atca_command.h']]], + ['info_5foutput_5fstate_5fmask',['INFO_OUTPUT_STATE_MASK',['../a00906.html#ga2b70682af491ce76c45505cabafcf9c0',1,'atca_command.h']]], + ['info_5fparam1_5fidx',['INFO_PARAM1_IDX',['../a00906.html#ga9d72194dbe94bd2f5d3b0e9aa2dc85ac',1,'atca_command.h']]], + ['info_5fparam2_5fidx',['INFO_PARAM2_IDX',['../a00906.html#ga09e4830c78dedfa2ce662e0fdbe430e3',1,'atca_command.h']]], + ['info_5fparam2_5flatch_5fclear',['INFO_PARAM2_LATCH_CLEAR',['../a00906.html#ga027d5e8ae4a55db4ae52a41f3214c861',1,'atca_command.h']]], + ['info_5fparam2_5flatch_5fset',['INFO_PARAM2_LATCH_SET',['../a00906.html#gaae24f308513ed54fc7c41b39bc05760b',1,'atca_command.h']]], + ['info_5fparam2_5fset_5flatch_5fstate',['INFO_PARAM2_SET_LATCH_STATE',['../a00906.html#ga5dcc70feddb0b97c6fa779c6c3c819e6',1,'atca_command.h']]], + ['info_5frsp_5fsize',['INFO_RSP_SIZE',['../a00906.html#ga0c667e3f6590ac12726cbf4ad2b0f4f5',1,'atca_command.h']]], + ['info_5fsize',['INFO_SIZE',['../a00906.html#ga70457c61d44fbac0cb48727f53c39388',1,'atca_command.h']]], + ['infringement',['INFRINGEMENT',['../a00554.html#a7c4fbd85a126d156dfee161e8fd6681a',1,'license.txt']]], + ['initatcacommand',['initATCACommand',['../a00906.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c'],['../a00906.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c']]], + ['initatcadevice',['initATCADevice',['../a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15',1,'atca_device.c']]], + ['initatcaiface',['initATCAIface',['../a00908.html#ga3a31087729a7a2e9a624572f234809fc',1,'atca_iface.c']]], + ['input_5fdata',['input_data',['../a01106.html#a699b6e4448b505a2664025ccca3522f5',1,'atca_write_mac_in_out']]], + ['invalid_5fhandle_5fvalue',['INVALID_HANDLE_VALUE',['../a00912.html#ga5fdc7facea201bfce4ad308105f88d0c',1,'hal_linux_kit_cdc.h']]], + ['io_5fkey',['io_key',['../a01078.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_io_decrypt_in_out::io_key()'],['../a01082.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_verify_mac::io_key()'],['../a01086.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_secureboot_enc_in_out::io_key()']]], + ['io_5fprotection_5fget_5fkey',['io_protection_get_key',['../a00023.html#adb01c317f81145702f564ca1d46ec33b',1,'io_protection_key.h']]], + ['io_5fprotection_5fkey_2eh',['io_protection_key.h',['../a00023.html',1,'']]], + ['io_5fprotection_5fkey_5fslot',['IO_PROTECTION_KEY_SLOT',['../a00020.html#a60c58ea0ec675162d62034323c906b9b',1,'crypto_device_app.h']]], + ['io_5fprotection_5fset_5fkey',['io_protection_set_key',['../a00023.html#a8e02c996fdc083bb4c4444057e429a44',1,'io_protection_key.h']]], + ['is_5f64',['is_64',['../a01066.html#a3f6d684924e3635e6e57441b66b98978',1,'atca_temp_key']]], + ['is_5fdevice_5fsn',['is_device_sn',['../a00982.html#a3969ddf030fd0524b62c572070bb3edc',1,'atcacert_build_state_s']]], + ['is_5fgenkey',['is_genkey',['../a00966.html#ab0cedc80cd8670d02eee4b6e31500f5f',1,'atcacert_device_loc_s']]], + ['is_5fkey_5fnomac',['is_key_nomac',['../a01102.html#a6ab45b7847bf9d25cc2be99b11641e5f',1,'atca_gen_dig_in_out']]], + ['is_5fslot_5flocked',['is_slot_locked',['../a01134.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8',1,'atca_sign_internal_in_out']]], + ['isalpha',['isAlpha',['../a00910.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c'],['../a00910.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c']]], + ['isatcaerror',['isATCAError',['../a00906.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c'],['../a00906.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c']]], + ['isbase64',['isBase64',['../a00910.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c']]], + ['isbase64digit',['isBase64Digit',['../a00910.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c']]], + ['isdigit',['isDigit',['../a00910.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c'],['../a00910.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c']]], + ['ishex',['isHex',['../a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c'],['../a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c']]], + ['ishexalpha',['isHexAlpha',['../a00910.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c'],['../a00910.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c']]], + ['ishexdigit',['isHexDigit',['../a00910.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c'],['../a00910.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c']]], + ['issue_5fdate_5fformat',['issue_date_format',['../a00978.html#a61f951f9c4366391012057d591888f32',1,'atcacert_def_s']]], + ['iswhitespace',['isWhiteSpace',['../a00910.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c'],['../a00910.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c']]], + ['ip_20protection_20with_20symmetric_20authentication',['IP Protection with Symmetric Authentication',['../a01155.html',1,'']]] ]; diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js index d4afc8f7a..c1d70126b 100644 --- a/docs/html/search/all_a.js +++ b/docs/html/search/all_a.js @@ -1,4 +1,5 @@ var searchData= [ - ['json_20web_20token_20_28jwt_29_20methods_20_28atca_5fjwt_5f_29',['JSON Web Token (JWT) methods (atca_jwt_)',['../a03539.html',1,'']]] + ['j0',['j0',['../a01002.html#adf8d225c61055fd7e514ede2b7d9af91',1,'atca_aes_gcm_ctx']]], + ['json_20web_20token_20_28jwt_29_20methods_20_28atca_5fjwt_5f_29',['JSON Web Token (JWT) methods (atca_jwt_)',['../a00914.html',1,'']]] ]; diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js index ba9fb6306..de7139497 100644 --- a/docs/html/search/all_b.js +++ b/docs/html/search/all_b.js @@ -1,67 +1,67 @@ var searchData= [ - ['kdf_5fdetails_5faes_5fkey_5floc_5fmask',['KDF_DETAILS_AES_KEY_LOC_MASK',['../a03531.html#ga77a516ab645b681ad7861d8b74e4a115',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5finput',['KDF_DETAILS_HKDF_MSG_LOC_INPUT',['../a03531.html#gae2b34b443ce2e0f285dd8d6f34f84d70',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fiv',['KDF_DETAILS_HKDF_MSG_LOC_IV',['../a03531.html#ga53650471a7eef96ce0ef00cb6b8a6a9b',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fmask',['KDF_DETAILS_HKDF_MSG_LOC_MASK',['../a03531.html#gaa5b4cb5be95861466fff33fe0d5a9020',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fslot',['KDF_DETAILS_HKDF_MSG_LOC_SLOT',['../a03531.html#ga8d5f52e7dbb1ea5308517365bbec87b5',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5ftempkey',['KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY',['../a03531.html#gabae30386c46658676cf11de7bec27138',1,'atca_command.h']]], - ['kdf_5fdetails_5fhkdf_5fzero_5fkey',['KDF_DETAILS_HKDF_ZERO_KEY',['../a03531.html#gae16e61d55b371f9c5e31f08f680de609',1,'atca_command.h']]], - ['kdf_5fdetails_5fidx',['KDF_DETAILS_IDX',['../a03531.html#ga56306fca73ae0f43053787bafdac6a94',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5faead_5fmask',['KDF_DETAILS_PRF_AEAD_MASK',['../a03531.html#ga71bd7b920718c3bbf99d78eda569018c',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5faead_5fmode0',['KDF_DETAILS_PRF_AEAD_MODE0',['../a03531.html#ga77402cc8f4efbba6119bd57717c34ce4',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5faead_5fmode1',['KDF_DETAILS_PRF_AEAD_MODE1',['../a03531.html#ga696c55d8590e9d1ac2571d6921f27573',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5fkey_5flen_5f16',['KDF_DETAILS_PRF_KEY_LEN_16',['../a03531.html#gaf83ceba3654b1b76e216402a023c1578',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5fkey_5flen_5f32',['KDF_DETAILS_PRF_KEY_LEN_32',['../a03531.html#gaadcf0e639c6da291ddcb7fed49f1f967',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5fkey_5flen_5f48',['KDF_DETAILS_PRF_KEY_LEN_48',['../a03531.html#gaae92bdb9d72ad6bd2193cbf0e672d46e',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5fkey_5flen_5f64',['KDF_DETAILS_PRF_KEY_LEN_64',['../a03531.html#ga1519bbd506095c4db25aad15bbc0735b',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5fkey_5flen_5fmask',['KDF_DETAILS_PRF_KEY_LEN_MASK',['../a03531.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5ftarget_5flen_5f32',['KDF_DETAILS_PRF_TARGET_LEN_32',['../a03531.html#gac049629a826435702055cc8279db76bb',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5ftarget_5flen_5f64',['KDF_DETAILS_PRF_TARGET_LEN_64',['../a03531.html#ga0b47a5e9928b7f3c91db64a9b80fde8b',1,'atca_command.h']]], - ['kdf_5fdetails_5fprf_5ftarget_5flen_5fmask',['KDF_DETAILS_PRF_TARGET_LEN_MASK',['../a03531.html#ga32c642907f4f326893fb6fccfce18707',1,'atca_command.h']]], - ['kdf_5fdetails_5fsize',['KDF_DETAILS_SIZE',['../a03531.html#ga2e025044ab9693b267e79f80e0a69cb1',1,'atca_command.h']]], - ['kdf_5fkeyid_5fidx',['KDF_KEYID_IDX',['../a03531.html#gae814b4e63476d137bf226537cb2ff0fc',1,'atca_command.h']]], - ['kdf_5fmessage_5fidx',['KDF_MESSAGE_IDX',['../a03531.html#ga7a57365768506315a6e3a6276508762c',1,'atca_command.h']]], - ['kdf_5fmode_5falg_5faes',['KDF_MODE_ALG_AES',['../a03531.html#gaee08925a21e8dbf05f8557617e3f610e',1,'atca_command.h']]], - ['kdf_5fmode_5falg_5fhkdf',['KDF_MODE_ALG_HKDF',['../a03531.html#ga59b230043c3cd1fa0deafac6225238cb',1,'atca_command.h']]], - ['kdf_5fmode_5falg_5fmask',['KDF_MODE_ALG_MASK',['../a03531.html#ga90f529642e87edae132421b3777ec4b1',1,'atca_command.h']]], - ['kdf_5fmode_5falg_5fprf',['KDF_MODE_ALG_PRF',['../a03531.html#ga41ad765834ce2cf37241f79b80857f79',1,'atca_command.h']]], - ['kdf_5fmode_5fidx',['KDF_MODE_IDX',['../a03531.html#ga959e54d571acf81b608d5c6d535b0510',1,'atca_command.h']]], - ['kdf_5fmode_5fsource_5faltkeybuf',['KDF_MODE_SOURCE_ALTKEYBUF',['../a03531.html#gaa3f4cdb700e47737058c174a1f156707',1,'atca_command.h']]], - ['kdf_5fmode_5fsource_5fmask',['KDF_MODE_SOURCE_MASK',['../a03531.html#gaddd73b0088cc98d40eaf8b3370f2fc8e',1,'atca_command.h']]], - ['kdf_5fmode_5fsource_5fslot',['KDF_MODE_SOURCE_SLOT',['../a03531.html#ga3b69501fcc3e0cea0197fc0f6107916a',1,'atca_command.h']]], - ['kdf_5fmode_5fsource_5ftempkey',['KDF_MODE_SOURCE_TEMPKEY',['../a03531.html#ga43cad9606d9b7c0e5875b1fa66108eb8',1,'atca_command.h']]], - ['kdf_5fmode_5fsource_5ftempkey_5fup',['KDF_MODE_SOURCE_TEMPKEY_UP',['../a03531.html#ga3785654ccbe309a87213aedb001ca39d',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5faltkeybuf',['KDF_MODE_TARGET_ALTKEYBUF',['../a03531.html#gafeaf2094813c3184f0f128c37e3297dd',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5fmask',['KDF_MODE_TARGET_MASK',['../a03531.html#ga97828be629e8f11561b58cb434c18b21',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5foutput',['KDF_MODE_TARGET_OUTPUT',['../a03531.html#gafa19443ca4e054e38a7599c37575678d',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5foutput_5fenc',['KDF_MODE_TARGET_OUTPUT_ENC',['../a03531.html#ga28cccb87be4305fa9469c26b0ca341e8',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5fslot',['KDF_MODE_TARGET_SLOT',['../a03531.html#ga05c0e401be347897d9573ba58492e570',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5ftempkey',['KDF_MODE_TARGET_TEMPKEY',['../a03531.html#gabdbb7fc88ccf13d556dce6de3df9ce1b',1,'atca_command.h']]], - ['kdf_5fmode_5ftarget_5ftempkey_5fup',['KDF_MODE_TARGET_TEMPKEY_UP',['../a03531.html#gad7e0df789060db2a9e8339972eac2482',1,'atca_command.h']]], - ['key',['key',['../a03538.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_mac_in_out::key()'],['../a03538.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_hmac_in_out::key()']]], - ['key_5fblock',['key_block',['../a03611.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_cbc_ctx::key_block()'],['../a03619.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_ctr_ctx::key_block()']]], - ['key_5fconfig',['key_config',['../a03755.html#af209160ffa65b538728640eb34e4be75',1,'atca_sign_internal_in_out']]], - ['key_5fid',['key_id',['../a03611.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_cbc_ctx::key_id()'],['../a03619.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_ctr_ctx::key_id()'],['../a03687.html#ae687014ee9436f24d700229432e7edfd',1,'atca_temp_key::key_id()'],['../a03703.html#ac21eed4200889cc115d16a781871d01c',1,'atca_verify_mac::key_id()'],['../a03538.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_mac_in_out::key_id()'],['../a03538.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_hmac_in_out::key_id()'],['../a03723.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_dig_in_out::key_id()'],['../a03727.html#ac21eed4200889cc115d16a781871d01c',1,'atca_write_mac_in_out::key_id()'],['../a03743.html#ac21eed4200889cc115d16a781871d01c',1,'atca_check_mac_in_out::key_id()'],['../a03751.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_key_in_out::key_id()'],['../a03755.html#ac21eed4200889cc115d16a781871d01c',1,'atca_sign_internal_in_out::key_id()']]], - ['kit_5fid_5ffrom_5fdevtype',['kit_id_from_devtype',['../a03537.html#gae9acffb3ff9a025924457fce5c24a709',1,'kit_protocol.c']]], - ['kit_5fidle',['kit_idle',['../a03537.html#gaeaee19ff7623f0eab9839e68dae583af',1,'kit_protocol.c']]], - ['kit_5finit',['kit_init',['../a03537.html#ga8fb98d1c372e7e75f99a2f7d1182b877',1,'kit_protocol.c']]], - ['kit_5fmax_5fscan_5fcount',['KIT_MAX_SCAN_COUNT',['../a03537.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8',1,'kit_protocol.c']]], - ['kit_5fmax_5ftx_5fbuf',['KIT_MAX_TX_BUF',['../a03537.html#gadc1b033607e06cff7464dc0a49df2744',1,'kit_protocol.c']]], - ['kit_5fmsg_5fsize',['KIT_MSG_SIZE',['../a03537.html#ga0810d89c328e48fd91eb604323cca4e9',1,'kit_protocol.h']]], - ['kit_5fparse_5frsp',['kit_parse_rsp',['../a03537.html#ga8bf59f4218d312568b769b8b8e5c563e',1,'kit_protocol.c']]], - ['kit_5fphy_2eh',['kit_phy.h',['../a00482.html',1,'']]], - ['kit_5fphy_5fnum_5ffound',['kit_phy_num_found',['../a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205',1,'hal_all_platforms_kit_hidapi.c']]], - ['kit_5fphy_5freceive',['kit_phy_receive',['../a03537.html#gabb507252b1011037d6d2cce7d91b01d0',1,'kit_phy_receive(ATCAIface iface, uint8_t *rxdata, int *rxsize): hal_all_platforms_kit_hidapi.c'],['../a03537.html#gaae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_linux_kit_cdc.c'],['../a00452.html#aae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_win_kit_cdc.c']]], - ['kit_5fphy_5fsend',['kit_phy_send',['../a03537.html#gabd452e3edb32ea0d22653c182b4e1198',1,'kit_phy_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_all_platforms_kit_hidapi.c'],['../a03537.html#ga020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00452.html#a020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_win_kit_cdc.c']]], - ['kit_5fprotocol_2ec',['kit_protocol.c',['../a00485.html',1,'']]], - ['kit_5fprotocol_2eh',['kit_protocol.h',['../a00488.html',1,'']]], - ['kit_5freceive',['kit_receive',['../a03537.html#ga09a86ccc517208f9c9a057ea569e2a18',1,'kit_protocol.c']]], - ['kit_5frx_5fwrap_5fsize',['KIT_RX_WRAP_SIZE',['../a03537.html#ga59e33124fc2fa800cc9c90a6ee3ff543',1,'kit_protocol.h']]], - ['kit_5fsend',['kit_send',['../a03537.html#gac9dc79f9b5281fbe82c20b6af9de76b7',1,'kit_protocol.c']]], - ['kit_5fsleep',['kit_sleep',['../a03537.html#gaf6054a0c971830411d5008b94923bdd8',1,'kit_protocol.c']]], - ['kit_5ftx_5fwrap_5fsize',['KIT_TX_WRAP_SIZE',['../a03537.html#ga8a649555029d4f23edfc15a8c01b2d3d',1,'kit_protocol.h']]], - ['kit_5fwake',['kit_wake',['../a03537.html#gaf7ce58d02b067b956abd32127f5519e9',1,'kit_protocol.c']]], - ['kit_5fwrap_5fcmd',['kit_wrap_cmd',['../a03537.html#ga0f09f4b79c681f54b88a8f71bca0d4c4',1,'kit_protocol.c']]], - ['kits',['kits',['../a03651.html#a20e678da3f77a9aabd9cb97d5340e502',1,'atcahid::kits()'],['../a03663.html#a90743aa58e9f430c381d56eb373edef4',1,'atcacdc::kits()'],['../a03651.html#aa09aaf9e2fbb91f0cef6b473135d4628',1,'atcahid::kits()']]] + ['kdf_5fdetails_5faes_5fkey_5floc_5fmask',['KDF_DETAILS_AES_KEY_LOC_MASK',['../a00906.html#ga77a516ab645b681ad7861d8b74e4a115',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5finput',['KDF_DETAILS_HKDF_MSG_LOC_INPUT',['../a00906.html#gae2b34b443ce2e0f285dd8d6f34f84d70',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fiv',['KDF_DETAILS_HKDF_MSG_LOC_IV',['../a00906.html#ga53650471a7eef96ce0ef00cb6b8a6a9b',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fmask',['KDF_DETAILS_HKDF_MSG_LOC_MASK',['../a00906.html#gaa5b4cb5be95861466fff33fe0d5a9020',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5fslot',['KDF_DETAILS_HKDF_MSG_LOC_SLOT',['../a00906.html#ga8d5f52e7dbb1ea5308517365bbec87b5',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fmsg_5floc_5ftempkey',['KDF_DETAILS_HKDF_MSG_LOC_TEMPKEY',['../a00906.html#gabae30386c46658676cf11de7bec27138',1,'atca_command.h']]], + ['kdf_5fdetails_5fhkdf_5fzero_5fkey',['KDF_DETAILS_HKDF_ZERO_KEY',['../a00906.html#gae16e61d55b371f9c5e31f08f680de609',1,'atca_command.h']]], + ['kdf_5fdetails_5fidx',['KDF_DETAILS_IDX',['../a00906.html#ga56306fca73ae0f43053787bafdac6a94',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5faead_5fmask',['KDF_DETAILS_PRF_AEAD_MASK',['../a00906.html#ga71bd7b920718c3bbf99d78eda569018c',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5faead_5fmode0',['KDF_DETAILS_PRF_AEAD_MODE0',['../a00906.html#ga77402cc8f4efbba6119bd57717c34ce4',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5faead_5fmode1',['KDF_DETAILS_PRF_AEAD_MODE1',['../a00906.html#ga696c55d8590e9d1ac2571d6921f27573',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5fkey_5flen_5f16',['KDF_DETAILS_PRF_KEY_LEN_16',['../a00906.html#gaf83ceba3654b1b76e216402a023c1578',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5fkey_5flen_5f32',['KDF_DETAILS_PRF_KEY_LEN_32',['../a00906.html#gaadcf0e639c6da291ddcb7fed49f1f967',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5fkey_5flen_5f48',['KDF_DETAILS_PRF_KEY_LEN_48',['../a00906.html#gaae92bdb9d72ad6bd2193cbf0e672d46e',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5fkey_5flen_5f64',['KDF_DETAILS_PRF_KEY_LEN_64',['../a00906.html#ga1519bbd506095c4db25aad15bbc0735b',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5fkey_5flen_5fmask',['KDF_DETAILS_PRF_KEY_LEN_MASK',['../a00906.html#gaf42b60e97bdf4bf0338b8a5ce420fdc5',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5ftarget_5flen_5f32',['KDF_DETAILS_PRF_TARGET_LEN_32',['../a00906.html#gac049629a826435702055cc8279db76bb',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5ftarget_5flen_5f64',['KDF_DETAILS_PRF_TARGET_LEN_64',['../a00906.html#ga0b47a5e9928b7f3c91db64a9b80fde8b',1,'atca_command.h']]], + ['kdf_5fdetails_5fprf_5ftarget_5flen_5fmask',['KDF_DETAILS_PRF_TARGET_LEN_MASK',['../a00906.html#ga32c642907f4f326893fb6fccfce18707',1,'atca_command.h']]], + ['kdf_5fdetails_5fsize',['KDF_DETAILS_SIZE',['../a00906.html#ga2e025044ab9693b267e79f80e0a69cb1',1,'atca_command.h']]], + ['kdf_5fkeyid_5fidx',['KDF_KEYID_IDX',['../a00906.html#gae814b4e63476d137bf226537cb2ff0fc',1,'atca_command.h']]], + ['kdf_5fmessage_5fidx',['KDF_MESSAGE_IDX',['../a00906.html#ga7a57365768506315a6e3a6276508762c',1,'atca_command.h']]], + ['kdf_5fmode_5falg_5faes',['KDF_MODE_ALG_AES',['../a00906.html#gaee08925a21e8dbf05f8557617e3f610e',1,'atca_command.h']]], + ['kdf_5fmode_5falg_5fhkdf',['KDF_MODE_ALG_HKDF',['../a00906.html#ga59b230043c3cd1fa0deafac6225238cb',1,'atca_command.h']]], + ['kdf_5fmode_5falg_5fmask',['KDF_MODE_ALG_MASK',['../a00906.html#ga90f529642e87edae132421b3777ec4b1',1,'atca_command.h']]], + ['kdf_5fmode_5falg_5fprf',['KDF_MODE_ALG_PRF',['../a00906.html#ga41ad765834ce2cf37241f79b80857f79',1,'atca_command.h']]], + ['kdf_5fmode_5fidx',['KDF_MODE_IDX',['../a00906.html#ga959e54d571acf81b608d5c6d535b0510',1,'atca_command.h']]], + ['kdf_5fmode_5fsource_5faltkeybuf',['KDF_MODE_SOURCE_ALTKEYBUF',['../a00906.html#gaa3f4cdb700e47737058c174a1f156707',1,'atca_command.h']]], + ['kdf_5fmode_5fsource_5fmask',['KDF_MODE_SOURCE_MASK',['../a00906.html#gaddd73b0088cc98d40eaf8b3370f2fc8e',1,'atca_command.h']]], + ['kdf_5fmode_5fsource_5fslot',['KDF_MODE_SOURCE_SLOT',['../a00906.html#ga3b69501fcc3e0cea0197fc0f6107916a',1,'atca_command.h']]], + ['kdf_5fmode_5fsource_5ftempkey',['KDF_MODE_SOURCE_TEMPKEY',['../a00906.html#ga43cad9606d9b7c0e5875b1fa66108eb8',1,'atca_command.h']]], + ['kdf_5fmode_5fsource_5ftempkey_5fup',['KDF_MODE_SOURCE_TEMPKEY_UP',['../a00906.html#ga3785654ccbe309a87213aedb001ca39d',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5faltkeybuf',['KDF_MODE_TARGET_ALTKEYBUF',['../a00906.html#gafeaf2094813c3184f0f128c37e3297dd',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5fmask',['KDF_MODE_TARGET_MASK',['../a00906.html#ga97828be629e8f11561b58cb434c18b21',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5foutput',['KDF_MODE_TARGET_OUTPUT',['../a00906.html#gafa19443ca4e054e38a7599c37575678d',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5foutput_5fenc',['KDF_MODE_TARGET_OUTPUT_ENC',['../a00906.html#ga28cccb87be4305fa9469c26b0ca341e8',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5fslot',['KDF_MODE_TARGET_SLOT',['../a00906.html#ga05c0e401be347897d9573ba58492e570',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5ftempkey',['KDF_MODE_TARGET_TEMPKEY',['../a00906.html#gabdbb7fc88ccf13d556dce6de3df9ce1b',1,'atca_command.h']]], + ['kdf_5fmode_5ftarget_5ftempkey_5fup',['KDF_MODE_TARGET_TEMPKEY_UP',['../a00906.html#gad7e0df789060db2a9e8339972eac2482',1,'atca_command.h']]], + ['key',['key',['../a00913.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_mac_in_out::key()'],['../a00913.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_hmac_in_out::key()']]], + ['key_5fblock',['key_block',['../a00986.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_cbc_ctx::key_block()'],['../a00994.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_ctr_ctx::key_block()'],['../a01002.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_gcm_ctx::key_block()']]], + ['key_5fconfig',['key_config',['../a01134.html#af209160ffa65b538728640eb34e4be75',1,'atca_sign_internal_in_out']]], + ['key_5fid',['key_id',['../a00986.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_cbc_ctx::key_id()'],['../a00994.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_ctr_ctx::key_id()'],['../a01002.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_gcm_ctx::key_id()'],['../a01066.html#ae687014ee9436f24d700229432e7edfd',1,'atca_temp_key::key_id()'],['../a01082.html#ac21eed4200889cc115d16a781871d01c',1,'atca_verify_mac::key_id()'],['../a00913.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_mac_in_out::key_id()'],['../a00913.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_hmac_in_out::key_id()'],['../a01102.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_dig_in_out::key_id()'],['../a01106.html#ac21eed4200889cc115d16a781871d01c',1,'atca_write_mac_in_out::key_id()'],['../a01122.html#ac21eed4200889cc115d16a781871d01c',1,'atca_check_mac_in_out::key_id()'],['../a01130.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_key_in_out::key_id()'],['../a01134.html#ac21eed4200889cc115d16a781871d01c',1,'atca_sign_internal_in_out::key_id()']]], + ['kit_5fid_5ffrom_5fdevtype',['kit_id_from_devtype',['../a00912.html#gae9acffb3ff9a025924457fce5c24a709',1,'kit_protocol.c']]], + ['kit_5fidle',['kit_idle',['../a00912.html#gaeaee19ff7623f0eab9839e68dae583af',1,'kit_protocol.c']]], + ['kit_5finit',['kit_init',['../a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877',1,'kit_protocol.c']]], + ['kit_5fmax_5fscan_5fcount',['KIT_MAX_SCAN_COUNT',['../a00912.html#ga8d90399e7f84850d1e8d4cd5e9f67fa8',1,'kit_protocol.c']]], + ['kit_5fmax_5ftx_5fbuf',['KIT_MAX_TX_BUF',['../a00912.html#gadc1b033607e06cff7464dc0a49df2744',1,'kit_protocol.c']]], + ['kit_5fmsg_5fsize',['KIT_MSG_SIZE',['../a00912.html#ga0810d89c328e48fd91eb604323cca4e9',1,'kit_protocol.h']]], + ['kit_5fparse_5frsp',['kit_parse_rsp',['../a00912.html#ga8bf59f4218d312568b769b8b8e5c563e',1,'kit_protocol.c']]], + ['kit_5fphy_2eh',['kit_phy.h',['../a00503.html',1,'']]], + ['kit_5fphy_5fnum_5ffound',['kit_phy_num_found',['../a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205',1,'hal_all_platforms_kit_hidapi.c']]], + ['kit_5fphy_5freceive',['kit_phy_receive',['../a00912.html#gabb507252b1011037d6d2cce7d91b01d0',1,'kit_phy_receive(ATCAIface iface, uint8_t *rxdata, int *rxsize): hal_all_platforms_kit_hidapi.c'],['../a00912.html#gaae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_linux_kit_cdc.c'],['../a00473.html#aae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_win_kit_cdc.c']]], + ['kit_5fphy_5fsend',['kit_phy_send',['../a00912.html#gabd452e3edb32ea0d22653c182b4e1198',1,'kit_phy_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_all_platforms_kit_hidapi.c'],['../a00912.html#ga020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00473.html#a020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_win_kit_cdc.c']]], + ['kit_5fprotocol_2ec',['kit_protocol.c',['../a00506.html',1,'']]], + ['kit_5fprotocol_2eh',['kit_protocol.h',['../a00509.html',1,'']]], + ['kit_5freceive',['kit_receive',['../a00912.html#ga09a86ccc517208f9c9a057ea569e2a18',1,'kit_protocol.c']]], + ['kit_5frx_5fwrap_5fsize',['KIT_RX_WRAP_SIZE',['../a00912.html#ga59e33124fc2fa800cc9c90a6ee3ff543',1,'kit_protocol.h']]], + ['kit_5fsend',['kit_send',['../a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7',1,'kit_protocol.c']]], + ['kit_5fsleep',['kit_sleep',['../a00912.html#gaf6054a0c971830411d5008b94923bdd8',1,'kit_protocol.c']]], + ['kit_5ftx_5fwrap_5fsize',['KIT_TX_WRAP_SIZE',['../a00912.html#ga8a649555029d4f23edfc15a8c01b2d3d',1,'kit_protocol.h']]], + ['kit_5fwake',['kit_wake',['../a00912.html#gaf7ce58d02b067b956abd32127f5519e9',1,'kit_protocol.c']]], + ['kit_5fwrap_5fcmd',['kit_wrap_cmd',['../a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4',1,'kit_protocol.c']]], + ['kits',['kits',['../a01030.html#a20e678da3f77a9aabd9cb97d5340e502',1,'atcahid::kits()'],['../a01042.html#a90743aa58e9f430c381d56eb373edef4',1,'atcacdc::kits()'],['../a01030.html#aa09aaf9e2fbb91f0cef6b473135d4628',1,'atcahid::kits()']]] ]; diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js index 7a36f81f7..d235fce6a 100644 --- a/docs/html/search/all_c.js +++ b/docs/html/search/all_c.js @@ -1,20 +1,20 @@ var searchData= [ - ['law',['LAW',['../a00533.html#ae7b3211c089ceb4e0613690bd035fcc8',1,'license.txt']]], - ['leftrotate',['leftRotate',['../a00290.html#a56a88d6165ee36c482ddc9b82826dd47',1,'sha1_routines.h']]], - ['liability',['LIABILITY',['../a00533.html#a6ddcff3b4469da51f9bad85dbf0386c2',1,'license.txt']]], - ['license',['license',['../a00533.html#a3b16060f9e1484bd07cd5e162e2eddf4',1,'license(): license.txt'],['../a00533.html#a355539e51bed3008068dfe985e226ab8',1,'License(): license.txt']]], - ['license_2etxt',['license.txt',['../a00533.html',1,'']]], - ['lock_5fcount',['LOCK_COUNT',['../a03531.html#ga8a5cce3cbccf46b91c8065559ad1a082',1,'atca_command.h']]], - ['lock_5frsp_5fsize',['LOCK_RSP_SIZE',['../a03531.html#ga773dce573d9ff453d2f49aa7fc48e210',1,'atca_command.h']]], - ['lock_5fsummary_5fidx',['LOCK_SUMMARY_IDX',['../a03531.html#ga6bd6b85614792b8dabb6432f7a48151e',1,'atca_command.h']]], - ['lock_5fzone_5fconfig',['LOCK_ZONE_CONFIG',['../a03531.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39',1,'atca_command.h']]], - ['lock_5fzone_5fdata',['LOCK_ZONE_DATA',['../a03531.html#ga1dedbfae86a6c38085070160696e00bb',1,'atca_command.h']]], - ['lock_5fzone_5fdata_5fslot',['LOCK_ZONE_DATA_SLOT',['../a03531.html#gaf5a93b147dd08b111b348edd1bc82fa5',1,'atca_command.h']]], - ['lock_5fzone_5fidx',['LOCK_ZONE_IDX',['../a03531.html#gaa72601de2238c09393f120f68abf66a4',1,'atca_command.h']]], - ['lock_5fzone_5fmask',['LOCK_ZONE_MASK',['../a03531.html#ga71b3c35d021e0ac507fdd6cd9538467f',1,'atca_command.h']]], - ['lock_5fzone_5fno_5fcrc',['LOCK_ZONE_NO_CRC',['../a03531.html#ga29b582e5069538ee92f5bcd6d1356255',1,'atca_command.h']]], - ['log_5flocal_5flevel',['LOG_LOCAL_LEVEL',['../a00332.html#a5155a7b7465dd9b5e6167122827d0158',1,'hal_esp32_i2c.c']]], - ['loss',['LOSS',['../a00533.html#a23c8d68a0c8d14f113b15a3b62d8e7b5',1,'license.txt']]], - ['readme_2emd',['README.md',['../a03778.html',1,'(Global Namespace)'],['../a03781.html',1,'(Global Namespace)'],['../a03784.html',1,'(Global Namespace)']]] + ['law',['LAW',['../a00554.html#ae7b3211c089ceb4e0613690bd035fcc8',1,'license.txt']]], + ['leftrotate',['leftRotate',['../a00311.html#a56a88d6165ee36c482ddc9b82826dd47',1,'sha1_routines.h']]], + ['liability',['LIABILITY',['../a00554.html#a6ddcff3b4469da51f9bad85dbf0386c2',1,'license.txt']]], + ['license',['license',['../a00554.html#a3b16060f9e1484bd07cd5e162e2eddf4',1,'license(): license.txt'],['../a00554.html#a355539e51bed3008068dfe985e226ab8',1,'License(): license.txt']]], + ['license_2etxt',['license.txt',['../a00554.html',1,'']]], + ['lock_5fcount',['LOCK_COUNT',['../a00906.html#ga8a5cce3cbccf46b91c8065559ad1a082',1,'atca_command.h']]], + ['lock_5frsp_5fsize',['LOCK_RSP_SIZE',['../a00906.html#ga773dce573d9ff453d2f49aa7fc48e210',1,'atca_command.h']]], + ['lock_5fsummary_5fidx',['LOCK_SUMMARY_IDX',['../a00906.html#ga6bd6b85614792b8dabb6432f7a48151e',1,'atca_command.h']]], + ['lock_5fzone_5fconfig',['LOCK_ZONE_CONFIG',['../a00906.html#gaabbc0da0b4fd66c3aa75ae0cc3a62e39',1,'atca_command.h']]], + ['lock_5fzone_5fdata',['LOCK_ZONE_DATA',['../a00906.html#ga1dedbfae86a6c38085070160696e00bb',1,'atca_command.h']]], + ['lock_5fzone_5fdata_5fslot',['LOCK_ZONE_DATA_SLOT',['../a00906.html#gaf5a93b147dd08b111b348edd1bc82fa5',1,'atca_command.h']]], + ['lock_5fzone_5fidx',['LOCK_ZONE_IDX',['../a00906.html#gaa72601de2238c09393f120f68abf66a4',1,'atca_command.h']]], + ['lock_5fzone_5fmask',['LOCK_ZONE_MASK',['../a00906.html#ga71b3c35d021e0ac507fdd6cd9538467f',1,'atca_command.h']]], + ['lock_5fzone_5fno_5fcrc',['LOCK_ZONE_NO_CRC',['../a00906.html#ga29b582e5069538ee92f5bcd6d1356255',1,'atca_command.h']]], + ['log_5flocal_5flevel',['LOG_LOCAL_LEVEL',['../a00353.html#a5155a7b7465dd9b5e6167122827d0158',1,'hal_esp32_i2c.c']]], + ['loss',['LOSS',['../a00554.html#a23c8d68a0c8d14f113b15a3b62d8e7b5',1,'license.txt']]], + ['readme_2emd',['README.md',['../a01158.html',1,'(Global Namespace)'],['../a01161.html',1,'(Global Namespace)'],['../a01164.html',1,'(Global Namespace)']]] ]; diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js index 875a9f6a2..2c2001b79 100644 --- a/docs/html/search/all_d.js +++ b/docs/html/search/all_d.js @@ -1,43 +1,43 @@ var searchData= [ - ['mac',['mac',['../a03703.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_verify_mac::mac()'],['../a03711.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_secureboot_mac_in_out::mac()'],['../a03735.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_derive_key_mac_in_out::mac()']]], - ['mac_5fchallenge_5fidx',['MAC_CHALLENGE_IDX',['../a03531.html#ga427e37c74bad23b251deb2274de6d703',1,'atca_command.h']]], - ['mac_5fchallenge_5fsize',['MAC_CHALLENGE_SIZE',['../a03531.html#ga921afead5f0a35822bc8263c3a1e1761',1,'atca_command.h']]], - ['mac_5fcount_5flong',['MAC_COUNT_LONG',['../a03531.html#gaa466dfdf174c134a11f578d1731990ef',1,'atca_command.h']]], - ['mac_5fcount_5fshort',['MAC_COUNT_SHORT',['../a03531.html#ga94d9bf52f1a6c7af3943eb92dd3967ef',1,'atca_command.h']]], - ['mac_5fkeyid_5fidx',['MAC_KEYID_IDX',['../a03531.html#gadb6b7f50e3d8af5d2de64f3bd4c83332',1,'atca_command.h']]], - ['mac_5fmode_5fblock1_5ftempkey',['MAC_MODE_BLOCK1_TEMPKEY',['../a03531.html#ga1ed0d355896761d1cfef4d3b225fefae',1,'atca_command.h']]], - ['mac_5fmode_5fblock2_5ftempkey',['MAC_MODE_BLOCK2_TEMPKEY',['../a03531.html#gaaf599e8acc392c2ef07eba93eafc474d',1,'atca_command.h']]], - ['mac_5fmode_5fchallenge',['MAC_MODE_CHALLENGE',['../a03531.html#ga876298788a9270561dc279b7d4c92cb8',1,'atca_command.h']]], - ['mac_5fmode_5fidx',['MAC_MODE_IDX',['../a03531.html#ga4b1f89e4c4a24c058fddb3d936e76017',1,'atca_command.h']]], - ['mac_5fmode_5finclude_5fotp_5f64',['MAC_MODE_INCLUDE_OTP_64',['../a03531.html#ga0bd9324a824410d7787c6fcd6e29d8a2',1,'atca_command.h']]], - ['mac_5fmode_5finclude_5fotp_5f88',['MAC_MODE_INCLUDE_OTP_88',['../a03531.html#gae5da70c1f37ee40a0cf4edc459d5840a',1,'atca_command.h']]], - ['mac_5fmode_5finclude_5fsn',['MAC_MODE_INCLUDE_SN',['../a03531.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5',1,'atca_command.h']]], - ['mac_5fmode_5fmask',['MAC_MODE_MASK',['../a03531.html#ga6e6b931cf58debb1a23b87c16c7b4d47',1,'atca_command.h']]], - ['mac_5fmode_5fpassthrough',['MAC_MODE_PASSTHROUGH',['../a03531.html#ga41beaf29ad684f5fae6046c689d6bcf1',1,'atca_command.h']]], - ['mac_5fmode_5fptnonce_5ftempkey',['MAC_MODE_PTNONCE_TEMPKEY',['../a03531.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2',1,'atca_command.h']]], - ['mac_5fmode_5fsource_5fflag_5fmatch',['MAC_MODE_SOURCE_FLAG_MATCH',['../a03531.html#gadffd78899cf3d3dd18afc5ce3c54acb4',1,'atca_command.h']]], - ['mac_5fmode_5fuse_5ftempkey_5fmask',['MAC_MODE_USE_TEMPKEY_MASK',['../a03538.html#ga05323075c94849bf70e84f5a5931f058',1,'atca_host.h']]], - ['mac_5frsp_5fsize',['MAC_RSP_SIZE',['../a03531.html#ga1e34a5e5e8b86355569f958ecbaff3d4',1,'atca_command.h']]], - ['mac_5fsize',['MAC_SIZE',['../a03531.html#ga4c987156ced719bbcf398ab6c76289c0',1,'atca_command.h']]], - ['max',['max',['../a03537.html#gaffe776513b24d84b39af8ab0930fef7f',1,'hal_linux_kit_cdc.c']]], - ['max_5fbuses',['MAX_BUSES',['../a00176.html#a71478560014bace34a1ebdeab8875365',1,'atca_basic.c']]], - ['max_5fcert_5fsize',['max_cert_size',['../a03607.html#abbc4bbcc72558a31f830df7df2df53b8',1,'atcacert_build_state_s']]], - ['max_5fi2c_5fbuses',['MAX_I2C_BUSES',['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_at90usb1287_i2c_asf.h'],['../a00332.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_esp32_i2c.c'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_i2c_start.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_linux_i2c_userspace.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_pic32mx695f512h_i2c.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_pic32mz2048efm_i2c.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_sam4s_i2c_asf.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samb11_i2c_asf.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samd21_i2c_asf.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samg55_i2c_asf.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samv71_i2c_asf.h'],['../a03537.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_xmega_a3bu_i2c_asf.h'],['../a00479.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): i2c_bitbang_samd21.h']]], - ['max_5fswi_5fbuses',['MAX_SWI_BUSES',['../a00494.html#af9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_bitbang_samd21.h'],['../a03537.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_at90usb1287_asf.h'],['../a03537.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_samd21_asf.h'],['../a03537.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_start.h'],['../a03537.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_xmega_a3bu_asf.h']]], - ['mcommands',['mCommands',['../a03551.html#aac7a3ed180ba0fcf0d86f7b54ebc1379',1,'atca_device']]], - ['memcpy_5fp',['memcpy_P',['../a00290.html#a3015d84f1e64c03564961de070d25328',1,'sha1_routines.h']]], - ['memory_5fparameters',['memory_parameters',['../a03771.html',1,'']]], - ['memory_5fparams',['memory_params',['../a03767.html#a42beed23912c5ea5307c11701c6883ab',1,'secure_boot_parameters']]], - ['memory_5fsize',['memory_size',['../a03771.html#afa720d7b457a80ef9f27d644a51ad157',1,'memory_parameters']]], - ['merchantability',['MERCHANTABILITY',['../a00533.html#a5dab97277add1c9e20634df7532f7258',1,'license.txt']]], - ['message',['message',['../a03755.html#a35f4a3225daf3021decdc4ecea74fa46',1,'atca_sign_internal_in_out']]], - ['met',['met',['../a00533.html#a1c8fbe2bd2de295687cf40862de52243',1,'license.txt']]], - ['miface',['mIface',['../a03551.html#aca75c68806e47e95144dc86a3f50d236',1,'atca_device']]], - ['mifacecfg',['mIfaceCFG',['../a03583.html#abdd7b8bd26139998d9da63a4fa562735',1,'atca_iface']]], - ['min',['min',['../a03537.html#gac6afabdc09a49a433ee19d8a9486056d',1,'hal_linux_kit_cdc.c']]], - ['mode',['mode',['../a03691.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_include_data_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_nonce_in_out::mode()'],['../a03703.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_verify_mac::mode()'],['../a03711.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_secureboot_mac_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_mac_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_hmac_in_out::mode()'],['../a03731.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_in_out::mode()'],['../a03735.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_mac_in_out::mode()'],['../a03743.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_check_mac_in_out::mode()'],['../a03751.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_gen_key_in_out::mode()'],['../a03755.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_sign_internal_in_out::mode()']]], - ['modification',['modification',['../a00533.html#ac4b912b8b14f5271ee23393f63704703',1,'license.txt']]], - ['msg_5fdig_5fbuf',['msg_dig_buf',['../a03703.html#abb42a6a187e06500b79b8bdbf097ef1c',1,'atca_verify_mac']]], - ['mtype',['mType',['../a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a',1,'atca_iface']]] + ['mac',['mac',['../a01082.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_verify_mac::mac()'],['../a01090.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_secureboot_mac_in_out::mac()'],['../a01114.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_derive_key_mac_in_out::mac()']]], + ['mac_5fchallenge_5fidx',['MAC_CHALLENGE_IDX',['../a00906.html#ga427e37c74bad23b251deb2274de6d703',1,'atca_command.h']]], + ['mac_5fchallenge_5fsize',['MAC_CHALLENGE_SIZE',['../a00906.html#ga921afead5f0a35822bc8263c3a1e1761',1,'atca_command.h']]], + ['mac_5fcount_5flong',['MAC_COUNT_LONG',['../a00906.html#gaa466dfdf174c134a11f578d1731990ef',1,'atca_command.h']]], + ['mac_5fcount_5fshort',['MAC_COUNT_SHORT',['../a00906.html#ga94d9bf52f1a6c7af3943eb92dd3967ef',1,'atca_command.h']]], + ['mac_5fkeyid_5fidx',['MAC_KEYID_IDX',['../a00906.html#gadb6b7f50e3d8af5d2de64f3bd4c83332',1,'atca_command.h']]], + ['mac_5fmode_5fblock1_5ftempkey',['MAC_MODE_BLOCK1_TEMPKEY',['../a00906.html#ga1ed0d355896761d1cfef4d3b225fefae',1,'atca_command.h']]], + ['mac_5fmode_5fblock2_5ftempkey',['MAC_MODE_BLOCK2_TEMPKEY',['../a00906.html#gaaf599e8acc392c2ef07eba93eafc474d',1,'atca_command.h']]], + ['mac_5fmode_5fchallenge',['MAC_MODE_CHALLENGE',['../a00906.html#ga876298788a9270561dc279b7d4c92cb8',1,'atca_command.h']]], + ['mac_5fmode_5fidx',['MAC_MODE_IDX',['../a00906.html#ga4b1f89e4c4a24c058fddb3d936e76017',1,'atca_command.h']]], + ['mac_5fmode_5finclude_5fotp_5f64',['MAC_MODE_INCLUDE_OTP_64',['../a00906.html#ga0bd9324a824410d7787c6fcd6e29d8a2',1,'atca_command.h']]], + ['mac_5fmode_5finclude_5fotp_5f88',['MAC_MODE_INCLUDE_OTP_88',['../a00906.html#gae5da70c1f37ee40a0cf4edc459d5840a',1,'atca_command.h']]], + ['mac_5fmode_5finclude_5fsn',['MAC_MODE_INCLUDE_SN',['../a00906.html#gae2afa3244b7efc9ffd9a93dd6e5b71b5',1,'atca_command.h']]], + ['mac_5fmode_5fmask',['MAC_MODE_MASK',['../a00906.html#ga6e6b931cf58debb1a23b87c16c7b4d47',1,'atca_command.h']]], + ['mac_5fmode_5fpassthrough',['MAC_MODE_PASSTHROUGH',['../a00906.html#ga41beaf29ad684f5fae6046c689d6bcf1',1,'atca_command.h']]], + ['mac_5fmode_5fptnonce_5ftempkey',['MAC_MODE_PTNONCE_TEMPKEY',['../a00906.html#gafe14a4d41dbd21bb5cfdd9c17f22d2d2',1,'atca_command.h']]], + ['mac_5fmode_5fsource_5fflag_5fmatch',['MAC_MODE_SOURCE_FLAG_MATCH',['../a00906.html#gadffd78899cf3d3dd18afc5ce3c54acb4',1,'atca_command.h']]], + ['mac_5fmode_5fuse_5ftempkey_5fmask',['MAC_MODE_USE_TEMPKEY_MASK',['../a00913.html#ga05323075c94849bf70e84f5a5931f058',1,'atca_host.h']]], + ['mac_5frsp_5fsize',['MAC_RSP_SIZE',['../a00906.html#ga1e34a5e5e8b86355569f958ecbaff3d4',1,'atca_command.h']]], + ['mac_5fsize',['MAC_SIZE',['../a00906.html#ga4c987156ced719bbcf398ab6c76289c0',1,'atca_command.h']]], + ['max',['max',['../a00912.html#gaffe776513b24d84b39af8ab0930fef7f',1,'hal_linux_kit_cdc.c']]], + ['max_5fbuses',['MAX_BUSES',['../a00182.html#a71478560014bace34a1ebdeab8875365',1,'atca_basic.c']]], + ['max_5fcert_5fsize',['max_cert_size',['../a00982.html#abbc4bbcc72558a31f830df7df2df53b8',1,'atcacert_build_state_s']]], + ['max_5fi2c_5fbuses',['MAX_I2C_BUSES',['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_at90usb1287_i2c_asf.h'],['../a00353.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_esp32_i2c.c'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_i2c_start.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_linux_i2c_userspace.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_pic32mx695f512h_i2c.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_pic32mz2048efm_i2c.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_sam4s_i2c_asf.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samb11_i2c_asf.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samd21_i2c_asf.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samg55_i2c_asf.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_samv71_i2c_asf.h'],['../a00912.html#gaf89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_xmega_a3bu_i2c_asf.h'],['../a00500.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): i2c_bitbang_samd21.h']]], + ['max_5fswi_5fbuses',['MAX_SWI_BUSES',['../a00515.html#af9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_bitbang_samd21.h'],['../a00912.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_at90usb1287_asf.h'],['../a00912.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_samd21_asf.h'],['../a00912.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_start.h'],['../a00912.html#gaf9d9d027ce20f528edea144203141714',1,'MAX_SWI_BUSES(): swi_uart_xmega_a3bu_asf.h']]], + ['mcommands',['mCommands',['../a00926.html#aac7a3ed180ba0fcf0d86f7b54ebc1379',1,'atca_device']]], + ['memcpy_5fp',['memcpy_P',['../a00311.html#a3015d84f1e64c03564961de070d25328',1,'sha1_routines.h']]], + ['memory_5fparameters',['memory_parameters',['../a01150.html',1,'']]], + ['memory_5fparams',['memory_params',['../a01146.html#a42beed23912c5ea5307c11701c6883ab',1,'secure_boot_parameters']]], + ['memory_5fsize',['memory_size',['../a01150.html#afa720d7b457a80ef9f27d644a51ad157',1,'memory_parameters']]], + ['merchantability',['MERCHANTABILITY',['../a00554.html#a5dab97277add1c9e20634df7532f7258',1,'license.txt']]], + ['message',['message',['../a01134.html#a35f4a3225daf3021decdc4ecea74fa46',1,'atca_sign_internal_in_out']]], + ['met',['met',['../a00554.html#a1c8fbe2bd2de295687cf40862de52243',1,'license.txt']]], + ['miface',['mIface',['../a00926.html#aca75c68806e47e95144dc86a3f50d236',1,'atca_device']]], + ['mifacecfg',['mIfaceCFG',['../a00958.html#abdd7b8bd26139998d9da63a4fa562735',1,'atca_iface']]], + ['min',['min',['../a00912.html#gac6afabdc09a49a433ee19d8a9486056d',1,'hal_linux_kit_cdc.c']]], + ['mode',['mode',['../a01070.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_include_data_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_nonce_in_out::mode()'],['../a01082.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_verify_mac::mode()'],['../a01090.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_secureboot_mac_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_mac_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_hmac_in_out::mode()'],['../a01110.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_in_out::mode()'],['../a01114.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_mac_in_out::mode()'],['../a01122.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_check_mac_in_out::mode()'],['../a01130.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_gen_key_in_out::mode()'],['../a01134.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_sign_internal_in_out::mode()']]], + ['modification',['modification',['../a00554.html#ac4b912b8b14f5271ee23393f63704703',1,'license.txt']]], + ['msg_5fdig_5fbuf',['msg_dig_buf',['../a01082.html#abb42a6a187e06500b79b8bdbf097ef1c',1,'atca_verify_mac']]], + ['mtype',['mType',['../a00958.html#ab4f4855cbadf7c7d2d3fb019eded7c8a',1,'atca_iface']]] ]; diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js index b2eac1ab7..966ace9f4 100644 --- a/docs/html/search/all_e.js +++ b/docs/html/search/all_e.js @@ -1,37 +1,37 @@ var searchData= [ - ['nack_5fval',['NACK_VAL',['../a00332.html#ae20bf16f65c41237e2d620ef49890781',1,'hal_esp32_i2c.c']]], - ['newatcacommand',['newATCACommand',['../a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c']]], - ['newatcadevice',['newATCADevice',['../a03532.html#gad5e12e12d3030e28d75164286df9e5e9',1,'atca_device.c']]], - ['newatcaiface',['newATCAIface',['../a03533.html#ga6f28f18f0d00c5301939724325f6b6fc',1,'atca_iface.c']]], - ['no_5fmac_5fflag',['no_mac_flag',['../a03687.html#a7e432dd218a88686e01e0c43cda30d2b',1,'atca_temp_key']]], - ['nonce_5fcount_5flong',['NONCE_COUNT_LONG',['../a03531.html#ga9a7fddf245cba834f86e0b63f2b14dc1',1,'atca_command.h']]], - ['nonce_5fcount_5flong_5f64',['NONCE_COUNT_LONG_64',['../a03531.html#gaaffdf30ca558bdd5f772578742835306',1,'atca_command.h']]], - ['nonce_5fcount_5fshort',['NONCE_COUNT_SHORT',['../a03531.html#gacff2b897c994e1444f8e94e638c25c74',1,'atca_command.h']]], - ['nonce_5finput_5fidx',['NONCE_INPUT_IDX',['../a03531.html#ga98721952094435f45bffa352dd6848ad',1,'atca_command.h']]], - ['nonce_5fmode_5fidx',['NONCE_MODE_IDX',['../a03531.html#ga97ca81334088c297c577f4b4aaced3cf',1,'atca_command.h']]], - ['nonce_5fmode_5finput_5flen_5f32',['NONCE_MODE_INPUT_LEN_32',['../a03531.html#gaf7ee0188ab539a350a6da19fe3f34a72',1,'atca_command.h']]], - ['nonce_5fmode_5finput_5flen_5f64',['NONCE_MODE_INPUT_LEN_64',['../a03531.html#ga54f085984c6aaf826263a755fd3243d7',1,'atca_command.h']]], - ['nonce_5fmode_5finput_5flen_5fmask',['NONCE_MODE_INPUT_LEN_MASK',['../a03531.html#gad83ef570608a572d2dd99e6954e14d40',1,'atca_command.h']]], - ['nonce_5fmode_5finvalid',['NONCE_MODE_INVALID',['../a03531.html#ga7c675071c7fd650a29594c5fcc9882a1',1,'atca_command.h']]], - ['nonce_5fmode_5fmask',['NONCE_MODE_MASK',['../a03531.html#ga98be7c54d55328daa4390a816c9bb243',1,'atca_command.h']]], - ['nonce_5fmode_5fno_5fseed_5fupdate',['NONCE_MODE_NO_SEED_UPDATE',['../a03531.html#gae3f2d180d7f35d9a7876a28972f2f587',1,'atca_command.h']]], - ['nonce_5fmode_5fpassthrough',['NONCE_MODE_PASSTHROUGH',['../a03531.html#ga6132b175668ba4d6efecca5986c007c0',1,'atca_command.h']]], - ['nonce_5fmode_5fseed_5fupdate',['NONCE_MODE_SEED_UPDATE',['../a03531.html#ga798018a4ef489e8fb0a02b5edf7e9d55',1,'atca_command.h']]], - ['nonce_5fmode_5ftarget_5faltkeybuf',['NONCE_MODE_TARGET_ALTKEYBUF',['../a03531.html#ga8ad263b7b321311a57db7600f18a555f',1,'atca_command.h']]], - ['nonce_5fmode_5ftarget_5fmask',['NONCE_MODE_TARGET_MASK',['../a03531.html#gab887d70e4a421cf2bcab6b77feba4134',1,'atca_command.h']]], - ['nonce_5fmode_5ftarget_5fmsgdigbuf',['NONCE_MODE_TARGET_MSGDIGBUF',['../a03531.html#ga071a95b4b2048e0d879e6e13984e38fd',1,'atca_command.h']]], - ['nonce_5fmode_5ftarget_5ftempkey',['NONCE_MODE_TARGET_TEMPKEY',['../a03531.html#gac51f4a863e071bce52c995ddae7e2144',1,'atca_command.h']]], - ['nonce_5fnumin_5fsize',['NONCE_NUMIN_SIZE',['../a03531.html#gad0c3da8203a3be6755e86cda96e00228',1,'atca_command.h']]], - ['nonce_5fnumin_5fsize_5fpassthrough',['NONCE_NUMIN_SIZE_PASSTHROUGH',['../a03531.html#gab568e0ec9f976d91d7940c227e8d73ee',1,'atca_command.h']]], - ['nonce_5fparam2_5fidx',['NONCE_PARAM2_IDX',['../a03531.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0',1,'atca_command.h']]], - ['nonce_5frsp_5fsize_5flong',['NONCE_RSP_SIZE_LONG',['../a03531.html#ga7ae9dcc07ca9d990e9db6d8949ac935a',1,'atca_command.h']]], - ['nonce_5frsp_5fsize_5fshort',['NONCE_RSP_SIZE_SHORT',['../a03531.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675',1,'atca_command.h']]], - ['nonce_5fzero_5fcalc_5fmask',['NONCE_ZERO_CALC_MASK',['../a03531.html#ga99bca33105a872e8a20fe199cc17219b',1,'atca_command.h']]], - ['nonce_5fzero_5fcalc_5frandom',['NONCE_ZERO_CALC_RANDOM',['../a03531.html#ga80b8b54f333be5a587f22e2d04812de6',1,'atca_command.h']]], - ['nonce_5fzero_5fcalc_5ftempkey',['NONCE_ZERO_CALC_TEMPKEY',['../a03531.html#ga2a2b74db24609199702267614fc31990',1,'atca_command.h']]], - ['not',['not',['../a00533.html#a0512e77e510c7e2d84a2817fbe4987d5',1,'license.txt']]], - ['notice',['notice',['../a00533.html#a7977b24631cbfb00c68825ecb3a3a349',1,'license.txt']]], - ['num_5fin',['num_in',['../a03538.html#ga02a9d64ea363dc3b231b8cc0b317de8a',1,'atca_nonce_in_out']]], - ['num_5fkits_5ffound',['num_kits_found',['../a03651.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcahid::num_kits_found()'],['../a03663.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcacdc::num_kits_found()']]] + ['nack_5fval',['NACK_VAL',['../a00353.html#ae20bf16f65c41237e2d620ef49890781',1,'hal_esp32_i2c.c']]], + ['newatcacommand',['newATCACommand',['../a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c']]], + ['newatcadevice',['newATCADevice',['../a00907.html#gad5e12e12d3030e28d75164286df9e5e9',1,'atca_device.c']]], + ['newatcaiface',['newATCAIface',['../a00908.html#ga6f28f18f0d00c5301939724325f6b6fc',1,'atca_iface.c']]], + ['no_5fmac_5fflag',['no_mac_flag',['../a01066.html#a7e432dd218a88686e01e0c43cda30d2b',1,'atca_temp_key']]], + ['nonce_5fcount_5flong',['NONCE_COUNT_LONG',['../a00906.html#ga9a7fddf245cba834f86e0b63f2b14dc1',1,'atca_command.h']]], + ['nonce_5fcount_5flong_5f64',['NONCE_COUNT_LONG_64',['../a00906.html#gaaffdf30ca558bdd5f772578742835306',1,'atca_command.h']]], + ['nonce_5fcount_5fshort',['NONCE_COUNT_SHORT',['../a00906.html#gacff2b897c994e1444f8e94e638c25c74',1,'atca_command.h']]], + ['nonce_5finput_5fidx',['NONCE_INPUT_IDX',['../a00906.html#ga98721952094435f45bffa352dd6848ad',1,'atca_command.h']]], + ['nonce_5fmode_5fidx',['NONCE_MODE_IDX',['../a00906.html#ga97ca81334088c297c577f4b4aaced3cf',1,'atca_command.h']]], + ['nonce_5fmode_5finput_5flen_5f32',['NONCE_MODE_INPUT_LEN_32',['../a00906.html#gaf7ee0188ab539a350a6da19fe3f34a72',1,'atca_command.h']]], + ['nonce_5fmode_5finput_5flen_5f64',['NONCE_MODE_INPUT_LEN_64',['../a00906.html#ga54f085984c6aaf826263a755fd3243d7',1,'atca_command.h']]], + ['nonce_5fmode_5finput_5flen_5fmask',['NONCE_MODE_INPUT_LEN_MASK',['../a00906.html#gad83ef570608a572d2dd99e6954e14d40',1,'atca_command.h']]], + ['nonce_5fmode_5finvalid',['NONCE_MODE_INVALID',['../a00906.html#ga7c675071c7fd650a29594c5fcc9882a1',1,'atca_command.h']]], + ['nonce_5fmode_5fmask',['NONCE_MODE_MASK',['../a00906.html#ga98be7c54d55328daa4390a816c9bb243',1,'atca_command.h']]], + ['nonce_5fmode_5fno_5fseed_5fupdate',['NONCE_MODE_NO_SEED_UPDATE',['../a00906.html#gae3f2d180d7f35d9a7876a28972f2f587',1,'atca_command.h']]], + ['nonce_5fmode_5fpassthrough',['NONCE_MODE_PASSTHROUGH',['../a00906.html#ga6132b175668ba4d6efecca5986c007c0',1,'atca_command.h']]], + ['nonce_5fmode_5fseed_5fupdate',['NONCE_MODE_SEED_UPDATE',['../a00906.html#ga798018a4ef489e8fb0a02b5edf7e9d55',1,'atca_command.h']]], + ['nonce_5fmode_5ftarget_5faltkeybuf',['NONCE_MODE_TARGET_ALTKEYBUF',['../a00906.html#ga8ad263b7b321311a57db7600f18a555f',1,'atca_command.h']]], + ['nonce_5fmode_5ftarget_5fmask',['NONCE_MODE_TARGET_MASK',['../a00906.html#gab887d70e4a421cf2bcab6b77feba4134',1,'atca_command.h']]], + ['nonce_5fmode_5ftarget_5fmsgdigbuf',['NONCE_MODE_TARGET_MSGDIGBUF',['../a00906.html#ga071a95b4b2048e0d879e6e13984e38fd',1,'atca_command.h']]], + ['nonce_5fmode_5ftarget_5ftempkey',['NONCE_MODE_TARGET_TEMPKEY',['../a00906.html#gac51f4a863e071bce52c995ddae7e2144',1,'atca_command.h']]], + ['nonce_5fnumin_5fsize',['NONCE_NUMIN_SIZE',['../a00906.html#gad0c3da8203a3be6755e86cda96e00228',1,'atca_command.h']]], + ['nonce_5fnumin_5fsize_5fpassthrough',['NONCE_NUMIN_SIZE_PASSTHROUGH',['../a00906.html#gab568e0ec9f976d91d7940c227e8d73ee',1,'atca_command.h']]], + ['nonce_5fparam2_5fidx',['NONCE_PARAM2_IDX',['../a00906.html#gaabd0af10b17e4e1c4bf7a4cfd3cca1f0',1,'atca_command.h']]], + ['nonce_5frsp_5fsize_5flong',['NONCE_RSP_SIZE_LONG',['../a00906.html#ga7ae9dcc07ca9d990e9db6d8949ac935a',1,'atca_command.h']]], + ['nonce_5frsp_5fsize_5fshort',['NONCE_RSP_SIZE_SHORT',['../a00906.html#ga2ecf97f43e4b2fbe3f329bb7c8e3b675',1,'atca_command.h']]], + ['nonce_5fzero_5fcalc_5fmask',['NONCE_ZERO_CALC_MASK',['../a00906.html#ga99bca33105a872e8a20fe199cc17219b',1,'atca_command.h']]], + ['nonce_5fzero_5fcalc_5frandom',['NONCE_ZERO_CALC_RANDOM',['../a00906.html#ga80b8b54f333be5a587f22e2d04812de6',1,'atca_command.h']]], + ['nonce_5fzero_5fcalc_5ftempkey',['NONCE_ZERO_CALC_TEMPKEY',['../a00906.html#ga2a2b74db24609199702267614fc31990',1,'atca_command.h']]], + ['not',['not',['../a00554.html#a0512e77e510c7e2d84a2817fbe4987d5',1,'license.txt']]], + ['notice',['notice',['../a00554.html#a7977b24631cbfb00c68825ecb3a3a349',1,'license.txt']]], + ['num_5fin',['num_in',['../a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a',1,'atca_nonce_in_out']]], + ['num_5fkits_5ffound',['num_kits_found',['../a01030.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcahid::num_kits_found()'],['../a01042.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcacdc::num_kits_found()']]] ]; diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js index 8834e2a6b..9b9106cdb 100644 --- a/docs/html/search/all_f.js +++ b/docs/html/search/all_f.js @@ -1,11 +1,11 @@ var searchData= [ - ['offset',['offset',['../a03591.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_device_loc_s::offset()'],['../a03595.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_cert_loc_s::offset()']]], - ['opcode',['opcode',['../a03547.html#a5c1b56e6bccc2a95dbddf1a08e56e87d',1,'ATCAPacket']]], - ['or',['or',['../a00533.html#a12da3acd04e3589c2114dc5d0853f811',1,'license.txt']]], - ['other_5fdata',['other_data',['../a03703.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_verify_mac::other_data()'],['../a03723.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_dig_in_out::other_data()'],['../a03743.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_check_mac_in_out::other_data()'],['../a03751.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_key_in_out::other_data()']]], - ['otp',['otp',['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_include_data_in_out::otp()'],['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_mac_in_out::otp()'],['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_hmac_in_out::otp()'],['../a03743.html#a4510889ef4b42470bf1a1d4e940a19a9',1,'atca_check_mac_in_out::otp()']]], - ['ott',['Ott',['../a00533.html#a6767a8d558623ea6d78553dad356c0de',1,'license.txt']]], - ['out_5fnonce',['out_nonce',['../a03699.html#a70a057043fcc9f4dc22455f6df43d710',1,'atca_io_decrypt_in_out']]], - ['outnonce_5fsize',['OUTNONCE_SIZE',['../a03531.html#gad742aca4fbd1b833423eeb7ce90a6743',1,'atca_command.h']]] + ['offset',['offset',['../a00966.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_device_loc_s::offset()'],['../a00970.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_cert_loc_s::offset()']]], + ['opcode',['opcode',['../a00922.html#a5c1b56e6bccc2a95dbddf1a08e56e87d',1,'ATCAPacket']]], + ['or',['or',['../a00554.html#a12da3acd04e3589c2114dc5d0853f811',1,'license.txt']]], + ['other_5fdata',['other_data',['../a01082.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_verify_mac::other_data()'],['../a01102.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_dig_in_out::other_data()'],['../a01122.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_check_mac_in_out::other_data()'],['../a01130.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_key_in_out::other_data()']]], + ['otp',['otp',['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_include_data_in_out::otp()'],['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_mac_in_out::otp()'],['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_hmac_in_out::otp()'],['../a01122.html#a4510889ef4b42470bf1a1d4e940a19a9',1,'atca_check_mac_in_out::otp()']]], + ['ott',['Ott',['../a00554.html#a6767a8d558623ea6d78553dad356c0de',1,'license.txt']]], + ['out_5fnonce',['out_nonce',['../a01078.html#a70a057043fcc9f4dc22455f6df43d710',1,'atca_io_decrypt_in_out']]], + ['outnonce_5fsize',['OUTNONCE_SIZE',['../a00906.html#gad742aca4fbd1b833423eeb7ce90a6743',1,'atca_command.h']]] ]; diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js index 679d5d231..d651b0761 100644 --- a/docs/html/search/classes_0.js +++ b/docs/html/search/classes_0.js @@ -1,44 +1,45 @@ var searchData= [ - ['atca_5faes_5fcbc_5fctx',['atca_aes_cbc_ctx',['../a03611.html',1,'']]], - ['atca_5faes_5fcmac_5fctx',['atca_aes_cmac_ctx',['../a03615.html',1,'']]], - ['atca_5faes_5fctr_5fctx',['atca_aes_ctr_ctx',['../a03619.html',1,'']]], - ['atca_5fcheck_5fmac_5fin_5fout',['atca_check_mac_in_out',['../a03743.html',1,'']]], - ['atca_5fcommand',['atca_command',['../a03543.html',1,'']]], - ['atca_5fdecrypt_5fin_5fout',['atca_decrypt_in_out',['../a03739.html',1,'']]], - ['atca_5fderive_5fkey_5fin_5fout',['atca_derive_key_in_out',['../a03731.html',1,'']]], - ['atca_5fderive_5fkey_5fmac_5fin_5fout',['atca_derive_key_mac_in_out',['../a03735.html',1,'']]], - ['atca_5fdevice',['atca_device',['../a03551.html',1,'']]], - ['atca_5fgen_5fdig_5fin_5fout',['atca_gen_dig_in_out',['../a03723.html',1,'']]], - ['atca_5fgen_5fkey_5fin_5fout',['atca_gen_key_in_out',['../a03751.html',1,'']]], - ['atca_5fhmac_5fin_5fout',['atca_hmac_in_out',['../a03719.html',1,'']]], - ['atca_5fiface',['atca_iface',['../a03583.html',1,'']]], - ['atca_5finclude_5fdata_5fin_5fout',['atca_include_data_in_out',['../a03691.html',1,'']]], - ['atca_5fio_5fdecrypt_5fin_5fout',['atca_io_decrypt_in_out',['../a03699.html',1,'']]], - ['atca_5fjwt_5ft',['atca_jwt_t',['../a03759.html',1,'']]], - ['atca_5fmac_5fin_5fout',['atca_mac_in_out',['../a03715.html',1,'']]], - ['atca_5fnonce_5fin_5fout',['atca_nonce_in_out',['../a03695.html',1,'']]], - ['atca_5fsecureboot_5fenc_5fin_5fout',['atca_secureboot_enc_in_out',['../a03707.html',1,'']]], - ['atca_5fsecureboot_5fmac_5fin_5fout',['atca_secureboot_mac_in_out',['../a03711.html',1,'']]], - ['atca_5fsha256_5fctx',['atca_sha256_ctx',['../a03623.html',1,'']]], - ['atca_5fsign_5finternal_5fin_5fout',['atca_sign_internal_in_out',['../a03755.html',1,'']]], - ['atca_5ftemp_5fkey',['atca_temp_key',['../a03687.html',1,'']]], - ['atca_5fverify_5fin_5fout',['atca_verify_in_out',['../a03747.html',1,'']]], - ['atca_5fverify_5fmac',['atca_verify_mac',['../a03703.html',1,'']]], - ['atca_5fwrite_5fmac_5fin_5fout',['atca_write_mac_in_out',['../a03727.html',1,'']]], - ['atcac_5fsha1_5fctx',['atcac_sha1_ctx',['../a03631.html',1,'']]], - ['atcac_5fsha2_5f256_5fctx',['atcac_sha2_256_ctx',['../a03635.html',1,'']]], - ['atcacdc',['atcacdc',['../a03663.html',1,'']]], - ['atcacert_5fbuild_5fstate_5fs',['atcacert_build_state_s',['../a03607.html',1,'']]], - ['atcacert_5fcert_5felement_5fs',['atcacert_cert_element_s',['../a03599.html',1,'']]], - ['atcacert_5fcert_5floc_5fs',['atcacert_cert_loc_s',['../a03595.html',1,'']]], - ['atcacert_5fdef_5fs',['atcacert_def_s',['../a03603.html',1,'']]], - ['atcacert_5fdevice_5floc_5fs',['atcacert_device_loc_s',['../a03591.html',1,'']]], - ['atcacert_5ftm_5futc_5fs',['atcacert_tm_utc_s',['../a03587.html',1,'']]], - ['atcahal_5ft',['ATCAHAL_t',['../a03647.html',1,'']]], - ['atcahid',['atcahid',['../a03651.html',1,'']]], - ['atcai2cmaster',['atcaI2Cmaster',['../a03655.html',1,'']]], - ['atcaifacecfg',['ATCAIfaceCfg',['../a03555.html',1,'']]], - ['atcapacket',['ATCAPacket',['../a03547.html',1,'']]], - ['atcaswimaster',['atcaSWImaster',['../a03675.html',1,'']]] + ['atca_5faes_5fcbc_5fctx',['atca_aes_cbc_ctx',['../a00986.html',1,'']]], + ['atca_5faes_5fcmac_5fctx',['atca_aes_cmac_ctx',['../a00990.html',1,'']]], + ['atca_5faes_5fctr_5fctx',['atca_aes_ctr_ctx',['../a00994.html',1,'']]], + ['atca_5faes_5fgcm_5fctx',['atca_aes_gcm_ctx',['../a01002.html',1,'']]], + ['atca_5fcheck_5fmac_5fin_5fout',['atca_check_mac_in_out',['../a01122.html',1,'']]], + ['atca_5fcommand',['atca_command',['../a00918.html',1,'']]], + ['atca_5fdecrypt_5fin_5fout',['atca_decrypt_in_out',['../a01118.html',1,'']]], + ['atca_5fderive_5fkey_5fin_5fout',['atca_derive_key_in_out',['../a01110.html',1,'']]], + ['atca_5fderive_5fkey_5fmac_5fin_5fout',['atca_derive_key_mac_in_out',['../a01114.html',1,'']]], + ['atca_5fdevice',['atca_device',['../a00926.html',1,'']]], + ['atca_5fgen_5fdig_5fin_5fout',['atca_gen_dig_in_out',['../a01102.html',1,'']]], + ['atca_5fgen_5fkey_5fin_5fout',['atca_gen_key_in_out',['../a01130.html',1,'']]], + ['atca_5fhmac_5fin_5fout',['atca_hmac_in_out',['../a01098.html',1,'']]], + ['atca_5fiface',['atca_iface',['../a00958.html',1,'']]], + ['atca_5finclude_5fdata_5fin_5fout',['atca_include_data_in_out',['../a01070.html',1,'']]], + ['atca_5fio_5fdecrypt_5fin_5fout',['atca_io_decrypt_in_out',['../a01078.html',1,'']]], + ['atca_5fjwt_5ft',['atca_jwt_t',['../a01138.html',1,'']]], + ['atca_5fmac_5fin_5fout',['atca_mac_in_out',['../a01094.html',1,'']]], + ['atca_5fnonce_5fin_5fout',['atca_nonce_in_out',['../a01074.html',1,'']]], + ['atca_5fsecureboot_5fenc_5fin_5fout',['atca_secureboot_enc_in_out',['../a01086.html',1,'']]], + ['atca_5fsecureboot_5fmac_5fin_5fout',['atca_secureboot_mac_in_out',['../a01090.html',1,'']]], + ['atca_5fsha256_5fctx',['atca_sha256_ctx',['../a00998.html',1,'']]], + ['atca_5fsign_5finternal_5fin_5fout',['atca_sign_internal_in_out',['../a01134.html',1,'']]], + ['atca_5ftemp_5fkey',['atca_temp_key',['../a01066.html',1,'']]], + ['atca_5fverify_5fin_5fout',['atca_verify_in_out',['../a01126.html',1,'']]], + ['atca_5fverify_5fmac',['atca_verify_mac',['../a01082.html',1,'']]], + ['atca_5fwrite_5fmac_5fin_5fout',['atca_write_mac_in_out',['../a01106.html',1,'']]], + ['atcac_5fsha1_5fctx',['atcac_sha1_ctx',['../a01010.html',1,'']]], + ['atcac_5fsha2_5f256_5fctx',['atcac_sha2_256_ctx',['../a01014.html',1,'']]], + ['atcacdc',['atcacdc',['../a01042.html',1,'']]], + ['atcacert_5fbuild_5fstate_5fs',['atcacert_build_state_s',['../a00982.html',1,'']]], + ['atcacert_5fcert_5felement_5fs',['atcacert_cert_element_s',['../a00974.html',1,'']]], + ['atcacert_5fcert_5floc_5fs',['atcacert_cert_loc_s',['../a00970.html',1,'']]], + ['atcacert_5fdef_5fs',['atcacert_def_s',['../a00978.html',1,'']]], + ['atcacert_5fdevice_5floc_5fs',['atcacert_device_loc_s',['../a00966.html',1,'']]], + ['atcacert_5ftm_5futc_5fs',['atcacert_tm_utc_s',['../a00962.html',1,'']]], + ['atcahal_5ft',['ATCAHAL_t',['../a01026.html',1,'']]], + ['atcahid',['atcahid',['../a01030.html',1,'']]], + ['atcai2cmaster',['atcaI2Cmaster',['../a01034.html',1,'']]], + ['atcaifacecfg',['ATCAIfaceCfg',['../a00930.html',1,'']]], + ['atcapacket',['ATCAPacket',['../a00922.html',1,'']]], + ['atcaswimaster',['atcaSWImaster',['../a01054.html',1,'']]] ]; diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js index 7b340be3a..82b5f254c 100644 --- a/docs/html/search/classes_1.js +++ b/docs/html/search/classes_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['cdc_5fdevice',['cdc_device',['../a03659.html',1,'']]], - ['cl_5fhashcontext',['CL_HashContext',['../a03639.html',1,'']]] + ['cdc_5fdevice',['cdc_device',['../a01038.html',1,'']]], + ['cl_5fhashcontext',['CL_HashContext',['../a01018.html',1,'']]] ]; diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js index 1f62fa261..f952bf37c 100644 --- a/docs/html/search/classes_2.js +++ b/docs/html/search/classes_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['drv_5fi2c_5fobject',['DRV_I2C_Object',['../a03671.html',1,'']]] + ['drv_5fi2c_5fobject',['DRV_I2C_Object',['../a01050.html',1,'']]] ]; diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js index b04fc817f..c1d231bd1 100644 --- a/docs/html/search/classes_3.js +++ b/docs/html/search/classes_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['hid_5fdevice',['hid_device',['../a03667.html',1,'']]], - ['hw_5fsha256_5fctx',['hw_sha256_ctx',['../a03627.html',1,'']]] + ['hid_5fdevice',['hid_device',['../a01046.html',1,'']]], + ['hw_5fsha256_5fctx',['hw_sha256_ctx',['../a01006.html',1,'']]] ]; diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js index 1b2646ca0..29240fb8f 100644 --- a/docs/html/search/classes_4.js +++ b/docs/html/search/classes_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['i2cbuses',['I2CBuses',['../a03679.html',1,'']]] + ['i2cbuses',['I2CBuses',['../a01058.html',1,'']]] ]; diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js index 602c5246f..a96978a21 100644 --- a/docs/html/search/classes_5.js +++ b/docs/html/search/classes_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['memory_5fparameters',['memory_parameters',['../a03771.html',1,'']]] + ['memory_5fparameters',['memory_parameters',['../a01150.html',1,'']]] ]; diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js index a329d6303..e4df125c9 100644 --- a/docs/html/search/classes_6.js +++ b/docs/html/search/classes_6.js @@ -1,7 +1,7 @@ var searchData= [ - ['secure_5fboot_5fconfig_5fbits',['secure_boot_config_bits',['../a03763.html',1,'']]], - ['secure_5fboot_5fparameters',['secure_boot_parameters',['../a03767.html',1,'']]], - ['sw_5fsha256_5fctx',['sw_sha256_ctx',['../a03643.html',1,'']]], - ['swibuses',['SWIBuses',['../a03683.html',1,'']]] + ['secure_5fboot_5fconfig_5fbits',['secure_boot_config_bits',['../a01142.html',1,'']]], + ['secure_5fboot_5fparameters',['secure_boot_parameters',['../a01146.html',1,'']]], + ['sw_5fsha256_5fctx',['sw_sha256_ctx',['../a01022.html',1,'']]], + ['swibuses',['SWIBuses',['../a01062.html',1,'']]] ]; diff --git a/docs/html/search/defines_0.js b/docs/html/search/defines_0.js index 30c2bd2f8..482831912 100644 --- a/docs/html/search/defines_0.js +++ b/docs/html/search/defines_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['_5fnop',['_NOP',['../a00290.html#a46388d9db8422abfea56ae2323f7a77c',1,'sha1_routines.h']]], - ['_5fwdreset',['_WDRESET',['../a00290.html#a45e79c30522d47f4c30922b3d5b06b46',1,'sha1_routines.h']]] + ['_5fnop',['_NOP',['../a00311.html#a46388d9db8422abfea56ae2323f7a77c',1,'sha1_routines.h']]], + ['_5fwdreset',['_WDRESET',['../a00311.html#a45e79c30522d47f4c30922b3d5b06b46',1,'sha1_routines.h']]] ]; diff --git a/docs/html/search/defines_1.js b/docs/html/search/defines_1.js index f4604c7a0..66aaae7dd 100644 --- a/docs/html/search/defines_1.js +++ b/docs/html/search/defines_1.js @@ -1,13 +1,13 @@ var searchData= [ - ['ack_5fcheck_5fdis',['ACK_CHECK_DIS',['../a00332.html#a8ad7ceb373ce664b1c2482a66537e7c0',1,'hal_esp32_i2c.c']]], - ['ack_5fcheck_5fen',['ACK_CHECK_EN',['../a00332.html#a7dd22b838d2b1f22d367e6cdef04ccc3',1,'hal_esp32_i2c.c']]], - ['ack_5fval',['ACK_VAL',['../a00332.html#a1d64a546dacc15052a6c4887f9d0020f',1,'hal_esp32_i2c.c']]], - ['atca_5fmutex_5ftimeout',['ATCA_MUTEX_TIMEOUT',['../a00338.html#acf61a669d2246c92200734be17bd5488',1,'hal_freertos.c']]], - ['atca_5fpolling_5ffrequency_5ftime_5fmsec',['ATCA_POLLING_FREQUENCY_TIME_MSEC',['../a00116.html#a608ef7949677dac87e1c76c826e6bf40',1,'atca_execution.c']]], - ['atca_5fpolling_5finit_5ftime_5fmsec',['ATCA_POLLING_INIT_TIME_MSEC',['../a00116.html#a8bec71e1581c804c34ee5239109e0aaf',1,'atca_execution.c']]], - ['atca_5fpolling_5fmax_5ftime_5fmsec',['ATCA_POLLING_MAX_TIME_MSEC',['../a00116.html#a3fec2247165d648a94cea3d0cbfd662f',1,'atca_execution.c']]], - ['atca_5funsupported_5fcmd',['ATCA_UNSUPPORTED_CMD',['../a00119.html#aa025be8149d8f6e4d07aaa436b026db2',1,'atca_execution.h']]], - ['atcacert_5fmax',['ATCACERT_MAX',['../a00146.html#a3619112000a52adc0d060cf5ab29212e',1,'atcacert_def.c']]], - ['atcacert_5fmin',['ATCACERT_MIN',['../a00146.html#a52393fe9fec6f6b0da20dcfd5a6bc25f',1,'atcacert_def.c']]] + ['ack_5fcheck_5fdis',['ACK_CHECK_DIS',['../a00353.html#a8ad7ceb373ce664b1c2482a66537e7c0',1,'hal_esp32_i2c.c']]], + ['ack_5fcheck_5fen',['ACK_CHECK_EN',['../a00353.html#a7dd22b838d2b1f22d367e6cdef04ccc3',1,'hal_esp32_i2c.c']]], + ['ack_5fval',['ACK_VAL',['../a00353.html#a1d64a546dacc15052a6c4887f9d0020f',1,'hal_esp32_i2c.c']]], + ['atca_5fmutex_5ftimeout',['ATCA_MUTEX_TIMEOUT',['../a00359.html#acf61a669d2246c92200734be17bd5488',1,'hal_freertos.c']]], + ['atca_5fpolling_5ffrequency_5ftime_5fmsec',['ATCA_POLLING_FREQUENCY_TIME_MSEC',['../a00122.html#a608ef7949677dac87e1c76c826e6bf40',1,'atca_execution.c']]], + ['atca_5fpolling_5finit_5ftime_5fmsec',['ATCA_POLLING_INIT_TIME_MSEC',['../a00122.html#a8bec71e1581c804c34ee5239109e0aaf',1,'atca_execution.c']]], + ['atca_5fpolling_5fmax_5ftime_5fmsec',['ATCA_POLLING_MAX_TIME_MSEC',['../a00122.html#a3fec2247165d648a94cea3d0cbfd662f',1,'atca_execution.c']]], + ['atca_5funsupported_5fcmd',['ATCA_UNSUPPORTED_CMD',['../a00125.html#aa025be8149d8f6e4d07aaa436b026db2',1,'atca_execution.h']]], + ['atcacert_5fmax',['ATCACERT_MAX',['../a00152.html#a3619112000a52adc0d060cf5ab29212e',1,'atcacert_def.c']]], + ['atcacert_5fmin',['ATCACERT_MIN',['../a00152.html#a52393fe9fec6f6b0da20dcfd5a6bc25f',1,'atcacert_def.c']]] ]; diff --git a/docs/html/search/defines_10.js b/docs/html/search/defines_10.js index 99907bb88..bd2e45e2c 100644 --- a/docs/html/search/defines_10.js +++ b/docs/html/search/defines_10.js @@ -1,14 +1,14 @@ var searchData= [ - ['write_5faddr_5fidx',['WRITE_ADDR_IDX',['../a00101.html#a2d9e0bcb5ccf94f140b1cd519f407ffa',1,'atca_command.h']]], - ['write_5fmac_5fsize',['WRITE_MAC_SIZE',['../a00101.html#a3b8fb940e149c6fb29801ef573cc6311',1,'atca_command.h']]], - ['write_5fmac_5fvl_5fidx',['WRITE_MAC_VL_IDX',['../a00101.html#a9c08115363fb521e9fee60849046f820',1,'atca_command.h']]], - ['write_5fmac_5fvs_5fidx',['WRITE_MAC_VS_IDX',['../a00101.html#a203996620baf9cdf0aa01dd719e02d06',1,'atca_command.h']]], - ['write_5frsp_5fsize',['WRITE_RSP_SIZE',['../a00101.html#af0ac761b64981003336d72c34df3d2e3',1,'atca_command.h']]], - ['write_5fvalue_5fidx',['WRITE_VALUE_IDX',['../a00101.html#a5cdd382afc6d46da59de60fb35abd611',1,'atca_command.h']]], - ['write_5fzone_5fdata',['WRITE_ZONE_DATA',['../a00101.html#ae80ecfb4c696095b5627988cc7c9cde0',1,'atca_command.h']]], - ['write_5fzone_5fidx',['WRITE_ZONE_IDX',['../a00101.html#a8cbed81461d4e4c4991c50629b3a5bcd',1,'atca_command.h']]], - ['write_5fzone_5fmask',['WRITE_ZONE_MASK',['../a00101.html#aacd5623cd6f8eb12e7cdf22941f501dc',1,'atca_command.h']]], - ['write_5fzone_5fotp',['WRITE_ZONE_OTP',['../a00101.html#a830d379174b47b466f5de16fe3345182',1,'atca_command.h']]], - ['write_5fzone_5fwith_5fmac',['WRITE_ZONE_WITH_MAC',['../a00101.html#ac02ad2aea02f18d833e6e0631ae839ad',1,'atca_command.h']]] + ['write_5faddr_5fidx',['WRITE_ADDR_IDX',['../a00107.html#a2d9e0bcb5ccf94f140b1cd519f407ffa',1,'atca_command.h']]], + ['write_5fmac_5fsize',['WRITE_MAC_SIZE',['../a00107.html#a3b8fb940e149c6fb29801ef573cc6311',1,'atca_command.h']]], + ['write_5fmac_5fvl_5fidx',['WRITE_MAC_VL_IDX',['../a00107.html#a9c08115363fb521e9fee60849046f820',1,'atca_command.h']]], + ['write_5fmac_5fvs_5fidx',['WRITE_MAC_VS_IDX',['../a00107.html#a203996620baf9cdf0aa01dd719e02d06',1,'atca_command.h']]], + ['write_5frsp_5fsize',['WRITE_RSP_SIZE',['../a00107.html#af0ac761b64981003336d72c34df3d2e3',1,'atca_command.h']]], + ['write_5fvalue_5fidx',['WRITE_VALUE_IDX',['../a00107.html#a5cdd382afc6d46da59de60fb35abd611',1,'atca_command.h']]], + ['write_5fzone_5fdata',['WRITE_ZONE_DATA',['../a00107.html#ae80ecfb4c696095b5627988cc7c9cde0',1,'atca_command.h']]], + ['write_5fzone_5fidx',['WRITE_ZONE_IDX',['../a00107.html#a8cbed81461d4e4c4991c50629b3a5bcd',1,'atca_command.h']]], + ['write_5fzone_5fmask',['WRITE_ZONE_MASK',['../a00107.html#aacd5623cd6f8eb12e7cdf22941f501dc',1,'atca_command.h']]], + ['write_5fzone_5fotp',['WRITE_ZONE_OTP',['../a00107.html#a830d379174b47b466f5de16fe3345182',1,'atca_command.h']]], + ['write_5fzone_5fwith_5fmac',['WRITE_ZONE_WITH_MAC',['../a00107.html#ac02ad2aea02f18d833e6e0631ae839ad',1,'atca_command.h']]] ]; diff --git a/docs/html/search/defines_11.js b/docs/html/search/defines_11.js index 38ec88392..1ce8e8f88 100644 --- a/docs/html/search/defines_11.js +++ b/docs/html/search/defines_11.js @@ -1,4 +1,4 @@ var searchData= [ - ['zero_5fpulse_5ftime_5fout',['ZERO_PULSE_TIME_OUT',['../a00494.html#ad935b86cd295ba61924231e29033c55b',1,'swi_bitbang_samd21.h']]] + ['zero_5fpulse_5ftime_5fout',['ZERO_PULSE_TIME_OUT',['../a00515.html#ad935b86cd295ba61924231e29033c55b',1,'swi_bitbang_samd21.h']]] ]; diff --git a/docs/html/search/defines_2.js b/docs/html/search/defines_2.js index 4fb0b25cc..ea1cc4e16 100644 --- a/docs/html/search/defines_2.js +++ b/docs/html/search/defines_2.js @@ -1,10 +1,10 @@ var searchData= [ - ['b64_5fis_5fequal',['B64_IS_EQUAL',['../a00251.html#a42f1518aca295fab198d042b18fef075',1,'atca_helpers.c']]], - ['b64_5fis_5finvalid',['B64_IS_INVALID',['../a00251.html#abd4bf9cd40bc547cd53e2ef325a1c8d0',1,'atca_helpers.c']]], - ['bit_5fdelay_5f1h',['BIT_DELAY_1H',['../a00494.html#a1ce4882b7d053eafcec22cd84fb5727d',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f1l',['BIT_DELAY_1L',['../a00494.html#ad884cf7d66d88b38180369a791a9824b',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f5',['BIT_DELAY_5',['../a00494.html#a2ced4699fc4ab5162dbb9453edecb32e',1,'swi_bitbang_samd21.h']]], - ['bit_5fdelay_5f7',['BIT_DELAY_7',['../a00494.html#abd0d20a34060650b8a2895c17f842f44',1,'swi_bitbang_samd21.h']]], - ['break',['BREAK',['../a00299.html#a8f200e8d61725d588e0b7815efb0dc25',1,'cryptoauthlib.h']]] + ['b64_5fis_5fequal',['B64_IS_EQUAL',['../a00272.html#a42f1518aca295fab198d042b18fef075',1,'atca_helpers.c']]], + ['b64_5fis_5finvalid',['B64_IS_INVALID',['../a00272.html#abd4bf9cd40bc547cd53e2ef325a1c8d0',1,'atca_helpers.c']]], + ['bit_5fdelay_5f1h',['BIT_DELAY_1H',['../a00515.html#a1ce4882b7d053eafcec22cd84fb5727d',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f1l',['BIT_DELAY_1L',['../a00515.html#ad884cf7d66d88b38180369a791a9824b',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f5',['BIT_DELAY_5',['../a00515.html#a2ced4699fc4ab5162dbb9453edecb32e',1,'swi_bitbang_samd21.h']]], + ['bit_5fdelay_5f7',['BIT_DELAY_7',['../a00515.html#abd0d20a34060650b8a2895c17f842f44',1,'swi_bitbang_samd21.h']]], + ['break',['BREAK',['../a00320.html#a8f200e8d61725d588e0b7815efb0dc25',1,'cryptoauthlib.h']]] ]; diff --git a/docs/html/search/defines_3.js b/docs/html/search/defines_3.js index 82538fd75..643f6c841 100644 --- a/docs/html/search/defines_3.js +++ b/docs/html/search/defines_3.js @@ -1,7 +1,7 @@ var searchData= [ - ['cdc_5fbuffer_5fmax',['CDC_BUFFER_MAX',['../a00455.html#a5ac8c9377f90d6ce3044f81f900a54fe',1,'hal_win_kit_cdc.h']]], - ['cdc_5fdevices_5fmax',['CDC_DEVICES_MAX',['../a00455.html#a08b6c05184266dc4d5c8727bb9c1c754',1,'hal_win_kit_cdc.h']]], - ['crypto_5fdevice_5fenable_5fsecure_5fboot',['CRYPTO_DEVICE_ENABLE_SECURE_BOOT',['../a00014.html#a78d2d5f4d0c6ce2228e32d0ed1baddee',1,'crypto_device_app.h']]], - ['crypto_5fdevice_5fload_5fconfig_5fenabled',['CRYPTO_DEVICE_LOAD_CONFIG_ENABLED',['../a00014.html#aa6f08e0b0783a9989ae5c4584668fdcc',1,'crypto_device_app.h']]] + ['cdc_5fbuffer_5fmax',['CDC_BUFFER_MAX',['../a00476.html#a5ac8c9377f90d6ce3044f81f900a54fe',1,'hal_win_kit_cdc.h']]], + ['cdc_5fdevices_5fmax',['CDC_DEVICES_MAX',['../a00476.html#a08b6c05184266dc4d5c8727bb9c1c754',1,'hal_win_kit_cdc.h']]], + ['crypto_5fdevice_5fenable_5fsecure_5fboot',['CRYPTO_DEVICE_ENABLE_SECURE_BOOT',['../a00020.html#a78d2d5f4d0c6ce2228e32d0ed1baddee',1,'crypto_device_app.h']]], + ['crypto_5fdevice_5fload_5fconfig_5fenabled',['CRYPTO_DEVICE_LOAD_CONFIG_ENABLED',['../a00020.html#aa6f08e0b0783a9989ae5c4584668fdcc',1,'crypto_device_app.h']]] ]; diff --git a/docs/html/search/defines_4.js b/docs/html/search/defines_4.js index d816699f9..d729c6e1c 100644 --- a/docs/html/search/defines_4.js +++ b/docs/html/search/defines_4.js @@ -1,9 +1,9 @@ var searchData= [ - ['dbgout',['DBGOUT',['../a00299.html#a127536c92ac8b7d05d9a325cbec19805',1,'cryptoauthlib.h']]], - ['debug_5fpin',['DEBUG_PIN',['../a00515.html#aac77b9d8c3b5ebb1caa337b6896c7080',1,'swi_uart_xmega_a3bu_asf.c']]], - ['debug_5fpin_5f1',['DEBUG_PIN_1',['../a00515.html#ab12a92582aefe426bb194e0c298e8f98',1,'swi_uart_xmega_a3bu_asf.c']]], - ['debug_5fpin_5f2',['DEBUG_PIN_2',['../a00515.html#a6a2579114d13238c7ba20d147a74090a',1,'swi_uart_xmega_a3bu_asf.c']]], - ['default_5fi2c_5fbus',['DEFAULT_I2C_BUS',['../a00476.html#a77664727b70d3a4c919604dc428d239f',1,'i2c_bitbang_samd21.c']]], - ['disable_5finterrupt',['DISABLE_INTERRUPT',['../a00479.html#a07adac5c5eb0d63bed4b79a50bcb676b',1,'i2c_bitbang_samd21.h']]] + ['dbgout',['DBGOUT',['../a00320.html#a127536c92ac8b7d05d9a325cbec19805',1,'cryptoauthlib.h']]], + ['debug_5fpin',['DEBUG_PIN',['../a00536.html#aac77b9d8c3b5ebb1caa337b6896c7080',1,'swi_uart_xmega_a3bu_asf.c']]], + ['debug_5fpin_5f1',['DEBUG_PIN_1',['../a00536.html#ab12a92582aefe426bb194e0c298e8f98',1,'swi_uart_xmega_a3bu_asf.c']]], + ['debug_5fpin_5f2',['DEBUG_PIN_2',['../a00536.html#a6a2579114d13238c7ba20d147a74090a',1,'swi_uart_xmega_a3bu_asf.c']]], + ['default_5fi2c_5fbus',['DEFAULT_I2C_BUS',['../a00497.html#a77664727b70d3a4c919604dc428d239f',1,'i2c_bitbang_samd21.c']]], + ['disable_5finterrupt',['DISABLE_INTERRUPT',['../a00500.html#a07adac5c5eb0d63bed4b79a50bcb676b',1,'i2c_bitbang_samd21.h']]] ]; diff --git a/docs/html/search/defines_5.js b/docs/html/search/defines_5.js index 673ea6b9e..2bbe19c4a 100644 --- a/docs/html/search/defines_5.js +++ b/docs/html/search/defines_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['enable_5finterrupt',['ENABLE_INTERRUPT',['../a00479.html#a6b267a18dae3dc4d7a2a0b8fdb38e701',1,'i2c_bitbang_samd21.h']]] + ['enable_5finterrupt',['ENABLE_INTERRUPT',['../a00500.html#a6b267a18dae3dc4d7a2a0b8fdb38e701',1,'i2c_bitbang_samd21.h']]] ]; diff --git a/docs/html/search/defines_6.js b/docs/html/search/defines_6.js index c6314bb55..317b45238 100644 --- a/docs/html/search/defines_6.js +++ b/docs/html/search/defines_6.js @@ -1,22 +1,22 @@ var searchData= [ - ['i2c_5fack_5ftimeout',['I2C_ACK_TIMEOUT',['../a00479.html#a4f8a83ae9459703637408a0a194445ac',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fread_5fhigh',['I2C_CLOCK_DELAY_READ_HIGH',['../a00479.html#aacc56272d59b9d3ebd0e6837727b81d8',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fread_5flow',['I2C_CLOCK_DELAY_READ_LOW',['../a00479.html#a06202abc9352b61a9b332d28530c1e8a',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fsend_5fack',['I2C_CLOCK_DELAY_SEND_ACK',['../a00479.html#a260f2a8cd964aa89a1d6946b2a99f0a4',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fwrite_5fhigh',['I2C_CLOCK_DELAY_WRITE_HIGH',['../a00479.html#abeb77b3a0a6fe395e8b7ecf498850cd7',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fdelay_5fwrite_5flow',['I2C_CLOCK_DELAY_WRITE_LOW',['../a00479.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5fhigh',['I2C_CLOCK_HIGH',['../a00479.html#a8bafe0ef98693ff1f6e1a5239f397397',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fclock_5flow',['I2C_CLOCK_LOW',['../a00479.html#a73ff0687b7b8e875a604eb441e30603b',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5fhigh',['I2C_DATA_HIGH',['../a00479.html#a97f972cfc30401e08fe25de26fcb3812',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5fin',['I2C_DATA_IN',['../a00479.html#a67750a8227bb7dffd95a6bb04821194f',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdata_5flow',['I2C_DATA_LOW',['../a00479.html#afce97c373c5ec7dff5b99e462bb8443d',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fdisable',['I2C_DISABLE',['../a00479.html#a35cdede808cc5e50ec96b86ec6d5186a',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fenable',['I2C_ENABLE',['../a00479.html#ac7dccc9e88a018aa5e25ae1ffa955e04',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fhold_5fdelay',['I2C_HOLD_DELAY',['../a00479.html#afcbe5a222e1facc4e8023c326ca8430c',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5finput',['I2C_SET_INPUT',['../a00479.html#a3f1efda7918aca40566d1323f8feb7d9',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput',['I2C_SET_OUTPUT',['../a00479.html#a704e88e63280d2b338c6d5aaa287ded6',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput_5fhigh',['I2C_SET_OUTPUT_HIGH',['../a00479.html#a560b261db9a1d59e1cd72a73da03d06c',1,'i2c_bitbang_samd21.h']]], - ['i2c_5fset_5foutput_5flow',['I2C_SET_OUTPUT_LOW',['../a00479.html#a9b2c622317087560cb142947b325cbe9',1,'i2c_bitbang_samd21.h']]], - ['io_5fprotection_5fkey_5fslot',['IO_PROTECTION_KEY_SLOT',['../a00014.html#a60c58ea0ec675162d62034323c906b9b',1,'crypto_device_app.h']]] + ['i2c_5fack_5ftimeout',['I2C_ACK_TIMEOUT',['../a00500.html#a4f8a83ae9459703637408a0a194445ac',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fread_5fhigh',['I2C_CLOCK_DELAY_READ_HIGH',['../a00500.html#aacc56272d59b9d3ebd0e6837727b81d8',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fread_5flow',['I2C_CLOCK_DELAY_READ_LOW',['../a00500.html#a06202abc9352b61a9b332d28530c1e8a',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fsend_5fack',['I2C_CLOCK_DELAY_SEND_ACK',['../a00500.html#a260f2a8cd964aa89a1d6946b2a99f0a4',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fwrite_5fhigh',['I2C_CLOCK_DELAY_WRITE_HIGH',['../a00500.html#abeb77b3a0a6fe395e8b7ecf498850cd7',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fdelay_5fwrite_5flow',['I2C_CLOCK_DELAY_WRITE_LOW',['../a00500.html#a5f8ab9b2d5d876f1541fa32b1e22e4a9',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5fhigh',['I2C_CLOCK_HIGH',['../a00500.html#a8bafe0ef98693ff1f6e1a5239f397397',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fclock_5flow',['I2C_CLOCK_LOW',['../a00500.html#a73ff0687b7b8e875a604eb441e30603b',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5fhigh',['I2C_DATA_HIGH',['../a00500.html#a97f972cfc30401e08fe25de26fcb3812',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5fin',['I2C_DATA_IN',['../a00500.html#a67750a8227bb7dffd95a6bb04821194f',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdata_5flow',['I2C_DATA_LOW',['../a00500.html#afce97c373c5ec7dff5b99e462bb8443d',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fdisable',['I2C_DISABLE',['../a00500.html#a35cdede808cc5e50ec96b86ec6d5186a',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fenable',['I2C_ENABLE',['../a00500.html#ac7dccc9e88a018aa5e25ae1ffa955e04',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fhold_5fdelay',['I2C_HOLD_DELAY',['../a00500.html#afcbe5a222e1facc4e8023c326ca8430c',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5finput',['I2C_SET_INPUT',['../a00500.html#a3f1efda7918aca40566d1323f8feb7d9',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput',['I2C_SET_OUTPUT',['../a00500.html#a704e88e63280d2b338c6d5aaa287ded6',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput_5fhigh',['I2C_SET_OUTPUT_HIGH',['../a00500.html#a560b261db9a1d59e1cd72a73da03d06c',1,'i2c_bitbang_samd21.h']]], + ['i2c_5fset_5foutput_5flow',['I2C_SET_OUTPUT_LOW',['../a00500.html#a9b2c622317087560cb142947b325cbe9',1,'i2c_bitbang_samd21.h']]], + ['io_5fprotection_5fkey_5fslot',['IO_PROTECTION_KEY_SLOT',['../a00020.html#a60c58ea0ec675162d62034323c906b9b',1,'crypto_device_app.h']]] ]; diff --git a/docs/html/search/defines_7.js b/docs/html/search/defines_7.js index 31f6ef0b5..137011157 100644 --- a/docs/html/search/defines_7.js +++ b/docs/html/search/defines_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['leftrotate',['leftRotate',['../a00290.html#a56a88d6165ee36c482ddc9b82826dd47',1,'sha1_routines.h']]], - ['log_5flocal_5flevel',['LOG_LOCAL_LEVEL',['../a00332.html#a5155a7b7465dd9b5e6167122827d0158',1,'hal_esp32_i2c.c']]] + ['leftrotate',['leftRotate',['../a00311.html#a56a88d6165ee36c482ddc9b82826dd47',1,'sha1_routines.h']]], + ['log_5flocal_5flevel',['LOG_LOCAL_LEVEL',['../a00353.html#a5155a7b7465dd9b5e6167122827d0158',1,'hal_esp32_i2c.c']]] ]; diff --git a/docs/html/search/defines_8.js b/docs/html/search/defines_8.js index af5af35c2..99475734b 100644 --- a/docs/html/search/defines_8.js +++ b/docs/html/search/defines_8.js @@ -1,7 +1,7 @@ var searchData= [ - ['max_5fbuses',['MAX_BUSES',['../a00176.html#a71478560014bace34a1ebdeab8875365',1,'atca_basic.c']]], - ['max_5fi2c_5fbuses',['MAX_I2C_BUSES',['../a00332.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_esp32_i2c.c'],['../a00479.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): i2c_bitbang_samd21.h']]], - ['max_5fswi_5fbuses',['MAX_SWI_BUSES',['../a00494.html#af9d9d027ce20f528edea144203141714',1,'swi_bitbang_samd21.h']]], - ['memcpy_5fp',['memcpy_P',['../a00290.html#a3015d84f1e64c03564961de070d25328',1,'sha1_routines.h']]] + ['max_5fbuses',['MAX_BUSES',['../a00182.html#a71478560014bace34a1ebdeab8875365',1,'atca_basic.c']]], + ['max_5fi2c_5fbuses',['MAX_I2C_BUSES',['../a00353.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): hal_esp32_i2c.c'],['../a00500.html#af89a7a4080a47aa10a5504291db285bf',1,'MAX_I2C_BUSES(): i2c_bitbang_samd21.h']]], + ['max_5fswi_5fbuses',['MAX_SWI_BUSES',['../a00515.html#af9d9d027ce20f528edea144203141714',1,'swi_bitbang_samd21.h']]], + ['memcpy_5fp',['memcpy_P',['../a00311.html#a3015d84f1e64c03564961de070d25328',1,'sha1_routines.h']]] ]; diff --git a/docs/html/search/defines_9.js b/docs/html/search/defines_9.js index 745d668ab..0e85ac56f 100644 --- a/docs/html/search/defines_9.js +++ b/docs/html/search/defines_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['nack_5fval',['NACK_VAL',['../a00332.html#ae20bf16f65c41237e2d620ef49890781',1,'hal_esp32_i2c.c']]] + ['nack_5fval',['NACK_VAL',['../a00353.html#ae20bf16f65c41237e2d620ef49890781',1,'hal_esp32_i2c.c']]] ]; diff --git a/docs/html/search/defines_a.js b/docs/html/search/defines_a.js index 2e8b070ef..74463972f 100644 --- a/docs/html/search/defines_a.js +++ b/docs/html/search/defines_a.js @@ -1,8 +1,8 @@ var searchData= [ - ['pem_5fcert_5fbegin',['PEM_CERT_BEGIN',['../a00173.html#aefb573f85f8692759f6c82587a948d71',1,'atcacert_pem.h']]], - ['pem_5fcert_5fend',['PEM_CERT_END',['../a00173.html#afbe03d95d1d6a651c01d1ef74daa4063',1,'atcacert_pem.h']]], - ['pem_5fcsr_5fbegin',['PEM_CSR_BEGIN',['../a00173.html#a006df03d5e86c2d586f02362ca66566e',1,'atcacert_pem.h']]], - ['pem_5fcsr_5fend',['PEM_CSR_END',['../a00173.html#ad7521d8913a097b0a910d00fdb664210',1,'atcacert_pem.h']]], - ['print',['PRINT',['../a00299.html#a41aa74b584c0a5946789bc6eded1e460',1,'cryptoauthlib.h']]] + ['pem_5fcert_5fbegin',['PEM_CERT_BEGIN',['../a00179.html#aefb573f85f8692759f6c82587a948d71',1,'atcacert_pem.h']]], + ['pem_5fcert_5fend',['PEM_CERT_END',['../a00179.html#afbe03d95d1d6a651c01d1ef74daa4063',1,'atcacert_pem.h']]], + ['pem_5fcsr_5fbegin',['PEM_CSR_BEGIN',['../a00179.html#a006df03d5e86c2d586f02362ca66566e',1,'atcacert_pem.h']]], + ['pem_5fcsr_5fend',['PEM_CSR_END',['../a00179.html#ad7521d8913a097b0a910d00fdb664210',1,'atcacert_pem.h']]], + ['print',['PRINT',['../a00320.html#a41aa74b584c0a5946789bc6eded1e460',1,'cryptoauthlib.h']]] ]; diff --git a/docs/html/search/defines_b.js b/docs/html/search/defines_b.js index 9140d7862..7dd31fa20 100644 --- a/docs/html/search/defines_b.js +++ b/docs/html/search/defines_b.js @@ -1,6 +1,6 @@ var searchData= [ - ['return',['RETURN',['../a00299.html#a20a55a7bc081de346786a88d3e278952',1,'cryptoauthlib.h']]], - ['rotate_5fright',['rotate_right',['../a00293.html#af34345520fa258a6a313f03c36c93fbd',1,'sha2_routines.c']]], - ['rx_5ftx_5fdelay',['RX_TX_DELAY',['../a00494.html#a60ba93807a2c0ea2ce1432245f3f7da0',1,'swi_bitbang_samd21.h']]] + ['return',['RETURN',['../a00320.html#a20a55a7bc081de346786a88d3e278952',1,'cryptoauthlib.h']]], + ['rotate_5fright',['rotate_right',['../a00314.html#af34345520fa258a6a313f03c36c93fbd',1,'sha2_routines.c']]], + ['rx_5ftx_5fdelay',['RX_TX_DELAY',['../a00515.html#a60ba93807a2c0ea2ce1432245f3f7da0',1,'swi_bitbang_samd21.h']]] ]; diff --git a/docs/html/search/defines_c.js b/docs/html/search/defines_c.js index f3cfe96a1..66f255307 100644 --- a/docs/html/search/defines_c.js +++ b/docs/html/search/defines_c.js @@ -1,30 +1,30 @@ var searchData= [ - ['scl_5fpin',['SCL_PIN',['../a00332.html#a06c967e78bcedcee909a70764f879433',1,'hal_esp32_i2c.c']]], - ['sda_5fpin',['SDA_PIN',['../a00332.html#a526d580d324bce60a3e964066fae77e3',1,'hal_esp32_i2c.c']]], - ['secure_5fboot_5fconfig_5fdisable',['SECURE_BOOT_CONFIG_DISABLE',['../a00023.html#abda1d3106b26d6e32fddd71223ecb491',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fboth',['SECURE_BOOT_CONFIG_FULL_BOTH',['../a00023.html#a5aae2464eb2bb84cec34bfd422697a27',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fdig',['SECURE_BOOT_CONFIG_FULL_DIG',['../a00023.html#a61ab82e3ca8c3f985cfc8b1a06daaced',1,'secure_boot.h']]], - ['secure_5fboot_5fconfig_5ffull_5fsign',['SECURE_BOOT_CONFIG_FULL_SIGN',['../a00023.html#a3eef897b793c9ff7430c09d88bd8bac0',1,'secure_boot.h']]], - ['secure_5fboot_5fconfiguration',['SECURE_BOOT_CONFIGURATION',['../a00023.html#a93cbf6aee50e7449217cf18f2ebfc690',1,'secure_boot.h']]], - ['secure_5fboot_5fdigest_5fencrypt_5fenabled',['SECURE_BOOT_DIGEST_ENCRYPT_ENABLED',['../a00023.html#aad47571829afb2de827111c11df184de',1,'secure_boot.h']]], - ['secure_5fboot_5fpublic_5fkey_5fslot',['SECURE_BOOT_PUBLIC_KEY_SLOT',['../a00014.html#a0bb2754dfd3576e2db410a717cfefc98',1,'crypto_device_app.h']]], - ['secure_5fboot_5fsign_5fdigest_5fslot',['SECURE_BOOT_SIGN_DIGEST_SLOT',['../a00014.html#ad3e25c542063abb044288e338e0df87a',1,'crypto_device_app.h']]], - ['secure_5fboot_5fupgrade_5fsupport',['SECURE_BOOT_UPGRADE_SUPPORT',['../a00023.html#a07cf8cf7a12bb9592fff7a31a369c1a5',1,'secure_boot.h']]], - ['sha256_5fblock_5fsize',['SHA256_BLOCK_SIZE',['../a00296.html#a9c1fe69ad43d4ca74b84303a0ed64f2f',1,'sha2_routines.h']]], - ['sha256_5fdigest_5fsize',['SHA256_DIGEST_SIZE',['../a00296.html#a81efbc0fc101b06a914f7ff9e2fbc0e9',1,'sha2_routines.h']]], - ['sign_5fcount',['SIGN_COUNT',['../a00101.html#aabff3f5b7f5391c27a0329ff0c997264',1,'atca_command.h']]], - ['sign_5fkeyid_5fidx',['SIGN_KEYID_IDX',['../a00101.html#a02f20fbee84fe680d94b94a2b2828040',1,'atca_command.h']]], - ['sign_5fmode_5fexternal',['SIGN_MODE_EXTERNAL',['../a00101.html#a9b6844bb107f02832a6d827b8c5b0fda',1,'atca_command.h']]], - ['sign_5fmode_5fidx',['SIGN_MODE_IDX',['../a00101.html#ae7cfb9eb789137f5ea9195a7a4f6b11e',1,'atca_command.h']]], - ['sign_5fmode_5finclude_5fsn',['SIGN_MODE_INCLUDE_SN',['../a00101.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116',1,'atca_command.h']]], - ['sign_5fmode_5finternal',['SIGN_MODE_INTERNAL',['../a00101.html#aced5221c0f15440eb52fa9f460956443',1,'atca_command.h']]], - ['sign_5fmode_5finvalidate',['SIGN_MODE_INVALIDATE',['../a00101.html#a1acc7b9af9cf3c6c556bd910ce4f239b',1,'atca_command.h']]], - ['sign_5fmode_5fmask',['SIGN_MODE_MASK',['../a00101.html#a88cc1851cedb6f2a73df4618dbc0b165',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5fmask',['SIGN_MODE_SOURCE_MASK',['../a00101.html#a35246a9bad0d77d26b59b542928c9e34',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5fmsgdigbuf',['SIGN_MODE_SOURCE_MSGDIGBUF',['../a00101.html#a1a38e9575eb4f714377889ce5270e60b',1,'atca_command.h']]], - ['sign_5fmode_5fsource_5ftempkey',['SIGN_MODE_SOURCE_TEMPKEY',['../a00101.html#a73670681360e1272aa13d1359e7bb275',1,'atca_command.h']]], - ['sign_5frsp_5fsize',['SIGN_RSP_SIZE',['../a00101.html#a66dba5e06f73c5df37c9d18409185f4d',1,'atca_command.h']]], - ['start_5fpulse_5ftime_5fout',['START_PULSE_TIME_OUT',['../a00494.html#ab10604796b42fb6b8eed23fc88ebd47f',1,'swi_bitbang_samd21.h']]], - ['strcpy_5fp',['strcpy_P',['../a00290.html#a3541bc4d0b928b2faa9ca63a100d1b75',1,'sha1_routines.h']]] + ['scl_5fpin',['SCL_PIN',['../a00353.html#a06c967e78bcedcee909a70764f879433',1,'hal_esp32_i2c.c']]], + ['sda_5fpin',['SDA_PIN',['../a00353.html#a526d580d324bce60a3e964066fae77e3',1,'hal_esp32_i2c.c']]], + ['secure_5fboot_5fconfig_5fdisable',['SECURE_BOOT_CONFIG_DISABLE',['../a00029.html#abda1d3106b26d6e32fddd71223ecb491',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fboth',['SECURE_BOOT_CONFIG_FULL_BOTH',['../a00029.html#a5aae2464eb2bb84cec34bfd422697a27',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fdig',['SECURE_BOOT_CONFIG_FULL_DIG',['../a00029.html#a61ab82e3ca8c3f985cfc8b1a06daaced',1,'secure_boot.h']]], + ['secure_5fboot_5fconfig_5ffull_5fsign',['SECURE_BOOT_CONFIG_FULL_SIGN',['../a00029.html#a3eef897b793c9ff7430c09d88bd8bac0',1,'secure_boot.h']]], + ['secure_5fboot_5fconfiguration',['SECURE_BOOT_CONFIGURATION',['../a00029.html#a93cbf6aee50e7449217cf18f2ebfc690',1,'secure_boot.h']]], + ['secure_5fboot_5fdigest_5fencrypt_5fenabled',['SECURE_BOOT_DIGEST_ENCRYPT_ENABLED',['../a00029.html#aad47571829afb2de827111c11df184de',1,'secure_boot.h']]], + ['secure_5fboot_5fpublic_5fkey_5fslot',['SECURE_BOOT_PUBLIC_KEY_SLOT',['../a00020.html#a0bb2754dfd3576e2db410a717cfefc98',1,'crypto_device_app.h']]], + ['secure_5fboot_5fsign_5fdigest_5fslot',['SECURE_BOOT_SIGN_DIGEST_SLOT',['../a00020.html#ad3e25c542063abb044288e338e0df87a',1,'crypto_device_app.h']]], + ['secure_5fboot_5fupgrade_5fsupport',['SECURE_BOOT_UPGRADE_SUPPORT',['../a00029.html#a07cf8cf7a12bb9592fff7a31a369c1a5',1,'secure_boot.h']]], + ['sha256_5fblock_5fsize',['SHA256_BLOCK_SIZE',['../a00317.html#a9c1fe69ad43d4ca74b84303a0ed64f2f',1,'sha2_routines.h']]], + ['sha256_5fdigest_5fsize',['SHA256_DIGEST_SIZE',['../a00317.html#a81efbc0fc101b06a914f7ff9e2fbc0e9',1,'sha2_routines.h']]], + ['sign_5fcount',['SIGN_COUNT',['../a00107.html#aabff3f5b7f5391c27a0329ff0c997264',1,'atca_command.h']]], + ['sign_5fkeyid_5fidx',['SIGN_KEYID_IDX',['../a00107.html#a02f20fbee84fe680d94b94a2b2828040',1,'atca_command.h']]], + ['sign_5fmode_5fexternal',['SIGN_MODE_EXTERNAL',['../a00107.html#a9b6844bb107f02832a6d827b8c5b0fda',1,'atca_command.h']]], + ['sign_5fmode_5fidx',['SIGN_MODE_IDX',['../a00107.html#ae7cfb9eb789137f5ea9195a7a4f6b11e',1,'atca_command.h']]], + ['sign_5fmode_5finclude_5fsn',['SIGN_MODE_INCLUDE_SN',['../a00107.html#a71b7f8f45dbbe8c19c0e5c6c41fcf116',1,'atca_command.h']]], + ['sign_5fmode_5finternal',['SIGN_MODE_INTERNAL',['../a00107.html#aced5221c0f15440eb52fa9f460956443',1,'atca_command.h']]], + ['sign_5fmode_5finvalidate',['SIGN_MODE_INVALIDATE',['../a00107.html#a1acc7b9af9cf3c6c556bd910ce4f239b',1,'atca_command.h']]], + ['sign_5fmode_5fmask',['SIGN_MODE_MASK',['../a00107.html#a88cc1851cedb6f2a73df4618dbc0b165',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5fmask',['SIGN_MODE_SOURCE_MASK',['../a00107.html#a35246a9bad0d77d26b59b542928c9e34',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5fmsgdigbuf',['SIGN_MODE_SOURCE_MSGDIGBUF',['../a00107.html#a1a38e9575eb4f714377889ce5270e60b',1,'atca_command.h']]], + ['sign_5fmode_5fsource_5ftempkey',['SIGN_MODE_SOURCE_TEMPKEY',['../a00107.html#a73670681360e1272aa13d1359e7bb275',1,'atca_command.h']]], + ['sign_5frsp_5fsize',['SIGN_RSP_SIZE',['../a00107.html#a66dba5e06f73c5df37c9d18409185f4d',1,'atca_command.h']]], + ['start_5fpulse_5ftime_5fout',['START_PULSE_TIME_OUT',['../a00515.html#ab10604796b42fb6b8eed23fc88ebd47f',1,'swi_bitbang_samd21.h']]], + ['strcpy_5fp',['strcpy_P',['../a00311.html#a3541bc4d0b928b2faa9ca63a100d1b75',1,'sha1_routines.h']]] ]; diff --git a/docs/html/search/defines_d.js b/docs/html/search/defines_d.js index 719040f73..2e306f3a3 100644 --- a/docs/html/search/defines_d.js +++ b/docs/html/search/defines_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['tbd',['TBD',['../a00179.html#a427c0d9dc4a1052229c8c75a6d126577',1,'atca_basic.h']]] + ['tbd',['TBD',['../a00185.html#a427c0d9dc4a1052229c8c75a6d126577',1,'atca_basic.h']]] ]; diff --git a/docs/html/search/defines_e.js b/docs/html/search/defines_e.js index 4ac1ad58b..0b952fe61 100644 --- a/docs/html/search/defines_e.js +++ b/docs/html/search/defines_e.js @@ -1,15 +1,15 @@ var searchData= [ - ['u16',['U16',['../a00290.html#ad0b4d315e0f0b5d356886ec69d4bed08',1,'sha1_routines.h']]], - ['u32',['U32',['../a00290.html#a8f953f379d243081b950adb7f194b2e8',1,'sha1_routines.h']]], - ['u8',['U8',['../a00290.html#a2c0958af86f0590374e4324757c537f2',1,'sha1_routines.h']]], - ['update_5fcount',['UPDATE_COUNT',['../a00101.html#aac8020f191ca7ce2b1a81fcede9b5aa2',1,'atca_command.h']]], - ['update_5fmode_5fdec_5fcounter',['UPDATE_MODE_DEC_COUNTER',['../a00101.html#a023880ad2167cc0d6cefb7f747b73c92',1,'atca_command.h']]], - ['update_5fmode_5fidx',['UPDATE_MODE_IDX',['../a00101.html#abec02770ab378eea5c604269dc8c024a',1,'atca_command.h']]], - ['update_5fmode_5fselector',['UPDATE_MODE_SELECTOR',['../a00101.html#a81bab82e6be63d8186b26bb9c3b8732c',1,'atca_command.h']]], - ['update_5fmode_5fuser_5fextra',['UPDATE_MODE_USER_EXTRA',['../a00101.html#abe02b5e0e9bb8cb4c2a727549c14ae55',1,'atca_command.h']]], - ['update_5fmode_5fuser_5fextra_5fadd',['UPDATE_MODE_USER_EXTRA_ADD',['../a00101.html#a5884f043019e78838621ba2402a8cc95',1,'atca_command.h']]], - ['update_5frsp_5fsize',['UPDATE_RSP_SIZE',['../a00101.html#aabf82974c18252bcd0c48ee99af75dfb',1,'atca_command.h']]], - ['update_5fvalue_5fidx',['UPDATE_VALUE_IDX',['../a00101.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799',1,'atca_command.h']]], - ['usart_5fbaud_5frate',['USART_BAUD_RATE',['../a00509.html#ad462f78bb4839d01e6066bdac14a6680',1,'swi_uart_start.c']]] + ['u16',['U16',['../a00311.html#ad0b4d315e0f0b5d356886ec69d4bed08',1,'sha1_routines.h']]], + ['u32',['U32',['../a00311.html#a8f953f379d243081b950adb7f194b2e8',1,'sha1_routines.h']]], + ['u8',['U8',['../a00311.html#a2c0958af86f0590374e4324757c537f2',1,'sha1_routines.h']]], + ['update_5fcount',['UPDATE_COUNT',['../a00107.html#aac8020f191ca7ce2b1a81fcede9b5aa2',1,'atca_command.h']]], + ['update_5fmode_5fdec_5fcounter',['UPDATE_MODE_DEC_COUNTER',['../a00107.html#a023880ad2167cc0d6cefb7f747b73c92',1,'atca_command.h']]], + ['update_5fmode_5fidx',['UPDATE_MODE_IDX',['../a00107.html#abec02770ab378eea5c604269dc8c024a',1,'atca_command.h']]], + ['update_5fmode_5fselector',['UPDATE_MODE_SELECTOR',['../a00107.html#a81bab82e6be63d8186b26bb9c3b8732c',1,'atca_command.h']]], + ['update_5fmode_5fuser_5fextra',['UPDATE_MODE_USER_EXTRA',['../a00107.html#abe02b5e0e9bb8cb4c2a727549c14ae55',1,'atca_command.h']]], + ['update_5fmode_5fuser_5fextra_5fadd',['UPDATE_MODE_USER_EXTRA_ADD',['../a00107.html#a5884f043019e78838621ba2402a8cc95',1,'atca_command.h']]], + ['update_5frsp_5fsize',['UPDATE_RSP_SIZE',['../a00107.html#aabf82974c18252bcd0c48ee99af75dfb',1,'atca_command.h']]], + ['update_5fvalue_5fidx',['UPDATE_VALUE_IDX',['../a00107.html#a0aacda6ef1cf79b10b3a2a7e2e9d8799',1,'atca_command.h']]], + ['usart_5fbaud_5frate',['USART_BAUD_RATE',['../a00530.html#ad462f78bb4839d01e6066bdac14a6680',1,'swi_uart_start.c']]] ]; diff --git a/docs/html/search/defines_f.js b/docs/html/search/defines_f.js index 53a4abcef..dfc636067 100644 --- a/docs/html/search/defines_f.js +++ b/docs/html/search/defines_f.js @@ -1,32 +1,32 @@ var searchData= [ - ['verify_5f256_5fexternal_5fcount',['VERIFY_256_EXTERNAL_COUNT',['../a00101.html#aae43276ff3f774ffd928ad1776592c7b',1,'atca_command.h']]], - ['verify_5f256_5fkey_5fsize',['VERIFY_256_KEY_SIZE',['../a00101.html#add994f7919c2f2b076f25ff207432686',1,'atca_command.h']]], - ['verify_5f256_5fsignature_5fsize',['VERIFY_256_SIGNATURE_SIZE',['../a00101.html#ae56700f2b05067288af3cc4af8e7f34d',1,'atca_command.h']]], - ['verify_5f256_5fstored_5fcount',['VERIFY_256_STORED_COUNT',['../a00101.html#a0b7d56888416e08f1ff67252072e3cea',1,'atca_command.h']]], - ['verify_5f256_5fvalidate_5fcount',['VERIFY_256_VALIDATE_COUNT',['../a00101.html#a677e57736342aed3a7a40704b82895d9',1,'atca_command.h']]], - ['verify_5f283_5fexternal_5fcount',['VERIFY_283_EXTERNAL_COUNT',['../a00101.html#a1a551775820d79c59f49068140e40f1b',1,'atca_command.h']]], - ['verify_5f283_5fkey_5fsize',['VERIFY_283_KEY_SIZE',['../a00101.html#af0cca41df253e49372d6853d4f5c406b',1,'atca_command.h']]], - ['verify_5f283_5fsignature_5fsize',['VERIFY_283_SIGNATURE_SIZE',['../a00101.html#a47f281930ad5bc31576ccd06e913563f',1,'atca_command.h']]], - ['verify_5f283_5fstored_5fcount',['VERIFY_283_STORED_COUNT',['../a00101.html#a3f7d34f0bcacd6c816c2b51cd13f5364',1,'atca_command.h']]], - ['verify_5f283_5fvalidate_5fcount',['VERIFY_283_VALIDATE_COUNT',['../a00101.html#ab09e6f726235fba47a2ea3f49cbfc2cb',1,'atca_command.h']]], - ['verify_5fdata_5fidx',['VERIFY_DATA_IDX',['../a00101.html#a15623038b9b0b4b51243691fe15253e2',1,'atca_command.h']]], - ['verify_5fkey_5fb283',['VERIFY_KEY_B283',['../a00101.html#a4c6b67a2a6193a1e317b6ef16ca3fca6',1,'atca_command.h']]], - ['verify_5fkey_5fk283',['VERIFY_KEY_K283',['../a00101.html#ad2eacbf59056d95e69b60f21beaafcb1',1,'atca_command.h']]], - ['verify_5fkey_5fp256',['VERIFY_KEY_P256',['../a00101.html#a94fc1ff3975c056868a169b1b836f920',1,'atca_command.h']]], - ['verify_5fkeyid_5fidx',['VERIFY_KEYID_IDX',['../a00101.html#a868d5d7ce0451e1c8f95f16092cfbc97',1,'atca_command.h']]], - ['verify_5fmode_5fexternal',['VERIFY_MODE_EXTERNAL',['../a00101.html#af3729ff16ba78ef4a6b70c341e81c749',1,'atca_command.h']]], - ['verify_5fmode_5fidx',['VERIFY_MODE_IDX',['../a00101.html#a896cc15df167f9a04f7e4f84de2bc7d2',1,'atca_command.h']]], - ['verify_5fmode_5finvalidate',['VERIFY_MODE_INVALIDATE',['../a00101.html#ab45a164ee20c8320318a3bc5e2eaa31f',1,'atca_command.h']]], - ['verify_5fmode_5fmac_5fflag',['VERIFY_MODE_MAC_FLAG',['../a00101.html#af3461e50ec2b06201d17feee167e0a4b',1,'atca_command.h']]], - ['verify_5fmode_5fmask',['VERIFY_MODE_MASK',['../a00101.html#ac892dbe1953c43e7e17b1d51ce967c9e',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5fmask',['VERIFY_MODE_SOURCE_MASK',['../a00101.html#a3d6ae4ea1e385c2f7521495b53715a3f',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5fmsgdigbuf',['VERIFY_MODE_SOURCE_MSGDIGBUF',['../a00101.html#a1b104109ce8d8c8a99484bc52d58460a',1,'atca_command.h']]], - ['verify_5fmode_5fsource_5ftempkey',['VERIFY_MODE_SOURCE_TEMPKEY',['../a00101.html#ad5c40b78682251cb07855e58bcf29f82',1,'atca_command.h']]], - ['verify_5fmode_5fstored',['VERIFY_MODE_STORED',['../a00101.html#a1da616e68f89a90e6fa3c920b4708fe2',1,'atca_command.h']]], - ['verify_5fmode_5fvalidate',['VERIFY_MODE_VALIDATE',['../a00101.html#adb7f53410523734e4c9485f2d71e7791',1,'atca_command.h']]], - ['verify_5fmode_5fvalidate_5fexternal',['VERIFY_MODE_VALIDATE_EXTERNAL',['../a00101.html#a8f38093650cd530f44dc59e6eb78fa3d',1,'atca_command.h']]], - ['verify_5fother_5fdata_5fsize',['VERIFY_OTHER_DATA_SIZE',['../a00101.html#a5a4ff6025fa5d4d936ededc78be16e47',1,'atca_command.h']]], - ['verify_5frsp_5fsize',['VERIFY_RSP_SIZE',['../a00101.html#ac75be9d5426dcf6ee196a788a35ee54b',1,'atca_command.h']]], - ['verify_5frsp_5fsize_5fmac',['VERIFY_RSP_SIZE_MAC',['../a00101.html#ace51b2a4dc8622ac3c03780dc369355e',1,'atca_command.h']]] + ['verify_5f256_5fexternal_5fcount',['VERIFY_256_EXTERNAL_COUNT',['../a00107.html#aae43276ff3f774ffd928ad1776592c7b',1,'atca_command.h']]], + ['verify_5f256_5fkey_5fsize',['VERIFY_256_KEY_SIZE',['../a00107.html#add994f7919c2f2b076f25ff207432686',1,'atca_command.h']]], + ['verify_5f256_5fsignature_5fsize',['VERIFY_256_SIGNATURE_SIZE',['../a00107.html#ae56700f2b05067288af3cc4af8e7f34d',1,'atca_command.h']]], + ['verify_5f256_5fstored_5fcount',['VERIFY_256_STORED_COUNT',['../a00107.html#a0b7d56888416e08f1ff67252072e3cea',1,'atca_command.h']]], + ['verify_5f256_5fvalidate_5fcount',['VERIFY_256_VALIDATE_COUNT',['../a00107.html#a677e57736342aed3a7a40704b82895d9',1,'atca_command.h']]], + ['verify_5f283_5fexternal_5fcount',['VERIFY_283_EXTERNAL_COUNT',['../a00107.html#a1a551775820d79c59f49068140e40f1b',1,'atca_command.h']]], + ['verify_5f283_5fkey_5fsize',['VERIFY_283_KEY_SIZE',['../a00107.html#af0cca41df253e49372d6853d4f5c406b',1,'atca_command.h']]], + ['verify_5f283_5fsignature_5fsize',['VERIFY_283_SIGNATURE_SIZE',['../a00107.html#a47f281930ad5bc31576ccd06e913563f',1,'atca_command.h']]], + ['verify_5f283_5fstored_5fcount',['VERIFY_283_STORED_COUNT',['../a00107.html#a3f7d34f0bcacd6c816c2b51cd13f5364',1,'atca_command.h']]], + ['verify_5f283_5fvalidate_5fcount',['VERIFY_283_VALIDATE_COUNT',['../a00107.html#ab09e6f726235fba47a2ea3f49cbfc2cb',1,'atca_command.h']]], + ['verify_5fdata_5fidx',['VERIFY_DATA_IDX',['../a00107.html#a15623038b9b0b4b51243691fe15253e2',1,'atca_command.h']]], + ['verify_5fkey_5fb283',['VERIFY_KEY_B283',['../a00107.html#a4c6b67a2a6193a1e317b6ef16ca3fca6',1,'atca_command.h']]], + ['verify_5fkey_5fk283',['VERIFY_KEY_K283',['../a00107.html#ad2eacbf59056d95e69b60f21beaafcb1',1,'atca_command.h']]], + ['verify_5fkey_5fp256',['VERIFY_KEY_P256',['../a00107.html#a94fc1ff3975c056868a169b1b836f920',1,'atca_command.h']]], + ['verify_5fkeyid_5fidx',['VERIFY_KEYID_IDX',['../a00107.html#a868d5d7ce0451e1c8f95f16092cfbc97',1,'atca_command.h']]], + ['verify_5fmode_5fexternal',['VERIFY_MODE_EXTERNAL',['../a00107.html#af3729ff16ba78ef4a6b70c341e81c749',1,'atca_command.h']]], + ['verify_5fmode_5fidx',['VERIFY_MODE_IDX',['../a00107.html#a896cc15df167f9a04f7e4f84de2bc7d2',1,'atca_command.h']]], + ['verify_5fmode_5finvalidate',['VERIFY_MODE_INVALIDATE',['../a00107.html#ab45a164ee20c8320318a3bc5e2eaa31f',1,'atca_command.h']]], + ['verify_5fmode_5fmac_5fflag',['VERIFY_MODE_MAC_FLAG',['../a00107.html#af3461e50ec2b06201d17feee167e0a4b',1,'atca_command.h']]], + ['verify_5fmode_5fmask',['VERIFY_MODE_MASK',['../a00107.html#ac892dbe1953c43e7e17b1d51ce967c9e',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5fmask',['VERIFY_MODE_SOURCE_MASK',['../a00107.html#a3d6ae4ea1e385c2f7521495b53715a3f',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5fmsgdigbuf',['VERIFY_MODE_SOURCE_MSGDIGBUF',['../a00107.html#a1b104109ce8d8c8a99484bc52d58460a',1,'atca_command.h']]], + ['verify_5fmode_5fsource_5ftempkey',['VERIFY_MODE_SOURCE_TEMPKEY',['../a00107.html#ad5c40b78682251cb07855e58bcf29f82',1,'atca_command.h']]], + ['verify_5fmode_5fstored',['VERIFY_MODE_STORED',['../a00107.html#a1da616e68f89a90e6fa3c920b4708fe2',1,'atca_command.h']]], + ['verify_5fmode_5fvalidate',['VERIFY_MODE_VALIDATE',['../a00107.html#adb7f53410523734e4c9485f2d71e7791',1,'atca_command.h']]], + ['verify_5fmode_5fvalidate_5fexternal',['VERIFY_MODE_VALIDATE_EXTERNAL',['../a00107.html#a8f38093650cd530f44dc59e6eb78fa3d',1,'atca_command.h']]], + ['verify_5fother_5fdata_5fsize',['VERIFY_OTHER_DATA_SIZE',['../a00107.html#a5a4ff6025fa5d4d936ededc78be16e47',1,'atca_command.h']]], + ['verify_5frsp_5fsize',['VERIFY_RSP_SIZE',['../a00107.html#ac75be9d5426dcf6ee196a788a35ee54b',1,'atca_command.h']]], + ['verify_5frsp_5fsize_5fmac',['VERIFY_RSP_SIZE_MAC',['../a00107.html#ace51b2a4dc8622ac3c03780dc369355e',1,'atca_command.h']]] ]; diff --git a/docs/html/search/enums_0.js b/docs/html/search/enums_0.js index 99b599f37..6f5cdabe0 100644 --- a/docs/html/search/enums_0.js +++ b/docs/html/search/enums_0.js @@ -1,11 +1,11 @@ var searchData= [ - ['atca_5fstatus',['ATCA_STATUS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cd',1,'atca_status.h']]], - ['atcacert_5fcert_5fsn_5fsrc_5fe',['atcacert_cert_sn_src_e',['../a03534.html#ga813047a656af7fe578d28fd54c840e8e',1,'atcacert_def.h']]], - ['atcacert_5fcert_5ftype_5fe',['atcacert_cert_type_e',['../a03534.html#ga5430f01929cd7269e04db08d1f28642f',1,'atcacert_def.h']]], - ['atcacert_5fdate_5fformat_5fe',['atcacert_date_format_e',['../a03534.html#ga62a103735770a0f935a472fc2c1d78db',1,'atcacert_date.h']]], - ['atcacert_5fdevice_5fzone_5fe',['atcacert_device_zone_e',['../a03534.html#ga1c0876228cb459f64347a63f3bae4c73',1,'atcacert_def.h']]], - ['atcacert_5fstd_5fcert_5felement_5fe',['atcacert_std_cert_element_e',['../a03534.html#ga77184d0c71198b489ea9b57d07da824e',1,'atcacert_def.h']]], - ['atcadevicetype',['ATCADeviceType',['../a03532.html#gafb234ccd6a80d09c0efbe336c2354267',1,'atca_devtypes.h']]], - ['atcaifacetype',['ATCAIfaceType',['../a03533.html#gac7f674d4a0afb12d2f3c9c5e98cb1089',1,'atca_iface.h']]] + ['atca_5fstatus',['ATCA_STATUS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cd',1,'atca_status.h']]], + ['atcacert_5fcert_5fsn_5fsrc_5fe',['atcacert_cert_sn_src_e',['../a00909.html#ga813047a656af7fe578d28fd54c840e8e',1,'atcacert_def.h']]], + ['atcacert_5fcert_5ftype_5fe',['atcacert_cert_type_e',['../a00909.html#ga5430f01929cd7269e04db08d1f28642f',1,'atcacert_def.h']]], + ['atcacert_5fdate_5fformat_5fe',['atcacert_date_format_e',['../a00909.html#ga62a103735770a0f935a472fc2c1d78db',1,'atcacert_date.h']]], + ['atcacert_5fdevice_5fzone_5fe',['atcacert_device_zone_e',['../a00909.html#ga1c0876228cb459f64347a63f3bae4c73',1,'atcacert_def.h']]], + ['atcacert_5fstd_5fcert_5felement_5fe',['atcacert_std_cert_element_e',['../a00909.html#ga77184d0c71198b489ea9b57d07da824e',1,'atcacert_def.h']]], + ['atcadevicetype',['ATCADeviceType',['../a00907.html#gafb234ccd6a80d09c0efbe336c2354267',1,'atca_devtypes.h']]], + ['atcaifacetype',['ATCAIfaceType',['../a00908.html#gac7f674d4a0afb12d2f3c9c5e98cb1089',1,'atca_iface.h']]] ]; diff --git a/docs/html/search/enums_1.js b/docs/html/search/enums_1.js index 8a684a6fc..16295404f 100644 --- a/docs/html/search/enums_1.js +++ b/docs/html/search/enums_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['i2c_5fread_5fwrite_5fflag',['i2c_read_write_flag',['../a03537.html#gaa3e90779b37cd1b3a4d32321d9d8b772',1,'hal_i2c_bitbang.h']]] + ['i2c_5fread_5fwrite_5fflag',['i2c_read_write_flag',['../a00912.html#gaa3e90779b37cd1b3a4d32321d9d8b772',1,'hal_i2c_bitbang.h']]] ]; diff --git a/docs/html/search/enums_2.js b/docs/html/search/enums_2.js index 4a828b336..6d2b7769e 100644 --- a/docs/html/search/enums_2.js +++ b/docs/html/search/enums_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['swi_5fflag',['swi_flag',['../a03537.html#ga8759b00e645502d0f1c3b7330e20e52b',1,'hal_swi_bitbang.h']]] + ['swi_5fflag',['swi_flag',['../a00912.html#ga8759b00e645502d0f1c3b7330e20e52b',1,'hal_swi_bitbang.h']]] ]; diff --git a/docs/html/search/enumvalues_0.js b/docs/html/search/enumvalues_0.js index c86e6e195..3c2aeddc9 100644 --- a/docs/html/search/enumvalues_0.js +++ b/docs/html/search/enumvalues_0.js @@ -1,51 +1,51 @@ var searchData= [ - ['atca_5falloc_5ffailure',['ATCA_ALLOC_FAILURE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1',1,'atca_status.h']]], - ['atca_5fassert_5ffailure',['ATCA_ASSERT_FAILURE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09',1,'atca_status.h']]], - ['atca_5fbad_5fopcode',['ATCA_BAD_OPCODE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15',1,'atca_status.h']]], - ['atca_5fbad_5fparam',['ATCA_BAD_PARAM',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200',1,'atca_status.h']]], - ['atca_5fcheckmac_5fverify_5ffailed',['ATCA_CHECKMAC_VERIFY_FAILED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2',1,'atca_status.h']]], - ['atca_5fcomm_5ffail',['ATCA_COMM_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240',1,'atca_status.h']]], - ['atca_5fconfig_5fzone_5flocked',['ATCA_CONFIG_ZONE_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0',1,'atca_status.h']]], - ['atca_5fcustom_5fiface',['ATCA_CUSTOM_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d',1,'atca_iface.h']]], - ['atca_5fdata_5fzone_5flocked',['ATCA_DATA_ZONE_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f',1,'atca_status.h']]], - ['atca_5fdev_5funknown',['ATCA_DEV_UNKNOWN',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad',1,'atca_devtypes.h']]], - ['atca_5fexecution_5ferror',['ATCA_EXECUTION_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b',1,'atca_status.h']]], - ['atca_5ffunc_5ffail',['ATCA_FUNC_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db',1,'atca_status.h']]], - ['atca_5fgen_5ffail',['ATCA_GEN_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4',1,'atca_status.h']]], - ['atca_5fhealth_5ftest_5ferror',['ATCA_HEALTH_TEST_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d',1,'atca_status.h']]], - ['atca_5fhid_5fiface',['ATCA_HID_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1',1,'atca_iface.h']]], - ['atca_5fi2c_5fiface',['ATCA_I2C_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb',1,'atca_iface.h']]], - ['atca_5finvalid_5fid',['ATCA_INVALID_ID',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816',1,'atca_status.h']]], - ['atca_5finvalid_5fsize',['ATCA_INVALID_SIZE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5',1,'atca_status.h']]], - ['atca_5fno_5fdevices',['ATCA_NO_DEVICES',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822',1,'atca_status.h']]], - ['atca_5fnot_5flocked',['ATCA_NOT_LOCKED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8',1,'atca_status.h']]], - ['atca_5fparity_5ferror',['ATCA_PARITY_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3',1,'atca_status.h']]], - ['atca_5fparse_5ferror',['ATCA_PARSE_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95',1,'atca_status.h']]], - ['atca_5fresync_5fwith_5fwakeup',['ATCA_RESYNC_WITH_WAKEUP',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be',1,'atca_status.h']]], - ['atca_5frx_5fcrc_5ferror',['ATCA_RX_CRC_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9',1,'atca_status.h']]], - ['atca_5frx_5ffail',['ATCA_RX_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4',1,'atca_status.h']]], - ['atca_5frx_5fno_5fresponse',['ATCA_RX_NO_RESPONSE',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276',1,'atca_status.h']]], - ['atca_5frx_5ftimeout',['ATCA_RX_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d',1,'atca_status.h']]], - ['atca_5fsmall_5fbuffer',['ATCA_SMALL_BUFFER',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743',1,'atca_status.h']]], - ['atca_5fspi_5fiface',['ATCA_SPI_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7',1,'atca_iface.h']]], - ['atca_5fstatus_5fcrc',['ATCA_STATUS_CRC',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228',1,'atca_status.h']]], - ['atca_5fstatus_5fecc',['ATCA_STATUS_ECC',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77',1,'atca_status.h']]], - ['atca_5fstatus_5fselftest_5ferror',['ATCA_STATUS_SELFTEST_ERROR',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f',1,'atca_status.h']]], - ['atca_5fstatus_5funknown',['ATCA_STATUS_UNKNOWN',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f',1,'atca_status.h']]], - ['atca_5fsuccess',['ATCA_SUCCESS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7',1,'atca_status.h']]], - ['atca_5fswi_5fiface',['ATCA_SWI_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26',1,'atca_iface.h']]], - ['atca_5ftimeout',['ATCA_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31',1,'atca_status.h']]], - ['atca_5ftoo_5fmany_5fcomm_5fretries',['ATCA_TOO_MANY_COMM_RETRIES',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7',1,'atca_status.h']]], - ['atca_5ftx_5ffail',['ATCA_TX_FAIL',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb',1,'atca_status.h']]], - ['atca_5ftx_5ftimeout',['ATCA_TX_TIMEOUT',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae',1,'atca_status.h']]], - ['atca_5fuart_5fiface',['ATCA_UART_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d',1,'atca_iface.h']]], - ['atca_5funimplemented',['ATCA_UNIMPLEMENTED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450',1,'atca_status.h']]], - ['atca_5funknown_5fiface',['ATCA_UNKNOWN_IFACE',['../a03533.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec',1,'atca_iface.h']]], - ['atca_5fwake_5ffailed',['ATCA_WAKE_FAILED',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42',1,'atca_status.h']]], - ['atca_5fwake_5fsuccess',['ATCA_WAKE_SUCCESS',['../a00128.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a',1,'atca_status.h']]], - ['atecc108a',['ATECC108A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c',1,'atca_devtypes.h']]], - ['atecc508a',['ATECC508A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae',1,'atca_devtypes.h']]], - ['atecc608a',['ATECC608A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf',1,'atca_devtypes.h']]], - ['atsha204a',['ATSHA204A',['../a03532.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268',1,'atca_devtypes.h']]] + ['atca_5falloc_5ffailure',['ATCA_ALLOC_FAILURE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaad5884e38c8b63abe918948d3c26daa1',1,'atca_status.h']]], + ['atca_5fassert_5ffailure',['ATCA_ASSERT_FAILURE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2947392fc8a0455a9509335d3f64cb09',1,'atca_status.h']]], + ['atca_5fbad_5fopcode',['ATCA_BAD_OPCODE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdac631bde2407acd3f08f133e24fdd3c15',1,'atca_status.h']]], + ['atca_5fbad_5fparam',['ATCA_BAD_PARAM',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda62c3bf678bec6c76a516c24803786200',1,'atca_status.h']]], + ['atca_5fcheckmac_5fverify_5ffailed',['ATCA_CHECKMAC_VERIFY_FAILED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4516d5c9a8fafb8611a0e1f65da690d2',1,'atca_status.h']]], + ['atca_5fcomm_5ffail',['ATCA_COMM_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaac27ddd7be6ceb9266f9b4bb68ee9240',1,'atca_status.h']]], + ['atca_5fconfig_5fzone_5flocked',['ATCA_CONFIG_ZONE_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf54a8014ca61abe303627b25c4e7a4a0',1,'atca_status.h']]], + ['atca_5fcustom_5fiface',['ATCA_CUSTOM_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a1da1522f46e7dbd1a928ff130594561d',1,'atca_iface.h']]], + ['atca_5fdata_5fzone_5flocked',['ATCA_DATA_ZONE_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaebbcd7a74d20b8314f670cfff4f1ea7f',1,'atca_status.h']]], + ['atca_5fdev_5funknown',['ATCA_DEV_UNKNOWN',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a3488f672341dda0ad20508ad888280ad',1,'atca_devtypes.h']]], + ['atca_5fexecution_5ferror',['ATCA_EXECUTION_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6f9dffadd0c7650308ae015aaafb031b',1,'atca_status.h']]], + ['atca_5ffunc_5ffail',['ATCA_FUNC_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda255cf588a99696239289c2af088d91db',1,'atca_status.h']]], + ['atca_5fgen_5ffail',['ATCA_GEN_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf910a3a4d6553e2630db57c678ee3ed4',1,'atca_status.h']]], + ['atca_5fhealth_5ftest_5ferror',['ATCA_HEALTH_TEST_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda269497d1618eb45c717e62d7bf583b2d',1,'atca_status.h']]], + ['atca_5fhid_5fiface',['ATCA_HID_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a7da282c54282a02f5650c38a85d0dfb1',1,'atca_iface.h']]], + ['atca_5fi2c_5fiface',['ATCA_I2C_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a872efba3aa5b7890acfe0f1e0e453bcb',1,'atca_iface.h']]], + ['atca_5finvalid_5fid',['ATCA_INVALID_ID',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda463fbd86bef717279ef8190432488816',1,'atca_status.h']]], + ['atca_5finvalid_5fsize',['ATCA_INVALID_SIZE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda87c2eb3e423be47222aab4fe42e615d5',1,'atca_status.h']]], + ['atca_5fno_5fdevices',['ATCA_NO_DEVICES',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda19e30a952ff321d7d08ba3f2350ca822',1,'atca_status.h']]], + ['atca_5fnot_5flocked',['ATCA_NOT_LOCKED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaaecfbe2627d615c7daaece08ccce2ce8',1,'atca_status.h']]], + ['atca_5fparity_5ferror',['ATCA_PARITY_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4e5e63313a42c77753edf15c2f4432c3',1,'atca_status.h']]], + ['atca_5fparse_5ferror',['ATCA_PARSE_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda2d4ca6eadbad97c04c4dee878a579f95',1,'atca_status.h']]], + ['atca_5fresync_5fwith_5fwakeup',['ATCA_RESYNC_WITH_WAKEUP',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda65ec21c2404b0325721c3d468a1162be',1,'atca_status.h']]], + ['atca_5frx_5fcrc_5ferror',['ATCA_RX_CRC_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda0f0a7283079048d1c924aafffb4485b9',1,'atca_status.h']]], + ['atca_5frx_5ffail',['ATCA_RX_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda84104123e4dee21b14f08b301aaa69e4',1,'atca_status.h']]], + ['atca_5frx_5fno_5fresponse',['ATCA_RX_NO_RESPONSE',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdae72eb9733119411a45f2b16d9afdf276',1,'atca_status.h']]], + ['atca_5frx_5ftimeout',['ATCA_RX_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda66744f63f44d844af8575d81a4a9198d',1,'atca_status.h']]], + ['atca_5fsmall_5fbuffer',['ATCA_SMALL_BUFFER',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdafb5e6ce1eef61f07757349f1c59fb743',1,'atca_status.h']]], + ['atca_5fspi_5fiface',['ATCA_SPI_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a8d50943acfc67f797b9c8fbf565deeb7',1,'atca_iface.h']]], + ['atca_5fstatus_5fcrc',['ATCA_STATUS_CRC',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda4ccbb9f75fbf5cad8f0de6e07efe4228',1,'atca_status.h']]], + ['atca_5fstatus_5fecc',['ATCA_STATUS_ECC',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda460a9516a4da1c7fc747208b2b9b2c77',1,'atca_status.h']]], + ['atca_5fstatus_5fselftest_5ferror',['ATCA_STATUS_SELFTEST_ERROR',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaace56e3f04ee46a82fbceef8655dec2f',1,'atca_status.h']]], + ['atca_5fstatus_5funknown',['ATCA_STATUS_UNKNOWN',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda86e098be693e09a11652418c77f5d55f',1,'atca_status.h']]], + ['atca_5fsuccess',['ATCA_SUCCESS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda90f078b947261727ad1757447898afe7',1,'atca_status.h']]], + ['atca_5fswi_5fiface',['ATCA_SWI_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a2ce2e46b7f4245ab3d750ea2805fdc26',1,'atca_iface.h']]], + ['atca_5ftimeout',['ATCA_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda21aad8f6ba69867aca39a5ef12336d31',1,'atca_status.h']]], + ['atca_5ftoo_5fmany_5fcomm_5fretries',['ATCA_TOO_MANY_COMM_RETRIES',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3f3a46632bae84ce7cd167cc3112f8e7',1,'atca_status.h']]], + ['atca_5ftx_5ffail',['ATCA_TX_FAIL',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cdaf09e5ac50687bb7ebd4ae8c2ea6e00bb',1,'atca_status.h']]], + ['atca_5ftx_5ftimeout',['ATCA_TX_TIMEOUT',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda3454fb56851ff7bf93c7ceb8ba8058ae',1,'atca_status.h']]], + ['atca_5fuart_5fiface',['ATCA_UART_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089a80ec8c070f1c711f2b16ad39d2a0486d',1,'atca_iface.h']]], + ['atca_5funimplemented',['ATCA_UNIMPLEMENTED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda7c8dbba1062b6b1ddbf5a0d811b90450',1,'atca_status.h']]], + ['atca_5funknown_5fiface',['ATCA_UNKNOWN_IFACE',['../a00908.html#ggac7f674d4a0afb12d2f3c9c5e98cb1089ac300244b5b323ee44001db318f365cec',1,'atca_iface.h']]], + ['atca_5fwake_5ffailed',['ATCA_WAKE_FAILED',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda5d16ae933fc359fd2fd58ea743d95b42',1,'atca_status.h']]], + ['atca_5fwake_5fsuccess',['ATCA_WAKE_SUCCESS',['../a00134.html#a22bd6643f31f1d75dc3e7ea939f468cda6475b27da302e0fc614a6d28b9ecf83a',1,'atca_status.h']]], + ['atecc108a',['ATECC108A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a20efd97b5b1001eec4a52e0ed5bf594c',1,'atca_devtypes.h']]], + ['atecc508a',['ATECC508A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267af463439df0f95803fc57cc58bbff2dae',1,'atca_devtypes.h']]], + ['atecc608a',['ATECC608A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a183a6224a93e6c2b82c6dc0e132398bf',1,'atca_devtypes.h']]], + ['atsha204a',['ATSHA204A',['../a00907.html#ggafb234ccd6a80d09c0efbe336c2354267a91729743caf308351a2b47c58536d268',1,'atca_devtypes.h']]] ]; diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js index 5cd7d12f7..bf91bd220 100644 --- a/docs/html/search/enumvalues_1.js +++ b/docs/html/search/enumvalues_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['certtype_5fcustom',['CERTTYPE_CUSTOM',['../a03534.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb',1,'atcacert_def.h']]], - ['certtype_5fx509',['CERTTYPE_X509',['../a03534.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44',1,'atcacert_def.h']]] + ['certtype_5fcustom',['CERTTYPE_CUSTOM',['../a00909.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb',1,'atcacert_def.h']]], + ['certtype_5fx509',['CERTTYPE_X509',['../a00909.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44',1,'atcacert_def.h']]] ]; diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js index e19ad0d98..649136433 100644 --- a/docs/html/search/enumvalues_2.js +++ b/docs/html/search/enumvalues_2.js @@ -1,12 +1,12 @@ var searchData= [ - ['datefmt_5fiso8601_5fsep',['DATEFMT_ISO8601_SEP',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fbe',['DATEFMT_POSIX_UINT32_BE',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a',1,'atcacert_date.h']]], - ['datefmt_5fposix_5fuint32_5fle',['DATEFMT_POSIX_UINT32_LE',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5fgen',['DATEFMT_RFC5280_GEN',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e',1,'atcacert_date.h']]], - ['datefmt_5frfc5280_5futc',['DATEFMT_RFC5280_UTC',['../a03534.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d',1,'atcacert_date.h']]], - ['devzone_5fconfig',['DEVZONE_CONFIG',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207',1,'atcacert_def.h']]], - ['devzone_5fdata',['DEVZONE_DATA',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb',1,'atcacert_def.h']]], - ['devzone_5fnone',['DEVZONE_NONE',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05',1,'atcacert_def.h']]], - ['devzone_5fotp',['DEVZONE_OTP',['../a03534.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea',1,'atcacert_def.h']]] + ['datefmt_5fiso8601_5fsep',['DATEFMT_ISO8601_SEP',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dba593aa8634c6a3d493cb7bebe4a40a8b5',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fbe',['DATEFMT_POSIX_UINT32_BE',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbacfca1392e4cde6f2d467f9f69641890a',1,'atcacert_date.h']]], + ['datefmt_5fposix_5fuint32_5fle',['DATEFMT_POSIX_UINT32_LE',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dba24c30a16c9f26257dcd0464b7aa69161',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5fgen',['DATEFMT_RFC5280_GEN',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbac95f38ee25fdaad80fb77dcf9d71a93e',1,'atcacert_date.h']]], + ['datefmt_5frfc5280_5futc',['DATEFMT_RFC5280_UTC',['../a00909.html#gga62a103735770a0f935a472fc2c1d78dbad080b870f84643db2fdc7934560c322d',1,'atcacert_date.h']]], + ['devzone_5fconfig',['DEVZONE_CONFIG',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207',1,'atcacert_def.h']]], + ['devzone_5fdata',['DEVZONE_DATA',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb',1,'atcacert_def.h']]], + ['devzone_5fnone',['DEVZONE_NONE',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05',1,'atcacert_def.h']]], + ['devzone_5fotp',['DEVZONE_OTP',['../a00909.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea',1,'atcacert_def.h']]] ]; diff --git a/docs/html/search/enumvalues_3.js b/docs/html/search/enumvalues_3.js index 08e897b0f..68a75b3ad 100644 --- a/docs/html/search/enumvalues_3.js +++ b/docs/html/search/enumvalues_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['i2c_5fread',['I2C_READ',['../a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8',1,'hal_i2c_bitbang.h']]], - ['i2c_5fwrite',['I2C_WRITE',['../a03537.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2',1,'hal_i2c_bitbang.h']]] + ['i2c_5fread',['I2C_READ',['../a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772a30040082a257338fe25e5bd5136bc9a8',1,'hal_i2c_bitbang.h']]], + ['i2c_5fwrite',['I2C_WRITE',['../a00912.html#ggaa3e90779b37cd1b3a4d32321d9d8b772adbf6337ed546b3c21fd08c397a346bb2',1,'hal_i2c_bitbang.h']]] ]; diff --git a/docs/html/search/enumvalues_4.js b/docs/html/search/enumvalues_4.js index 9e17bc7cc..611065d13 100644 --- a/docs/html/search/enumvalues_4.js +++ b/docs/html/search/enumvalues_4.js @@ -1,26 +1,26 @@ var searchData= [ - ['snsrc_5fdevice_5fsn',['SNSRC_DEVICE_SN',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash',['SNSRC_DEVICE_SN_HASH',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash_5fpos',['SNSRC_DEVICE_SN_HASH_POS',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7',1,'atcacert_def.h']]], - ['snsrc_5fdevice_5fsn_5fhash_5fraw',['SNSRC_DEVICE_SN_HASH_RAW',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash',['SNSRC_PUB_KEY_HASH',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash_5fpos',['SNSRC_PUB_KEY_HASH_POS',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5',1,'atcacert_def.h']]], - ['snsrc_5fpub_5fkey_5fhash_5fraw',['SNSRC_PUB_KEY_HASH_RAW',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972',1,'atcacert_def.h']]], - ['snsrc_5fsigner_5fid',['SNSRC_SIGNER_ID',['../a03534.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff',1,'atcacert_def.h']]], - ['snsrc_5fstored',['SNSRC_STORED',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1',1,'atcacert_def.h']]], - ['snsrc_5fstored_5fdynamic',['SNSRC_STORED_DYNAMIC',['../a03534.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b',1,'atcacert_def.h']]], - ['stdcert_5fauth_5fkey_5fid',['STDCERT_AUTH_KEY_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106',1,'atcacert_def.h']]], - ['stdcert_5fcert_5fsn',['STDCERT_CERT_SN',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc',1,'atcacert_def.h']]], - ['stdcert_5fexpire_5fdate',['STDCERT_EXPIRE_DATE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604',1,'atcacert_def.h']]], - ['stdcert_5fissue_5fdate',['STDCERT_ISSUE_DATE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15',1,'atcacert_def.h']]], - ['stdcert_5fnum_5felements',['STDCERT_NUM_ELEMENTS',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f',1,'atcacert_def.h']]], - ['stdcert_5fpublic_5fkey',['STDCERT_PUBLIC_KEY',['../a03534.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68',1,'atcacert_def.h']]], - ['stdcert_5fsignature',['STDCERT_SIGNATURE',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc',1,'atcacert_def.h']]], - ['stdcert_5fsigner_5fid',['STDCERT_SIGNER_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3',1,'atcacert_def.h']]], - ['stdcert_5fsubj_5fkey_5fid',['STDCERT_SUBJ_KEY_ID',['../a03534.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585',1,'atcacert_def.h']]], - ['swi_5fflag_5fcmd',['SWI_FLAG_CMD',['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340',1,'hal_swi_bitbang.h']]], - ['swi_5fflag_5fidle',['SWI_FLAG_IDLE',['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a',1,'hal_swi_bitbang.h']]], - ['swi_5fflag_5fsleep',['SWI_FLAG_SLEEP',['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7',1,'hal_swi_bitbang.h']]], - ['swi_5fflag_5ftx',['SWI_FLAG_TX',['../a03537.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f',1,'hal_swi_bitbang.h']]] + ['snsrc_5fdevice_5fsn',['SNSRC_DEVICE_SN',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash',['SNSRC_DEVICE_SN_HASH',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash_5fpos',['SNSRC_DEVICE_SN_HASH_POS',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7',1,'atcacert_def.h']]], + ['snsrc_5fdevice_5fsn_5fhash_5fraw',['SNSRC_DEVICE_SN_HASH_RAW',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash',['SNSRC_PUB_KEY_HASH',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash_5fpos',['SNSRC_PUB_KEY_HASH_POS',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5',1,'atcacert_def.h']]], + ['snsrc_5fpub_5fkey_5fhash_5fraw',['SNSRC_PUB_KEY_HASH_RAW',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972',1,'atcacert_def.h']]], + ['snsrc_5fsigner_5fid',['SNSRC_SIGNER_ID',['../a00909.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff',1,'atcacert_def.h']]], + ['snsrc_5fstored',['SNSRC_STORED',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1',1,'atcacert_def.h']]], + ['snsrc_5fstored_5fdynamic',['SNSRC_STORED_DYNAMIC',['../a00909.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b',1,'atcacert_def.h']]], + ['stdcert_5fauth_5fkey_5fid',['STDCERT_AUTH_KEY_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106',1,'atcacert_def.h']]], + ['stdcert_5fcert_5fsn',['STDCERT_CERT_SN',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc',1,'atcacert_def.h']]], + ['stdcert_5fexpire_5fdate',['STDCERT_EXPIRE_DATE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604',1,'atcacert_def.h']]], + ['stdcert_5fissue_5fdate',['STDCERT_ISSUE_DATE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15',1,'atcacert_def.h']]], + ['stdcert_5fnum_5felements',['STDCERT_NUM_ELEMENTS',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f',1,'atcacert_def.h']]], + ['stdcert_5fpublic_5fkey',['STDCERT_PUBLIC_KEY',['../a00909.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68',1,'atcacert_def.h']]], + ['stdcert_5fsignature',['STDCERT_SIGNATURE',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc',1,'atcacert_def.h']]], + ['stdcert_5fsigner_5fid',['STDCERT_SIGNER_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3',1,'atcacert_def.h']]], + ['stdcert_5fsubj_5fkey_5fid',['STDCERT_SUBJ_KEY_ID',['../a00909.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585',1,'atcacert_def.h']]], + ['swi_5fflag_5fcmd',['SWI_FLAG_CMD',['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52babacdf58fcbc837d4c4e6d9640e157340',1,'hal_swi_bitbang.h']]], + ['swi_5fflag_5fidle',['SWI_FLAG_IDLE',['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52baeb0778b0887019be95260a2c0420d21a',1,'hal_swi_bitbang.h']]], + ['swi_5fflag_5fsleep',['SWI_FLAG_SLEEP',['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba1d93b236433ad7d6c2b82659009f42f7',1,'hal_swi_bitbang.h']]], + ['swi_5fflag_5ftx',['SWI_FLAG_TX',['../a00912.html#gga8759b00e645502d0f1c3b7330e20e52ba17fa7af18b61921986085f42fc05cc9f',1,'hal_swi_bitbang.h']]] ]; diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js index e97abc44f..b4aea03c2 100644 --- a/docs/html/search/files_0.js +++ b/docs/html/search/files_0.js @@ -1,77 +1,82 @@ var searchData= [ - ['atca_5fbasic_2ec',['atca_basic.c',['../a00176.html',1,'']]], - ['atca_5fbasic_2eh',['atca_basic.h',['../a00179.html',1,'']]], - ['atca_5fbasic_5faes_2ec',['atca_basic_aes.c',['../a00182.html',1,'']]], - ['atca_5fbasic_5fcheckmac_2ec',['atca_basic_checkmac.c',['../a00185.html',1,'']]], - ['atca_5fbasic_5fcounter_2ec',['atca_basic_counter.c',['../a00188.html',1,'']]], - ['atca_5fbasic_5fderivekey_2ec',['atca_basic_derivekey.c',['../a00191.html',1,'']]], - ['atca_5fbasic_5fecdh_2ec',['atca_basic_ecdh.c',['../a00194.html',1,'']]], - ['atca_5fbasic_5fgendig_2ec',['atca_basic_gendig.c',['../a00197.html',1,'']]], - ['atca_5fbasic_5fgenkey_2ec',['atca_basic_genkey.c',['../a00200.html',1,'']]], - ['atca_5fbasic_5fhmac_2ec',['atca_basic_hmac.c',['../a00203.html',1,'']]], - ['atca_5fbasic_5finfo_2ec',['atca_basic_info.c',['../a00206.html',1,'']]], - ['atca_5fbasic_5fkdf_2ec',['atca_basic_kdf.c',['../a00209.html',1,'']]], - ['atca_5fbasic_5flock_2ec',['atca_basic_lock.c',['../a00212.html',1,'']]], - ['atca_5fbasic_5fmac_2ec',['atca_basic_mac.c',['../a00215.html',1,'']]], - ['atca_5fbasic_5fnonce_2ec',['atca_basic_nonce.c',['../a00218.html',1,'']]], - ['atca_5fbasic_5fprivwrite_2ec',['atca_basic_privwrite.c',['../a00221.html',1,'']]], - ['atca_5fbasic_5frandom_2ec',['atca_basic_random.c',['../a00224.html',1,'']]], - ['atca_5fbasic_5fread_2ec',['atca_basic_read.c',['../a00227.html',1,'']]], - ['atca_5fbasic_5fsecureboot_2ec',['atca_basic_secureboot.c',['../a00230.html',1,'']]], - ['atca_5fbasic_5fselftest_2ec',['atca_basic_selftest.c',['../a00233.html',1,'']]], - ['atca_5fbasic_5fsha_2ec',['atca_basic_sha.c',['../a00236.html',1,'']]], - ['atca_5fbasic_5fsign_2ec',['atca_basic_sign.c',['../a00239.html',1,'']]], - ['atca_5fbasic_5fupdateextra_2ec',['atca_basic_updateextra.c',['../a00242.html',1,'']]], - ['atca_5fbasic_5fverify_2ec',['atca_basic_verify.c',['../a00245.html',1,'']]], - ['atca_5fbasic_5fwrite_2ec',['atca_basic_write.c',['../a00248.html',1,'']]], - ['atca_5fbool_2eh',['atca_bool.h',['../a00089.html',1,'']]], - ['atca_5fcfgs_2ec',['atca_cfgs.c',['../a00092.html',1,'']]], - ['atca_5fcfgs_2eh',['atca_cfgs.h',['../a00095.html',1,'']]], - ['atca_5fcommand_2ec',['atca_command.c',['../a00098.html',1,'']]], - ['atca_5fcommand_2eh',['atca_command.h',['../a00101.html',1,'']]], - ['atca_5fcompiler_2eh',['atca_compiler.h',['../a00104.html',1,'']]], - ['atca_5fcrypto_5fsw_2eh',['atca_crypto_sw.h',['../a00260.html',1,'']]], - ['atca_5fcrypto_5fsw_5fecdsa_2ec',['atca_crypto_sw_ecdsa.c',['../a00263.html',1,'']]], - ['atca_5fcrypto_5fsw_5fecdsa_2eh',['atca_crypto_sw_ecdsa.h',['../a00266.html',1,'']]], - ['atca_5fcrypto_5fsw_5frand_2ec',['atca_crypto_sw_rand.c',['../a00269.html',1,'']]], - ['atca_5fcrypto_5fsw_5frand_2eh',['atca_crypto_sw_rand.h',['../a00272.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha1_2ec',['atca_crypto_sw_sha1.c',['../a00275.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha1_2eh',['atca_crypto_sw_sha1.h',['../a00278.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha2_2ec',['atca_crypto_sw_sha2.c',['../a00281.html',1,'']]], - ['atca_5fcrypto_5fsw_5fsha2_2eh',['atca_crypto_sw_sha2.h',['../a00284.html',1,'']]], - ['atca_5fdevice_2ec',['atca_device.c',['../a00107.html',1,'']]], - ['atca_5fdevice_2eh',['atca_device.h',['../a00110.html',1,'']]], - ['atca_5fdevtypes_2eh',['atca_devtypes.h',['../a00113.html',1,'']]], - ['atca_5fexecution_2ec',['atca_execution.c',['../a00116.html',1,'']]], - ['atca_5fexecution_2eh',['atca_execution.h',['../a00119.html',1,'']]], - ['atca_5fhal_2ec',['atca_hal.c',['../a00305.html',1,'']]], - ['atca_5fhal_2eh',['atca_hal.h',['../a00308.html',1,'']]], - ['atca_5fhelpers_2ec',['atca_helpers.c',['../a00251.html',1,'']]], - ['atca_5fhelpers_2eh',['atca_helpers.h',['../a00254.html',1,'']]], - ['atca_5fhost_2ec',['atca_host.c',['../a00521.html',1,'']]], - ['atca_5fhost_2eh',['atca_host.h',['../a00524.html',1,'']]], - ['atca_5fiface_2ec',['atca_iface.c',['../a00122.html',1,'']]], - ['atca_5fiface_2eh',['atca_iface.h',['../a00125.html',1,'']]], - ['atca_5fjwt_2ec',['atca_jwt.c',['../a00527.html',1,'']]], - ['atca_5fjwt_2eh',['atca_jwt.h',['../a00530.html',1,'']]], - ['atca_5fstart_5fconfig_2eh',['atca_start_config.h',['../a00311.html',1,'']]], - ['atca_5fstart_5fiface_2eh',['atca_start_iface.h',['../a00314.html',1,'']]], - ['atca_5fstatus_2eh',['atca_status.h',['../a00128.html',1,'']]], - ['atcacert_2eh',['atcacert.h',['../a00131.html',1,'']]], - ['atcacert_5fclient_2ec',['atcacert_client.c',['../a00134.html',1,'']]], - ['atcacert_5fclient_2eh',['atcacert_client.h',['../a00137.html',1,'']]], - ['atcacert_5fdate_2ec',['atcacert_date.c',['../a00140.html',1,'']]], - ['atcacert_5fdate_2eh',['atcacert_date.h',['../a00143.html',1,'']]], - ['atcacert_5fdef_2ec',['atcacert_def.c',['../a00146.html',1,'']]], - ['atcacert_5fdef_2eh',['atcacert_def.h',['../a00149.html',1,'']]], - ['atcacert_5fder_2ec',['atcacert_der.c',['../a00152.html',1,'']]], - ['atcacert_5fder_2eh',['atcacert_der.h',['../a00155.html',1,'']]], - ['atcacert_5fhost_5fhw_2ec',['atcacert_host_hw.c',['../a00158.html',1,'']]], - ['atcacert_5fhost_5fhw_2eh',['atcacert_host_hw.h',['../a00161.html',1,'']]], - ['atcacert_5fhost_5fsw_2ec',['atcacert_host_sw.c',['../a00164.html',1,'']]], - ['atcacert_5fhost_5fsw_2eh',['atcacert_host_sw.h',['../a00167.html',1,'']]], - ['atcacert_5fpem_2ec',['atcacert_pem.c',['../a00170.html',1,'']]], - ['atcacert_5fpem_2eh',['atcacert_pem.h',['../a00173.html',1,'']]], - ['readme_2emd',['README.md',['../a03787.html',1,'']]] + ['atca_5fbasic_2ec',['atca_basic.c',['../a00182.html',1,'']]], + ['atca_5fbasic_2eh',['atca_basic.h',['../a00185.html',1,'']]], + ['atca_5fbasic_5faes_2ec',['atca_basic_aes.c',['../a00188.html',1,'']]], + ['atca_5fbasic_5faes_5fcbc_2ec',['atca_basic_aes_cbc.c',['../a00191.html',1,'']]], + ['atca_5fbasic_5faes_5fcmac_2ec',['atca_basic_aes_cmac.c',['../a00194.html',1,'']]], + ['atca_5fbasic_5faes_5fctr_2ec',['atca_basic_aes_ctr.c',['../a00197.html',1,'']]], + ['atca_5fbasic_5faes_5fgcm_2ec',['atca_basic_aes_gcm.c',['../a00200.html',1,'']]], + ['atca_5fbasic_5faes_5fgcm_2eh',['atca_basic_aes_gcm.h',['../a00203.html',1,'']]], + ['atca_5fbasic_5fcheckmac_2ec',['atca_basic_checkmac.c',['../a00206.html',1,'']]], + ['atca_5fbasic_5fcounter_2ec',['atca_basic_counter.c',['../a00209.html',1,'']]], + ['atca_5fbasic_5fderivekey_2ec',['atca_basic_derivekey.c',['../a00212.html',1,'']]], + ['atca_5fbasic_5fecdh_2ec',['atca_basic_ecdh.c',['../a00215.html',1,'']]], + ['atca_5fbasic_5fgendig_2ec',['atca_basic_gendig.c',['../a00218.html',1,'']]], + ['atca_5fbasic_5fgenkey_2ec',['atca_basic_genkey.c',['../a00221.html',1,'']]], + ['atca_5fbasic_5fhmac_2ec',['atca_basic_hmac.c',['../a00224.html',1,'']]], + ['atca_5fbasic_5finfo_2ec',['atca_basic_info.c',['../a00227.html',1,'']]], + ['atca_5fbasic_5fkdf_2ec',['atca_basic_kdf.c',['../a00230.html',1,'']]], + ['atca_5fbasic_5flock_2ec',['atca_basic_lock.c',['../a00233.html',1,'']]], + ['atca_5fbasic_5fmac_2ec',['atca_basic_mac.c',['../a00236.html',1,'']]], + ['atca_5fbasic_5fnonce_2ec',['atca_basic_nonce.c',['../a00239.html',1,'']]], + ['atca_5fbasic_5fprivwrite_2ec',['atca_basic_privwrite.c',['../a00242.html',1,'']]], + ['atca_5fbasic_5frandom_2ec',['atca_basic_random.c',['../a00245.html',1,'']]], + ['atca_5fbasic_5fread_2ec',['atca_basic_read.c',['../a00248.html',1,'']]], + ['atca_5fbasic_5fsecureboot_2ec',['atca_basic_secureboot.c',['../a00251.html',1,'']]], + ['atca_5fbasic_5fselftest_2ec',['atca_basic_selftest.c',['../a00254.html',1,'']]], + ['atca_5fbasic_5fsha_2ec',['atca_basic_sha.c',['../a00257.html',1,'']]], + ['atca_5fbasic_5fsign_2ec',['atca_basic_sign.c',['../a00260.html',1,'']]], + ['atca_5fbasic_5fupdateextra_2ec',['atca_basic_updateextra.c',['../a00263.html',1,'']]], + ['atca_5fbasic_5fverify_2ec',['atca_basic_verify.c',['../a00266.html',1,'']]], + ['atca_5fbasic_5fwrite_2ec',['atca_basic_write.c',['../a00269.html',1,'']]], + ['atca_5fbool_2eh',['atca_bool.h',['../a00095.html',1,'']]], + ['atca_5fcfgs_2ec',['atca_cfgs.c',['../a00098.html',1,'']]], + ['atca_5fcfgs_2eh',['atca_cfgs.h',['../a00101.html',1,'']]], + ['atca_5fcommand_2ec',['atca_command.c',['../a00104.html',1,'']]], + ['atca_5fcommand_2eh',['atca_command.h',['../a00107.html',1,'']]], + ['atca_5fcompiler_2eh',['atca_compiler.h',['../a00110.html',1,'']]], + ['atca_5fcrypto_5fsw_2eh',['atca_crypto_sw.h',['../a00281.html',1,'']]], + ['atca_5fcrypto_5fsw_5fecdsa_2ec',['atca_crypto_sw_ecdsa.c',['../a00284.html',1,'']]], + ['atca_5fcrypto_5fsw_5fecdsa_2eh',['atca_crypto_sw_ecdsa.h',['../a00287.html',1,'']]], + ['atca_5fcrypto_5fsw_5frand_2ec',['atca_crypto_sw_rand.c',['../a00290.html',1,'']]], + ['atca_5fcrypto_5fsw_5frand_2eh',['atca_crypto_sw_rand.h',['../a00293.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha1_2ec',['atca_crypto_sw_sha1.c',['../a00296.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha1_2eh',['atca_crypto_sw_sha1.h',['../a00299.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha2_2ec',['atca_crypto_sw_sha2.c',['../a00302.html',1,'']]], + ['atca_5fcrypto_5fsw_5fsha2_2eh',['atca_crypto_sw_sha2.h',['../a00305.html',1,'']]], + ['atca_5fdevice_2ec',['atca_device.c',['../a00113.html',1,'']]], + ['atca_5fdevice_2eh',['atca_device.h',['../a00116.html',1,'']]], + ['atca_5fdevtypes_2eh',['atca_devtypes.h',['../a00119.html',1,'']]], + ['atca_5fexecution_2ec',['atca_execution.c',['../a00122.html',1,'']]], + ['atca_5fexecution_2eh',['atca_execution.h',['../a00125.html',1,'']]], + ['atca_5fhal_2ec',['atca_hal.c',['../a00326.html',1,'']]], + ['atca_5fhal_2eh',['atca_hal.h',['../a00329.html',1,'']]], + ['atca_5fhelpers_2ec',['atca_helpers.c',['../a00272.html',1,'']]], + ['atca_5fhelpers_2eh',['atca_helpers.h',['../a00275.html',1,'']]], + ['atca_5fhost_2ec',['atca_host.c',['../a00542.html',1,'']]], + ['atca_5fhost_2eh',['atca_host.h',['../a00545.html',1,'']]], + ['atca_5fiface_2ec',['atca_iface.c',['../a00128.html',1,'']]], + ['atca_5fiface_2eh',['atca_iface.h',['../a00131.html',1,'']]], + ['atca_5fjwt_2ec',['atca_jwt.c',['../a00548.html',1,'']]], + ['atca_5fjwt_2eh',['atca_jwt.h',['../a00551.html',1,'']]], + ['atca_5fstart_5fconfig_2eh',['atca_start_config.h',['../a00332.html',1,'']]], + ['atca_5fstart_5fiface_2eh',['atca_start_iface.h',['../a00335.html',1,'']]], + ['atca_5fstatus_2eh',['atca_status.h',['../a00134.html',1,'']]], + ['atcacert_2eh',['atcacert.h',['../a00137.html',1,'']]], + ['atcacert_5fclient_2ec',['atcacert_client.c',['../a00140.html',1,'']]], + ['atcacert_5fclient_2eh',['atcacert_client.h',['../a00143.html',1,'']]], + ['atcacert_5fdate_2ec',['atcacert_date.c',['../a00146.html',1,'']]], + ['atcacert_5fdate_2eh',['atcacert_date.h',['../a00149.html',1,'']]], + ['atcacert_5fdef_2ec',['atcacert_def.c',['../a00152.html',1,'']]], + ['atcacert_5fdef_2eh',['atcacert_def.h',['../a00155.html',1,'']]], + ['atcacert_5fder_2ec',['atcacert_der.c',['../a00158.html',1,'']]], + ['atcacert_5fder_2eh',['atcacert_der.h',['../a00161.html',1,'']]], + ['atcacert_5fhost_5fhw_2ec',['atcacert_host_hw.c',['../a00164.html',1,'']]], + ['atcacert_5fhost_5fhw_2eh',['atcacert_host_hw.h',['../a00167.html',1,'']]], + ['atcacert_5fhost_5fsw_2ec',['atcacert_host_sw.c',['../a00170.html',1,'']]], + ['atcacert_5fhost_5fsw_2eh',['atcacert_host_sw.h',['../a00173.html',1,'']]], + ['atcacert_5fpem_2ec',['atcacert_pem.c',['../a00176.html',1,'']]], + ['atcacert_5fpem_2eh',['atcacert_pem.h',['../a00179.html',1,'']]], + ['readme_2emd',['README.md',['../a01167.html',1,'(Global Namespace)'],['../a01170.html',1,'(Global Namespace)']]] ]; diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js index 8842fec0a..1a5ffaf32 100644 --- a/docs/html/search/files_1.js +++ b/docs/html/search/files_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['crypto_5fdevice_5fapp_2ec',['crypto_device_app.c',['../a00011.html',1,'']]], - ['crypto_5fdevice_5fapp_2eh',['crypto_device_app.h',['../a00014.html',1,'']]], - ['cryptoauthlib_2eh',['cryptoauthlib.h',['../a00299.html',1,'']]] + ['crypto_5fdevice_5fapp_2ec',['crypto_device_app.c',['../a00017.html',1,'']]], + ['crypto_5fdevice_5fapp_2eh',['crypto_device_app.h',['../a00020.html',1,'']]], + ['cryptoauthlib_2eh',['cryptoauthlib.h',['../a00320.html',1,'']]] ]; diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js index fd9621e2c..948877543 100644 --- a/docs/html/search/files_2.js +++ b/docs/html/search/files_2.js @@ -1,56 +1,56 @@ var searchData= [ - ['hal_5fall_5fplatforms_5fkit_5fhidapi_2ec',['hal_all_platforms_kit_hidapi.c',['../a00317.html',1,'']]], - ['hal_5fall_5fplatforms_5fkit_5fhidapi_2eh',['hal_all_platforms_kit_hidapi.h',['../a00320.html',1,'']]], - ['hal_5fat90usb1287_5fi2c_5fasf_2ec',['hal_at90usb1287_i2c_asf.c',['../a00323.html',1,'']]], - ['hal_5fat90usb1287_5fi2c_5fasf_2eh',['hal_at90usb1287_i2c_asf.h',['../a00326.html',1,'']]], - ['hal_5fat90usb1287_5ftimer_5fasf_2ec',['hal_at90usb1287_timer_asf.c',['../a00329.html',1,'']]], - ['hal_5fesp32_5fi2c_2ec',['hal_esp32_i2c.c',['../a00332.html',1,'']]], - ['hal_5fesp32_5ftimer_2ec',['hal_esp32_timer.c',['../a00335.html',1,'']]], - ['hal_5ffreertos_2ec',['hal_freertos.c',['../a00338.html',1,'']]], - ['hal_5fi2c_5fbitbang_2ec',['hal_i2c_bitbang.c',['../a00341.html',1,'']]], - ['hal_5fi2c_5fbitbang_2eh',['hal_i2c_bitbang.h',['../a00344.html',1,'']]], - ['hal_5fi2c_5fstart_2ec',['hal_i2c_start.c',['../a00347.html',1,'']]], - ['hal_5fi2c_5fstart_2eh',['hal_i2c_start.h',['../a00350.html',1,'']]], - ['hal_5flinux_5fi2c_5fuserspace_2ec',['hal_linux_i2c_userspace.c',['../a00353.html',1,'']]], - ['hal_5flinux_5fi2c_5fuserspace_2eh',['hal_linux_i2c_userspace.h',['../a00356.html',1,'']]], - ['hal_5flinux_5fkit_5fcdc_2ec',['hal_linux_kit_cdc.c',['../a00359.html',1,'']]], - ['hal_5flinux_5fkit_5fcdc_2eh',['hal_linux_kit_cdc.h',['../a00362.html',1,'']]], - ['hal_5flinux_5fkit_5fhid_2ec',['hal_linux_kit_hid.c',['../a00365.html',1,'']]], - ['hal_5flinux_5fkit_5fhid_2eh',['hal_linux_kit_hid.h',['../a00368.html',1,'']]], - ['hal_5flinux_5ftimer_2ec',['hal_linux_timer.c',['../a00371.html',1,'']]], - ['hal_5fpic32mx695f512h_5fi2c_2ec',['hal_pic32mx695f512h_i2c.c',['../a00374.html',1,'']]], - ['hal_5fpic32mx695f512h_5fi2c_2eh',['hal_pic32mx695f512h_i2c.h',['../a00377.html',1,'']]], - ['hal_5fpic32mx695f512h_5ftimer_2ec',['hal_pic32mx695f512h_timer.c',['../a00380.html',1,'']]], - ['hal_5fpic32mz2048efm_5fi2c_2ec',['hal_pic32mz2048efm_i2c.c',['../a00383.html',1,'']]], - ['hal_5fpic32mz2048efm_5fi2c_2eh',['hal_pic32mz2048efm_i2c.h',['../a00386.html',1,'']]], - ['hal_5fpic32mz2048efm_5ftimer_2ec',['hal_pic32mz2048efm_timer.c',['../a00389.html',1,'']]], - ['hal_5fsam4s_5fi2c_5fasf_2ec',['hal_sam4s_i2c_asf.c',['../a00392.html',1,'']]], - ['hal_5fsam4s_5fi2c_5fasf_2eh',['hal_sam4s_i2c_asf.h',['../a00395.html',1,'']]], - ['hal_5fsam4s_5ftimer_5fasf_2ec',['hal_sam4s_timer_asf.c',['../a00398.html',1,'']]], - ['hal_5fsamb11_5fi2c_5fasf_2ec',['hal_samb11_i2c_asf.c',['../a00401.html',1,'']]], - ['hal_5fsamb11_5fi2c_5fasf_2eh',['hal_samb11_i2c_asf.h',['../a00404.html',1,'']]], - ['hal_5fsamb11_5ftimer_5fasf_2ec',['hal_samb11_timer_asf.c',['../a00407.html',1,'']]], - ['hal_5fsamd21_5fi2c_5fasf_2ec',['hal_samd21_i2c_asf.c',['../a00410.html',1,'']]], - ['hal_5fsamd21_5fi2c_5fasf_2eh',['hal_samd21_i2c_asf.h',['../a00413.html',1,'']]], - ['hal_5fsamd21_5ftimer_5fasf_2ec',['hal_samd21_timer_asf.c',['../a00416.html',1,'']]], - ['hal_5fsamg55_5fi2c_5fasf_2ec',['hal_samg55_i2c_asf.c',['../a00419.html',1,'']]], - ['hal_5fsamg55_5fi2c_5fasf_2eh',['hal_samg55_i2c_asf.h',['../a00422.html',1,'']]], - ['hal_5fsamg55_5ftimer_5fasf_2ec',['hal_samg55_timer_asf.c',['../a00425.html',1,'']]], - ['hal_5fsamv71_5fi2c_5fasf_2ec',['hal_samv71_i2c_asf.c',['../a00428.html',1,'']]], - ['hal_5fsamv71_5fi2c_5fasf_2eh',['hal_samv71_i2c_asf.h',['../a00431.html',1,'']]], - ['hal_5fsamv71_5ftimer_5fasf_2ec',['hal_samv71_timer_asf.c',['../a00434.html',1,'']]], - ['hal_5fswi_5fbitbang_2ec',['hal_swi_bitbang.c',['../a00437.html',1,'']]], - ['hal_5fswi_5fbitbang_2eh',['hal_swi_bitbang.h',['../a00440.html',1,'']]], - ['hal_5fswi_5fuart_2ec',['hal_swi_uart.c',['../a00443.html',1,'']]], - ['hal_5fswi_5fuart_2eh',['hal_swi_uart.h',['../a00446.html',1,'']]], - ['hal_5ftimer_5fstart_2ec',['hal_timer_start.c',['../a00449.html',1,'']]], - ['hal_5fwin_5fkit_5fcdc_2ec',['hal_win_kit_cdc.c',['../a00452.html',1,'']]], - ['hal_5fwin_5fkit_5fcdc_2eh',['hal_win_kit_cdc.h',['../a00455.html',1,'']]], - ['hal_5fwin_5fkit_5fhid_2ec',['hal_win_kit_hid.c',['../a00458.html',1,'']]], - ['hal_5fwin_5fkit_5fhid_2eh',['hal_win_kit_hid.h',['../a00461.html',1,'']]], - ['hal_5fwin_5ftimer_2ec',['hal_win_timer.c',['../a00464.html',1,'']]], - ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2ec',['hal_xmega_a3bu_i2c_asf.c',['../a00467.html',1,'']]], - ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2eh',['hal_xmega_a3bu_i2c_asf.h',['../a00470.html',1,'']]], - ['hal_5fxmega_5fa3bu_5ftimer_5fasf_2ec',['hal_xmega_a3bu_timer_asf.c',['../a00473.html',1,'']]] + ['hal_5fall_5fplatforms_5fkit_5fhidapi_2ec',['hal_all_platforms_kit_hidapi.c',['../a00338.html',1,'']]], + ['hal_5fall_5fplatforms_5fkit_5fhidapi_2eh',['hal_all_platforms_kit_hidapi.h',['../a00341.html',1,'']]], + ['hal_5fat90usb1287_5fi2c_5fasf_2ec',['hal_at90usb1287_i2c_asf.c',['../a00344.html',1,'']]], + ['hal_5fat90usb1287_5fi2c_5fasf_2eh',['hal_at90usb1287_i2c_asf.h',['../a00347.html',1,'']]], + ['hal_5fat90usb1287_5ftimer_5fasf_2ec',['hal_at90usb1287_timer_asf.c',['../a00350.html',1,'']]], + ['hal_5fesp32_5fi2c_2ec',['hal_esp32_i2c.c',['../a00353.html',1,'']]], + ['hal_5fesp32_5ftimer_2ec',['hal_esp32_timer.c',['../a00356.html',1,'']]], + ['hal_5ffreertos_2ec',['hal_freertos.c',['../a00359.html',1,'']]], + ['hal_5fi2c_5fbitbang_2ec',['hal_i2c_bitbang.c',['../a00362.html',1,'']]], + ['hal_5fi2c_5fbitbang_2eh',['hal_i2c_bitbang.h',['../a00365.html',1,'']]], + ['hal_5fi2c_5fstart_2ec',['hal_i2c_start.c',['../a00368.html',1,'']]], + ['hal_5fi2c_5fstart_2eh',['hal_i2c_start.h',['../a00371.html',1,'']]], + ['hal_5flinux_5fi2c_5fuserspace_2ec',['hal_linux_i2c_userspace.c',['../a00374.html',1,'']]], + ['hal_5flinux_5fi2c_5fuserspace_2eh',['hal_linux_i2c_userspace.h',['../a00377.html',1,'']]], + ['hal_5flinux_5fkit_5fcdc_2ec',['hal_linux_kit_cdc.c',['../a00380.html',1,'']]], + ['hal_5flinux_5fkit_5fcdc_2eh',['hal_linux_kit_cdc.h',['../a00383.html',1,'']]], + ['hal_5flinux_5fkit_5fhid_2ec',['hal_linux_kit_hid.c',['../a00386.html',1,'']]], + ['hal_5flinux_5fkit_5fhid_2eh',['hal_linux_kit_hid.h',['../a00389.html',1,'']]], + ['hal_5flinux_5ftimer_2ec',['hal_linux_timer.c',['../a00392.html',1,'']]], + ['hal_5fpic32mx695f512h_5fi2c_2ec',['hal_pic32mx695f512h_i2c.c',['../a00395.html',1,'']]], + ['hal_5fpic32mx695f512h_5fi2c_2eh',['hal_pic32mx695f512h_i2c.h',['../a00398.html',1,'']]], + ['hal_5fpic32mx695f512h_5ftimer_2ec',['hal_pic32mx695f512h_timer.c',['../a00401.html',1,'']]], + ['hal_5fpic32mz2048efm_5fi2c_2ec',['hal_pic32mz2048efm_i2c.c',['../a00404.html',1,'']]], + ['hal_5fpic32mz2048efm_5fi2c_2eh',['hal_pic32mz2048efm_i2c.h',['../a00407.html',1,'']]], + ['hal_5fpic32mz2048efm_5ftimer_2ec',['hal_pic32mz2048efm_timer.c',['../a00410.html',1,'']]], + ['hal_5fsam4s_5fi2c_5fasf_2ec',['hal_sam4s_i2c_asf.c',['../a00413.html',1,'']]], + ['hal_5fsam4s_5fi2c_5fasf_2eh',['hal_sam4s_i2c_asf.h',['../a00416.html',1,'']]], + ['hal_5fsam4s_5ftimer_5fasf_2ec',['hal_sam4s_timer_asf.c',['../a00419.html',1,'']]], + ['hal_5fsamb11_5fi2c_5fasf_2ec',['hal_samb11_i2c_asf.c',['../a00422.html',1,'']]], + ['hal_5fsamb11_5fi2c_5fasf_2eh',['hal_samb11_i2c_asf.h',['../a00425.html',1,'']]], + ['hal_5fsamb11_5ftimer_5fasf_2ec',['hal_samb11_timer_asf.c',['../a00428.html',1,'']]], + ['hal_5fsamd21_5fi2c_5fasf_2ec',['hal_samd21_i2c_asf.c',['../a00431.html',1,'']]], + ['hal_5fsamd21_5fi2c_5fasf_2eh',['hal_samd21_i2c_asf.h',['../a00434.html',1,'']]], + ['hal_5fsamd21_5ftimer_5fasf_2ec',['hal_samd21_timer_asf.c',['../a00437.html',1,'']]], + ['hal_5fsamg55_5fi2c_5fasf_2ec',['hal_samg55_i2c_asf.c',['../a00440.html',1,'']]], + ['hal_5fsamg55_5fi2c_5fasf_2eh',['hal_samg55_i2c_asf.h',['../a00443.html',1,'']]], + ['hal_5fsamg55_5ftimer_5fasf_2ec',['hal_samg55_timer_asf.c',['../a00446.html',1,'']]], + ['hal_5fsamv71_5fi2c_5fasf_2ec',['hal_samv71_i2c_asf.c',['../a00449.html',1,'']]], + ['hal_5fsamv71_5fi2c_5fasf_2eh',['hal_samv71_i2c_asf.h',['../a00452.html',1,'']]], + ['hal_5fsamv71_5ftimer_5fasf_2ec',['hal_samv71_timer_asf.c',['../a00455.html',1,'']]], + ['hal_5fswi_5fbitbang_2ec',['hal_swi_bitbang.c',['../a00458.html',1,'']]], + ['hal_5fswi_5fbitbang_2eh',['hal_swi_bitbang.h',['../a00461.html',1,'']]], + ['hal_5fswi_5fuart_2ec',['hal_swi_uart.c',['../a00464.html',1,'']]], + ['hal_5fswi_5fuart_2eh',['hal_swi_uart.h',['../a00467.html',1,'']]], + ['hal_5ftimer_5fstart_2ec',['hal_timer_start.c',['../a00470.html',1,'']]], + ['hal_5fwin_5fkit_5fcdc_2ec',['hal_win_kit_cdc.c',['../a00473.html',1,'']]], + ['hal_5fwin_5fkit_5fcdc_2eh',['hal_win_kit_cdc.h',['../a00476.html',1,'']]], + ['hal_5fwin_5fkit_5fhid_2ec',['hal_win_kit_hid.c',['../a00479.html',1,'']]], + ['hal_5fwin_5fkit_5fhid_2eh',['hal_win_kit_hid.h',['../a00482.html',1,'']]], + ['hal_5fwin_5ftimer_2ec',['hal_win_timer.c',['../a00485.html',1,'']]], + ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2ec',['hal_xmega_a3bu_i2c_asf.c',['../a00488.html',1,'']]], + ['hal_5fxmega_5fa3bu_5fi2c_5fasf_2eh',['hal_xmega_a3bu_i2c_asf.h',['../a00491.html',1,'']]], + ['hal_5fxmega_5fa3bu_5ftimer_5fasf_2ec',['hal_xmega_a3bu_timer_asf.c',['../a00494.html',1,'']]] ]; diff --git a/docs/html/search/files_3.js b/docs/html/search/files_3.js index 5d61df24a..59137a013 100644 --- a/docs/html/search/files_3.js +++ b/docs/html/search/files_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['i2c_5fbitbang_5fsamd21_2ec',['i2c_bitbang_samd21.c',['../a00476.html',1,'']]], - ['i2c_5fbitbang_5fsamd21_2eh',['i2c_bitbang_samd21.h',['../a00479.html',1,'']]], - ['io_5fprotection_5fkey_2eh',['io_protection_key.h',['../a00017.html',1,'']]] + ['i2c_5fbitbang_5fsamd21_2ec',['i2c_bitbang_samd21.c',['../a00497.html',1,'']]], + ['i2c_5fbitbang_5fsamd21_2eh',['i2c_bitbang_samd21.h',['../a00500.html',1,'']]], + ['io_5fprotection_5fkey_2eh',['io_protection_key.h',['../a00023.html',1,'']]] ]; diff --git a/docs/html/search/files_4.js b/docs/html/search/files_4.js index 4aacba281..07e256700 100644 --- a/docs/html/search/files_4.js +++ b/docs/html/search/files_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['kit_5fphy_2eh',['kit_phy.h',['../a00482.html',1,'']]], - ['kit_5fprotocol_2ec',['kit_protocol.c',['../a00485.html',1,'']]], - ['kit_5fprotocol_2eh',['kit_protocol.h',['../a00488.html',1,'']]] + ['kit_5fphy_2eh',['kit_phy.h',['../a00503.html',1,'']]], + ['kit_5fprotocol_2ec',['kit_protocol.c',['../a00506.html',1,'']]], + ['kit_5fprotocol_2eh',['kit_protocol.h',['../a00509.html',1,'']]] ]; diff --git a/docs/html/search/files_5.js b/docs/html/search/files_5.js index 4208b9f05..bd9280fbd 100644 --- a/docs/html/search/files_5.js +++ b/docs/html/search/files_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['license_2etxt',['license.txt',['../a00533.html',1,'']]], - ['readme_2emd',['README.md',['../a03778.html',1,'(Global Namespace)'],['../a03781.html',1,'(Global Namespace)'],['../a03784.html',1,'(Global Namespace)']]] + ['license_2etxt',['license.txt',['../a00554.html',1,'']]], + ['readme_2emd',['README.md',['../a01158.html',1,'(Global Namespace)'],['../a01161.html',1,'(Global Namespace)'],['../a01164.html',1,'(Global Namespace)']]] ]; diff --git a/docs/html/search/files_7.js b/docs/html/search/files_7.js index cfbfaa5b5..401279835 100644 --- a/docs/html/search/files_7.js +++ b/docs/html/search/files_7.js @@ -1,20 +1,22 @@ var searchData= [ - ['secure_5fboot_2ec',['secure_boot.c',['../a00020.html',1,'']]], - ['secure_5fboot_2eh',['secure_boot.h',['../a00023.html',1,'']]], - ['secure_5fboot_5fmemory_2eh',['secure_boot_memory.h',['../a00026.html',1,'']]], - ['sha1_5froutines_2ec',['sha1_routines.c',['../a00287.html',1,'']]], - ['sha1_5froutines_2eh',['sha1_routines.h',['../a00290.html',1,'']]], - ['sha2_5froutines_2ec',['sha2_routines.c',['../a00293.html',1,'']]], - ['sha2_5froutines_2eh',['sha2_routines.h',['../a00296.html',1,'']]], - ['swi_5fbitbang_5fsamd21_2ec',['swi_bitbang_samd21.c',['../a00491.html',1,'']]], - ['swi_5fbitbang_5fsamd21_2eh',['swi_bitbang_samd21.h',['../a00494.html',1,'']]], - ['swi_5fuart_5fat90usb1287_5fasf_2ec',['swi_uart_at90usb1287_asf.c',['../a00497.html',1,'']]], - ['swi_5fuart_5fat90usb1287_5fasf_2eh',['swi_uart_at90usb1287_asf.h',['../a00500.html',1,'']]], - ['swi_5fuart_5fsamd21_5fasf_2ec',['swi_uart_samd21_asf.c',['../a00503.html',1,'']]], - ['swi_5fuart_5fsamd21_5fasf_2eh',['swi_uart_samd21_asf.h',['../a00506.html',1,'']]], - ['swi_5fuart_5fstart_2ec',['swi_uart_start.c',['../a00509.html',1,'']]], - ['swi_5fuart_5fstart_2eh',['swi_uart_start.h',['../a00512.html',1,'']]], - ['swi_5fuart_5fxmega_5fa3bu_5fasf_2ec',['swi_uart_xmega_a3bu_asf.c',['../a00515.html',1,'']]], - ['swi_5fuart_5fxmega_5fa3bu_5fasf_2eh',['swi_uart_xmega_a3bu_asf.h',['../a00518.html',1,'']]] + ['secure_5fboot_2ec',['secure_boot.c',['../a00026.html',1,'']]], + ['secure_5fboot_2eh',['secure_boot.h',['../a00029.html',1,'']]], + ['secure_5fboot_5fmemory_2eh',['secure_boot_memory.h',['../a00032.html',1,'']]], + ['sha1_5froutines_2ec',['sha1_routines.c',['../a00308.html',1,'']]], + ['sha1_5froutines_2eh',['sha1_routines.h',['../a00311.html',1,'']]], + ['sha2_5froutines_2ec',['sha2_routines.c',['../a00314.html',1,'']]], + ['sha2_5froutines_2eh',['sha2_routines.h',['../a00317.html',1,'']]], + ['swi_5fbitbang_5fsamd21_2ec',['swi_bitbang_samd21.c',['../a00512.html',1,'']]], + ['swi_5fbitbang_5fsamd21_2eh',['swi_bitbang_samd21.h',['../a00515.html',1,'']]], + ['swi_5fuart_5fat90usb1287_5fasf_2ec',['swi_uart_at90usb1287_asf.c',['../a00518.html',1,'']]], + ['swi_5fuart_5fat90usb1287_5fasf_2eh',['swi_uart_at90usb1287_asf.h',['../a00521.html',1,'']]], + ['swi_5fuart_5fsamd21_5fasf_2ec',['swi_uart_samd21_asf.c',['../a00524.html',1,'']]], + ['swi_5fuart_5fsamd21_5fasf_2eh',['swi_uart_samd21_asf.h',['../a00527.html',1,'']]], + ['swi_5fuart_5fstart_2ec',['swi_uart_start.c',['../a00530.html',1,'']]], + ['swi_5fuart_5fstart_2eh',['swi_uart_start.h',['../a00533.html',1,'']]], + ['swi_5fuart_5fxmega_5fa3bu_5fasf_2ec',['swi_uart_xmega_a3bu_asf.c',['../a00536.html',1,'']]], + ['swi_5fuart_5fxmega_5fa3bu_5fasf_2eh',['swi_uart_xmega_a3bu_asf.h',['../a00539.html',1,'']]], + ['symmetric_5fauthentication_2ec',['symmetric_authentication.c',['../a00011.html',1,'']]], + ['symmetric_5fauthentication_2eh',['symmetric_authentication.h',['../a00014.html',1,'']]] ]; diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js index cc0c841eb..5154aa2f2 100644 --- a/docs/html/search/functions_0.js +++ b/docs/html/search/functions_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['_5fatcab_5fexit',['_atcab_exit',['../a03535.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c'],['../a03535.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c']]], - ['_5fatinit',['_atinit',['../a03533.html#gafdef2e89419fb8f93160efdd109ef8e4',1,'atca_iface.c']]] + ['_5fatcab_5fexit',['_atcab_exit',['../a00910.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c'],['../a00910.html#ga5802cd6847a837458604db5dbec4a6f0',1,'_atcab_exit(void): atca_basic.c']]], + ['_5fatinit',['_atinit',['../a00908.html#gafdef2e89419fb8f93160efdd109ef8e4',1,'atca_iface.c']]] ]; diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js index 34060eb59..37080cd16 100644 --- a/docs/html/search/functions_1.js +++ b/docs/html/search/functions_1.js @@ -1,274 +1,282 @@ var searchData= [ - ['ataes',['atAES',['../a03531.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atca_5fdelay_5f10us',['atca_delay_10us',['../a03537.html#ga19891182689551cc3a88603135959351',1,'hal_at90usb1287_timer_asf.c']]], - ['atca_5fdelay_5fms',['atca_delay_ms',['../a03537.html#ga80a853a202b089064bfc4b159c3418b4',1,'atca_delay_ms(uint32_t delay): hal_at90usb1287_timer_asf.c'],['../a00335.html#a4b83848e938fac7ec4dde79e584b6f71',1,'atca_delay_ms(uint32_t msec): hal_esp32_timer.c']]], - ['atca_5fdelay_5fus',['atca_delay_us',['../a03537.html#ga7598dfcd6dcac882836544d48356d02f',1,'hal_at90usb1287_timer_asf.c']]], - ['atca_5fexecute_5fcommand',['atca_execute_command',['../a00116.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c'],['../a00119.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c']]], - ['atca_5fjwt_5fadd_5fclaim_5fnumeric',['atca_jwt_add_claim_numeric',['../a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c'],['../a03539.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c']]], - ['atca_5fjwt_5fadd_5fclaim_5fstring',['atca_jwt_add_claim_string',['../a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c'],['../a03539.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c']]], - ['atca_5fjwt_5fcheck_5fpayload_5fstart',['atca_jwt_check_payload_start',['../a03539.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c'],['../a03539.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c']]], - ['atca_5fjwt_5ffinalize',['atca_jwt_finalize',['../a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c'],['../a03539.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c']]], - ['atca_5fjwt_5finit',['atca_jwt_init',['../a03539.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c'],['../a03539.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c']]], - ['atca_5fjwt_5fverify',['atca_jwt_verify',['../a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c'],['../a03539.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c']]], - ['atcab_5faes',['atcab_aes',['../a03535.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c'],['../a03535.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5fdecrypt_5fblock',['atcab_aes_cbc_decrypt_block',['../a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5fencrypt_5fblock',['atcab_aes_cbc_encrypt_block',['../a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fcbc_5finit',['atcab_aes_cbc_init',['../a03535.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes.c'],['../a03535.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5ffinish',['atcab_aes_cmac_finish',['../a03535.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes.c'],['../a03535.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5finit',['atcab_aes_cmac_init',['../a03535.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes.c'],['../a03535.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes.c']]], - ['atcab_5faes_5fcmac_5fupdate',['atcab_aes_cmac_update',['../a03535.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes.c'],['../a03535.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fblock',['atcab_aes_ctr_block',['../a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a03535.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fdecrypt_5fblock',['atcab_aes_ctr_decrypt_block',['../a03535.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5fencrypt_5fblock',['atcab_aes_ctr_encrypt_block',['../a03535.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5finit',['atcab_aes_ctr_init',['../a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes.c'],['../a03535.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fctr_5finit_5frand',['atcab_aes_ctr_init_rand',['../a03535.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes.c'],['../a03535.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes.c']]], - ['atcab_5faes_5fdecrypt',['atcab_aes_decrypt',['../a03535.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a03535.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], - ['atcab_5faes_5fencrypt',['atcab_aes_encrypt',['../a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a03535.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], - ['atcab_5faes_5fgfm',['atcab_aes_gfm',['../a03535.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a03535.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], - ['atcab_5fbase64decode',['atcab_base64decode',['../a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len): atca_helpers.c'],['../a03535.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size): atca_helpers.c']]], - ['atcab_5fbase64decode_5f',['atcab_base64decode_',['../a03535.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c']]], - ['atcab_5fbase64encode',['atcab_base64encode',['../a03535.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len): atca_helpers.c'],['../a03535.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size): atca_helpers.c']]], - ['atcab_5fbase64encode_5f',['atcab_base64encode_',['../a03535.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c']]], - ['atcab_5fbin2hex',['atcab_bin2hex',['../a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c'],['../a03535.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c']]], - ['atcab_5fbin2hex_5f',['atcab_bin2hex_',['../a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c'],['../a03535.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c']]], - ['atcab_5fcfg_5fdiscover',['atcab_cfg_discover',['../a03535.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max_ifaces): atca_basic.c'],['../a03535.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max): atca_basic.c']]], - ['atcab_5fchallenge',['atcab_challenge',['../a03535.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c'],['../a03535.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c']]], - ['atcab_5fchallenge_5fseed_5fupdate',['atcab_challenge_seed_update',['../a03535.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fcheckmac',['atcab_checkmac',['../a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c'],['../a03535.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c']]], - ['atcab_5fcmp_5fconfig_5fzone',['atcab_cmp_config_zone',['../a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c'],['../a03535.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c']]], - ['atcab_5fcounter',['atcab_counter',['../a03535.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fcounter_5fincrement',['atcab_counter_increment',['../a03535.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fcounter_5fread',['atcab_counter_read',['../a03535.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a03535.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], - ['atcab_5fderivekey',['atcab_derivekey',['../a03535.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t *mac): atca_basic_derivekey.c'],['../a03535.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t target_key, const uint8_t *mac): atca_basic_derivekey.c']]], - ['atcab_5fecdh',['atcab_ecdh',['../a03535.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a03535.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fbase',['atcab_ecdh_base',['../a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c'],['../a03535.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fenc',['atcab_ecdh_enc',['../a03535.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c'],['../a03535.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5fioenc',['atcab_ecdh_ioenc',['../a03535.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a03535.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5ftempkey',['atcab_ecdh_tempkey',['../a03535.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a03535.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], - ['atcab_5fecdh_5ftempkey_5fioenc',['atcab_ecdh_tempkey_ioenc',['../a03535.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a03535.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], - ['atcab_5fgendig',['atcab_gendig',['../a03535.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c'],['../a03535.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c']]], - ['atcab_5fgenkey',['atcab_genkey',['../a03535.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fgenkey_5fbase',['atcab_genkey_base',['../a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fget_5faddr',['atcab_get_addr',['../a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c'],['../a03535.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c']]], - ['atcab_5fget_5fdevice',['atcab_get_device',['../a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c'],['../a03535.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c']]], - ['atcab_5fget_5fpubkey',['atcab_get_pubkey',['../a03535.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a03535.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], - ['atcab_5fget_5fzone_5fsize',['atcab_get_zone_size',['../a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c'],['../a03535.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c']]], - ['atcab_5fhex2bin',['atcab_hex2bin',['../a03535.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size): atca_helpers.c'],['../a03535.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len): atca_helpers.c']]], - ['atcab_5fhmac',['atcab_hmac',['../a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c'],['../a03535.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c']]], - ['atcab_5fhw_5fsha2_5f256',['atcab_hw_sha2_256',['../a03535.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5ffinish',['atcab_hw_sha2_256_finish',['../a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5finit',['atcab_hw_sha2_256_init',['../a03535.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c'],['../a03535.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c']]], - ['atcab_5fhw_5fsha2_5f256_5fupdate',['atcab_hw_sha2_256_update',['../a03535.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a03535.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], - ['atcab_5fidle',['atcab_idle',['../a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c'],['../a03535.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c']]], - ['atcab_5finfo',['atcab_info',['../a03535.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c'],['../a03535.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c']]], - ['atcab_5finfo_5fbase',['atcab_info_base',['../a03535.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c'],['../a03535.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c']]], - ['atcab_5finfo_5fget_5flatch',['atcab_info_get_latch',['../a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c'],['../a03535.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c']]], - ['atcab_5finfo_5fset_5flatch',['atcab_info_set_latch',['../a03535.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c'],['../a03535.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c']]], - ['atcab_5finit',['atcab_init',['../a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c'],['../a03535.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c']]], - ['atcab_5finit_5fdevice',['atcab_init_device',['../a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c'],['../a03535.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c']]], - ['atcab_5fis_5flocked',['atcab_is_locked',['../a03535.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c'],['../a03535.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c']]], - ['atcab_5fis_5fslot_5flocked',['atcab_is_slot_locked',['../a03535.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c'],['../a03535.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c']]], - ['atcab_5fkdf',['atcab_kdf',['../a03535.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c'],['../a03535.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c']]], - ['atcab_5flock',['atcab_lock',['../a03535.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5flock_5fconfig_5fzone',['atcab_lock_config_zone',['../a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c'],['../a03535.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c']]], - ['atcab_5flock_5fconfig_5fzone_5fcrc',['atcab_lock_config_zone_crc',['../a03535.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fslot',['atcab_lock_data_slot',['../a03535.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c'],['../a03535.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fzone',['atcab_lock_data_zone',['../a03535.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c'],['../a03535.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c']]], - ['atcab_5flock_5fdata_5fzone_5fcrc',['atcab_lock_data_zone_crc',['../a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a03535.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], - ['atcab_5fmac',['atcab_mac',['../a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c'],['../a03535.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c']]], - ['atcab_5fnonce',['atcab_nonce',['../a03535.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c'],['../a03535.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c']]], - ['atcab_5fnonce_5fbase',['atcab_nonce_base',['../a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fnonce_5fload',['atcab_nonce_load',['../a03535.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c'],['../a03535.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c']]], - ['atcab_5fnonce_5frand',['atcab_nonce_rand',['../a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a03535.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], - ['atcab_5fprintbin',['atcab_printbin',['../a03535.html#ga72601de415fd0bbc73faa1ddbc52e56e',1,'atca_helpers.h']]], - ['atcab_5fprintbin_5flabel',['atcab_printbin_label',['../a03535.html#ga248355e3b4bcdd5d728f214fc2eb79e4',1,'atca_helpers.h']]], - ['atcab_5fprintbin_5fsp',['atcab_printbin_sp',['../a03535.html#ga1f88c481b376a7be9112ff081c4ad854',1,'atca_helpers.h']]], - ['atcab_5fpriv_5fwrite',['atcab_priv_write',['../a03535.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c'],['../a03535.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c']]], - ['atcab_5frandom',['atcab_random',['../a03535.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c'],['../a03535.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c']]], - ['atcab_5fread_5fbytes_5fzone',['atcab_read_bytes_zone',['../a03535.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c'],['../a03535.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c']]], - ['atcab_5fread_5fconfig_5fzone',['atcab_read_config_zone',['../a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c'],['../a03535.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c']]], - ['atcab_5fread_5fenc',['atcab_read_enc',['../a03535.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c'],['../a03535.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c']]], - ['atcab_5fread_5fpubkey',['atcab_read_pubkey',['../a03535.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c'],['../a03535.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c']]], - ['atcab_5fread_5fserial_5fnumber',['atcab_read_serial_number',['../a03535.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c'],['../a03535.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c']]], - ['atcab_5fread_5fsig',['atcab_read_sig',['../a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c'],['../a03535.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c']]], - ['atcab_5fread_5fzone',['atcab_read_zone',['../a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c'],['../a03535.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c']]], - ['atcab_5frelease',['atcab_release',['../a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c'],['../a03535.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c']]], - ['atcab_5fsecureboot',['atcab_secureboot',['../a03535.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c'],['../a03535.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c']]], - ['atcab_5fsecureboot_5fmac',['atcab_secureboot_mac',['../a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c'],['../a03535.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c']]], - ['atcab_5fselftest',['atcab_selftest',['../a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c'],['../a03535.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c']]], - ['atcab_5fsha',['atcab_sha',['../a03535.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c'],['../a03535.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c']]], - ['atcab_5fsha_5fbase',['atcab_sha_base',['../a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c'],['../a03535.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *message, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fend',['atcab_sha_end',['../a03535.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c'],['../a03535.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac',['atcab_sha_hmac',['../a03535.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a03535.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5ffinish',['atcab_sha_hmac_finish',['../a03535.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a03535.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5finit',['atcab_sha_hmac_init',['../a03535.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c'],['../a03535.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c']]], - ['atcab_5fsha_5fhmac_5fupdate',['atcab_sha_hmac_update',['../a03535.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a03535.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fread_5fcontext',['atcab_sha_read_context',['../a03535.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c'],['../a03535.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c']]], - ['atcab_5fsha_5fstart',['atcab_sha_start',['../a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c'],['../a03535.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c']]], - ['atcab_5fsha_5fupdate',['atcab_sha_update',['../a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c'],['../a03535.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c']]], - ['atcab_5fsha_5fwrite_5fcontext',['atcab_sha_write_context',['../a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c'],['../a03535.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c']]], - ['atcab_5fsign',['atcab_sign',['../a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsign_5fbase',['atcab_sign_base',['../a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsign_5finternal',['atcab_sign_internal',['../a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c'],['../a03535.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c']]], - ['atcab_5fsleep',['atcab_sleep',['../a03535.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c'],['../a03535.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c']]], - ['atcab_5fupdateextra',['atcab_updateextra',['../a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c'],['../a03535.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c']]], - ['atcab_5fverify',['atcab_verify',['../a03535.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c'],['../a03535.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c']]], - ['atcab_5fverify_5fextern',['atcab_verify_extern',['../a03535.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fextern_5fmac',['atcab_verify_extern_mac',['../a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5finvalidate',['atcab_verify_invalidate',['../a03535.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a03535.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fstored',['atcab_verify_stored',['../a03535.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fstored_5fmac',['atcab_verify_stored_mac',['../a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fverify_5fvalidate',['atcab_verify_validate',['../a03535.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a03535.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], - ['atcab_5fversion',['atcab_version',['../a03535.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c'],['../a03535.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c']]], - ['atcab_5fwakeup',['atcab_wakeup',['../a03535.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c'],['../a03535.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c']]], - ['atcab_5fwrite',['atcab_write',['../a03535.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c'],['../a03535.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c']]], - ['atcab_5fwrite_5fbytes_5fzone',['atcab_write_bytes_zone',['../a03535.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c'],['../a03535.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c']]], - ['atcab_5fwrite_5fconfig_5fcounter',['atcab_write_config_counter',['../a03535.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c'],['../a03535.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c']]], - ['atcab_5fwrite_5fconfig_5fzone',['atcab_write_config_zone',['../a03535.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c'],['../a03535.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c']]], - ['atcab_5fwrite_5fenc',['atcab_write_enc',['../a03535.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c'],['../a03535.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c']]], - ['atcab_5fwrite_5fpubkey',['atcab_write_pubkey',['../a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c'],['../a03535.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c']]], - ['atcab_5fwrite_5fzone',['atcab_write_zone',['../a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c'],['../a03535.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c']]], - ['atcac_5fsw_5fecdsa_5fverify_5fp256',['atcac_sw_ecdsa_verify_p256',['../a03536.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c'],['../a03536.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c']]], - ['atcac_5fsw_5frandom',['atcac_sw_random',['../a03536.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c'],['../a03536.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c']]], - ['atcac_5fsw_5fsha1',['atcac_sw_sha1',['../a03536.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a03536.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5ffinish',['atcac_sw_sha1_finish',['../a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a03536.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5finit',['atcac_sw_sha1_init',['../a03536.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c'],['../a03536.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha1_5fupdate',['atcac_sw_sha1_update',['../a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c'],['../a03536.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c']]], - ['atcac_5fsw_5fsha2_5f256',['atcac_sw_sha2_256',['../a03536.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a03536.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5ffinish',['atcac_sw_sha2_256_finish',['../a03536.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a03536.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5finit',['atcac_sw_sha2_256_init',['../a03536.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c'],['../a03536.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c']]], - ['atcac_5fsw_5fsha2_5f256_5fupdate',['atcac_sw_sha2_256_update',['../a03536.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c'],['../a03536.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c']]], - ['atcacert_5fcert_5fbuild_5ffinish',['atcacert_cert_build_finish',['../a03534.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c'],['../a03534.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c']]], - ['atcacert_5fcert_5fbuild_5fprocess',['atcacert_cert_build_process',['../a03534.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c'],['../a03534.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c']]], - ['atcacert_5fcert_5fbuild_5fstart',['atcacert_cert_build_start',['../a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c'],['../a03534.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c']]], - ['atcacert_5fcreate_5fcsr',['atcacert_create_csr',['../a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c'],['../a03534.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c']]], - ['atcacert_5fcreate_5fcsr_5fpem',['atcacert_create_csr_pem',['../a03534.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c'],['../a03534.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c']]], - ['atcacert_5fdate_5fdec',['atcacert_date_dec',['../a03534.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fcompcert',['atcacert_date_dec_compcert',['../a03534.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c'],['../a03534.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fiso8601_5fsep',['atcacert_date_dec_iso8601_sep',['../a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fbe',['atcacert_date_dec_posix_uint32_be',['../a03534.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fle',['atcacert_date_dec_posix_uint32_le',['../a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5frfc5280_5fgen',['atcacert_date_dec_rfc5280_gen',['../a03534.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fdec_5frfc5280_5futc',['atcacert_date_dec_rfc5280_utc',['../a03534.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdate_5fenc',['atcacert_date_enc',['../a03534.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c'],['../a03534.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fcompcert',['atcacert_date_enc_compcert',['../a03534.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c'],['../a03534.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fiso8601_5fsep',['atcacert_date_enc_iso8601_sep',['../a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c'],['../a03534.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fbe',['atcacert_date_enc_posix_uint32_be',['../a03534.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c'],['../a03534.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fle',['atcacert_date_enc_posix_uint32_le',['../a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c'],['../a03534.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5frfc5280_5fgen',['atcacert_date_enc_rfc5280_gen',['../a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c'],['../a03534.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fenc_5frfc5280_5futc',['atcacert_date_enc_rfc5280_utc',['../a03534.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c'],['../a03534.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c']]], - ['atcacert_5fdate_5fget_5fmax_5fdate',['atcacert_date_get_max_date',['../a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a03534.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], - ['atcacert_5fdecode_5fpem',['atcacert_decode_pem',['../a00170.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c'],['../a00173.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c']]], - ['atcacert_5fdecode_5fpem_5fcert',['atcacert_decode_pem_cert',['../a00170.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c'],['../a00173.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c']]], - ['atcacert_5fdecode_5fpem_5fcsr',['atcacert_decode_pem_csr',['../a00170.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c'],['../a00173.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c']]], - ['atcacert_5fder_5fadjust_5flength',['atcacert_der_adjust_length',['../a03534.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c'],['../a03534.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5fecdsa_5fsig_5fvalue',['atcacert_der_dec_ecdsa_sig_value',['../a03534.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c'],['../a03534.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5finteger',['atcacert_der_dec_integer',['../a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c'],['../a03534.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c']]], - ['atcacert_5fder_5fdec_5flength',['atcacert_der_dec_length',['../a03534.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c'],['../a03534.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5fecdsa_5fsig_5fvalue',['atcacert_der_enc_ecdsa_sig_value',['../a03534.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c'],['../a03534.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5finteger',['atcacert_der_enc_integer',['../a03534.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c'],['../a03534.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c']]], - ['atcacert_5fder_5fenc_5flength',['atcacert_der_enc_length',['../a03534.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c'],['../a03534.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c']]], - ['atcacert_5fencode_5fpem',['atcacert_encode_pem',['../a00170.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c'],['../a00173.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c']]], - ['atcacert_5fencode_5fpem_5fcert',['atcacert_encode_pem_cert',['../a00170.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c'],['../a00173.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c']]], - ['atcacert_5fencode_5fpem_5fcsr',['atcacert_encode_pem_csr',['../a00170.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c'],['../a00173.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c']]], - ['atcacert_5fgen_5fcert_5fsn',['atcacert_gen_cert_sn',['../a03534.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c'],['../a03534.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c']]], - ['atcacert_5fgen_5fchallenge_5fhw',['atcacert_gen_challenge_hw',['../a03534.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c'],['../a03534.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c']]], - ['atcacert_5fgen_5fchallenge_5fsw',['atcacert_gen_challenge_sw',['../a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c'],['../a03534.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c']]], - ['atcacert_5fget_5fauth_5fkey_5fid',['atcacert_get_auth_key_id',['../a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c'],['../a03534.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fcert_5felement',['atcacert_get_cert_element',['../a03534.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c'],['../a03534.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c']]], - ['atcacert_5fget_5fcert_5fsn',['atcacert_get_cert_sn',['../a03534.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c'],['../a03534.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c']]], - ['atcacert_5fget_5fcomp_5fcert',['atcacert_get_comp_cert',['../a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c'],['../a03534.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c']]], - ['atcacert_5fget_5fdevice_5fdata',['atcacert_get_device_data',['../a03534.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c'],['../a03534.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c']]], - ['atcacert_5fget_5fdevice_5flocs',['atcacert_get_device_locs',['../a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c'],['../a03534.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c']]], - ['atcacert_5fget_5fexpire_5fdate',['atcacert_get_expire_date',['../a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fget_5fissue_5fdate',['atcacert_get_issue_date',['../a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fget_5fkey_5fid',['atcacert_get_key_id',['../a03534.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c'],['../a03534.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fresponse',['atcacert_get_response',['../a03534.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c'],['../a03534.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c']]], - ['atcacert_5fget_5fsignature',['atcacert_get_signature',['../a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c'],['../a03534.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c']]], - ['atcacert_5fget_5fsigner_5fid',['atcacert_get_signer_id',['../a03534.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c'],['../a03534.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c']]], - ['atcacert_5fget_5fsubj_5fkey_5fid',['atcacert_get_subj_key_id',['../a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c'],['../a03534.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c']]], - ['atcacert_5fget_5fsubj_5fpublic_5fkey',['atcacert_get_subj_public_key',['../a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c'],['../a03534.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c']]], - ['atcacert_5fget_5ftbs',['atcacert_get_tbs',['../a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c'],['../a03534.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c']]], - ['atcacert_5fget_5ftbs_5fdigest',['atcacert_get_tbs_digest',['../a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c'],['../a03534.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c']]], - ['atcacert_5fis_5fdevice_5floc_5foverlap',['atcacert_is_device_loc_overlap',['../a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c'],['../a03534.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c']]], - ['atcacert_5fmerge_5fdevice_5floc',['atcacert_merge_device_loc',['../a03534.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c'],['../a03534.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c']]], - ['atcacert_5fpublic_5fkey_5fadd_5fpadding',['atcacert_public_key_add_padding',['../a03534.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c'],['../a03534.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c']]], - ['atcacert_5fpublic_5fkey_5fremove_5fpadding',['atcacert_public_key_remove_padding',['../a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c'],['../a03534.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c']]], - ['atcacert_5fread_5fcert',['atcacert_read_cert',['../a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c'],['../a03534.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c']]], - ['atcacert_5fset_5fauth_5fkey_5fid',['atcacert_set_auth_key_id',['../a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c'],['../a03534.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c']]], - ['atcacert_5fset_5fauth_5fkey_5fid_5fraw',['atcacert_set_auth_key_id_raw',['../a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c'],['../a03534.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c']]], - ['atcacert_5fset_5fcert_5felement',['atcacert_set_cert_element',['../a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c'],['../a03534.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c']]], - ['atcacert_5fset_5fcert_5fsn',['atcacert_set_cert_sn',['../a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c'],['../a03534.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c']]], - ['atcacert_5fset_5fcomp_5fcert',['atcacert_set_comp_cert',['../a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c'],['../a03534.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c']]], - ['atcacert_5fset_5fexpire_5fdate',['atcacert_set_expire_date',['../a03534.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fset_5fissue_5fdate',['atcacert_set_issue_date',['../a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a03534.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], - ['atcacert_5fset_5fsignature',['atcacert_set_signature',['../a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c'],['../a03534.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c']]], - ['atcacert_5fset_5fsigner_5fid',['atcacert_set_signer_id',['../a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c'],['../a03534.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c']]], - ['atcacert_5fset_5fsubj_5fpublic_5fkey',['atcacert_set_subj_public_key',['../a03534.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c'],['../a03534.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c']]], - ['atcacert_5fverify_5fcert_5fhw',['atcacert_verify_cert_hw',['../a03534.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c'],['../a03534.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c']]], - ['atcacert_5fverify_5fcert_5fsw',['atcacert_verify_cert_sw',['../a03534.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c'],['../a03534.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c']]], - ['atcacert_5fverify_5fresponse_5fhw',['atcacert_verify_response_hw',['../a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c'],['../a03534.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c']]], - ['atcacert_5fverify_5fresponse_5fsw',['atcacert_verify_response_sw',['../a03534.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c'],['../a03534.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c']]], - ['atcacert_5fwrite_5fcert',['atcacert_write_cert',['../a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c'],['../a03534.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c']]], - ['atcah_5fcheck_5fmac',['atcah_check_mac',['../a03538.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c'],['../a03538.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c']]], - ['atcah_5fconfig_5fto_5fsign_5finternal',['atcah_config_to_sign_internal',['../a03538.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c'],['../a03538.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c']]], - ['atcah_5fdecrypt',['atcah_decrypt',['../a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c'],['../a03538.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c']]], - ['atcah_5fderive_5fkey',['atcah_derive_key',['../a03538.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c'],['../a03538.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c']]], - ['atcah_5fderive_5fkey_5fmac',['atcah_derive_key_mac',['../a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c'],['../a03538.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c']]], - ['atcah_5fencode_5fcounter_5fmatch',['atcah_encode_counter_match',['../a03538.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter_value, uint8_t *counter_match_value): atca_host.c'],['../a03538.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match): atca_host.c']]], - ['atcah_5fgen_5fdig',['atcah_gen_dig',['../a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c'],['../a03538.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c']]], - ['atcah_5fgen_5fkey_5fmsg',['atcah_gen_key_msg',['../a03538.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c'],['../a03538.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c']]], - ['atcah_5fgen_5fmac',['atcah_gen_mac',['../a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c'],['../a03538.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c']]], - ['atcah_5fhmac',['atcah_hmac',['../a03538.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c'],['../a03538.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c']]], - ['atcah_5finclude_5fdata',['atcah_include_data',['../a03538.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c'],['../a03538.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c']]], - ['atcah_5fio_5fdecrypt',['atcah_io_decrypt',['../a03538.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c'],['../a03538.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c']]], - ['atcah_5fmac',['atcah_mac',['../a03538.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c'],['../a03538.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c']]], - ['atcah_5fnonce',['atcah_nonce',['../a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c'],['../a03538.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c']]], - ['atcah_5fprivwrite_5fauth_5fmac',['atcah_privwrite_auth_mac',['../a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a03538.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], - ['atcah_5fsecureboot_5fenc',['atcah_secureboot_enc',['../a03538.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c'],['../a03538.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c']]], - ['atcah_5fsecureboot_5fmac',['atcah_secureboot_mac',['../a03538.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c'],['../a03538.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c']]], - ['atcah_5fsha256',['atcah_sha256',['../a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c'],['../a03538.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c']]], - ['atcah_5fsign_5finternal_5fmsg',['atcah_sign_internal_msg',['../a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c'],['../a03538.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c']]], - ['atcah_5fverify_5fmac',['atcah_verify_mac',['../a03538.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c'],['../a03538.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c']]], - ['atcah_5fwrite_5fauth_5fmac',['atcah_write_auth_mac',['../a03538.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a03538.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], - ['atcalccrc',['atCalcCrc',['../a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *packet): atca_command.c'],['../a03531.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *pkt): atca_command.c']]], - ['atcheckcrc',['atCheckCrc',['../a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c'],['../a03531.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c']]], - ['atcheckmac',['atCheckMAC',['../a03531.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atcounter',['atCounter',['../a03531.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atcrc',['atCRC',['../a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c'],['../a03531.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c']]], - ['atderivekey',['atDeriveKey',['../a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a03531.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], - ['atecdh',['atECDH',['../a03531.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atgendig',['atGenDig',['../a03531.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c'],['../a03531.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c']]], - ['atgenkey',['atGenKey',['../a03531.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atgetcommands',['atGetCommands',['../a03532.html#gabf51c08f1928fc5ec44936f3117a9f7e',1,'atca_device.c']]], - ['atgetiface',['atGetIFace',['../a03532.html#ga3f98e29cffa06446fc91b329703606af',1,'atca_device.c']]], - ['atgetifacecfg',['atgetifacecfg',['../a03533.html#gac88ba81abfd42df65c6c0c64414dfc6e',1,'atca_iface.c']]], - ['atgetifacehaldat',['atgetifacehaldat',['../a03533.html#ga5e4163b8882d4eb42d4d5191c8731da0',1,'atca_iface.c']]], - ['athmac',['atHMAC',['../a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atidle',['atidle',['../a03533.html#gac794fffe040e6d47a34c756720f3cbea',1,'atca_iface.c']]], - ['atinfo',['atInfo',['../a03531.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atinit',['atinit',['../a03533.html#ga386353e8700eec35e4548dfa29f13b8d',1,'atca_iface.c']]], - ['atiseccfamily',['atIsECCFamily',['../a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c']]], - ['atisshafamily',['atIsSHAFamily',['../a03531.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c']]], - ['atkdf',['atKDF',['../a03531.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atlock',['atLock',['../a03531.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atmac',['atMAC',['../a03531.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atnonce',['atNonce',['../a03531.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atpause',['atPause',['../a03531.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atpostinit',['atpostinit',['../a03533.html#ga6a9d6c47d866cba4ddd4ee6e671743d5',1,'atca_iface.h']]], - ['atprivwrite',['atPrivWrite',['../a03531.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atrandom',['atRandom',['../a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atread',['atRead',['../a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atreceive',['atreceive',['../a03533.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb',1,'atca_iface.c']]], - ['atsecureboot',['atSecureBoot',['../a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atselftest',['atSelfTest',['../a03531.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atsend',['atsend',['../a03533.html#ga29c6f441d31c84629954d50cc95d3c5d',1,'atca_iface.c']]], - ['atsha',['atSHA',['../a03531.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c'],['../a03531.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c']]], - ['atsign',['atSign',['../a03531.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atsleep',['atsleep',['../a03533.html#gac06336335e5f3191e3b1fc06d2830d96',1,'atca_iface.c']]], - ['atupdateextra',['atUpdateExtra',['../a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atverify',['atVerify',['../a03531.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a03531.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], - ['atwake',['atwake',['../a03533.html#ga32693c852341e1b946bab3cca5f71761',1,'atca_iface.c']]], - ['atwrite',['atWrite',['../a03531.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a03531.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]] + ['ataes',['atAES',['../a00906.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga17ffd71c28597552f5c4517096ef1fb8',1,'atAES(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atca_5fdelay_5f10us',['atca_delay_10us',['../a00912.html#ga19891182689551cc3a88603135959351',1,'hal_at90usb1287_timer_asf.c']]], + ['atca_5fdelay_5fms',['atca_delay_ms',['../a00912.html#ga80a853a202b089064bfc4b159c3418b4',1,'atca_delay_ms(uint32_t delay): hal_at90usb1287_timer_asf.c'],['../a00356.html#a4b83848e938fac7ec4dde79e584b6f71',1,'atca_delay_ms(uint32_t msec): hal_esp32_timer.c']]], + ['atca_5fdelay_5fus',['atca_delay_us',['../a00912.html#ga7598dfcd6dcac882836544d48356d02f',1,'hal_at90usb1287_timer_asf.c']]], + ['atca_5fexecute_5fcommand',['atca_execute_command',['../a00122.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c'],['../a00125.html#a9a6a7a38f14d486a4b2124d196fc6849',1,'atca_execute_command(ATCAPacket *packet, ATCADevice device): atca_execution.c']]], + ['atca_5fjwt_5fadd_5fclaim_5fnumeric',['atca_jwt_add_claim_numeric',['../a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c'],['../a00914.html#ga7073a7cfb7c77ad02923cdbb1226d2ad',1,'atca_jwt_add_claim_numeric(atca_jwt_t *jwt, const char *claim, int32_t value): atca_jwt.c']]], + ['atca_5fjwt_5fadd_5fclaim_5fstring',['atca_jwt_add_claim_string',['../a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c'],['../a00914.html#ga3e6036b2c0e6dbc96a30f078e56cacff',1,'atca_jwt_add_claim_string(atca_jwt_t *jwt, const char *claim, const char *value): atca_jwt.c']]], + ['atca_5fjwt_5fcheck_5fpayload_5fstart',['atca_jwt_check_payload_start',['../a00914.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c'],['../a00914.html#ga167fe35631a0dd191293c6ad3a6485aa',1,'atca_jwt_check_payload_start(atca_jwt_t *jwt): atca_jwt.c']]], + ['atca_5fjwt_5ffinalize',['atca_jwt_finalize',['../a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c'],['../a00914.html#ga6d1bf5c8bf4fb49e1e80c19911157d4b',1,'atca_jwt_finalize(atca_jwt_t *jwt, uint16_t key_id): atca_jwt.c']]], + ['atca_5fjwt_5finit',['atca_jwt_init',['../a00914.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c'],['../a00914.html#gad3ea09543f0569a5368130f4a3d7bce0',1,'atca_jwt_init(atca_jwt_t *jwt, char *buf, uint16_t buflen): atca_jwt.c']]], + ['atca_5fjwt_5fverify',['atca_jwt_verify',['../a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c'],['../a00914.html#ga0e2ca8c9bd4954e004cd10cdc29c9a9b',1,'atca_jwt_verify(const char *buf, uint16_t buflen, const uint8_t *pubkey): atca_jwt.c']]], + ['atcab_5faes',['atcab_aes',['../a00910.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c'],['../a00910.html#gad115ce255664a48b80e90ea19c156b79',1,'atcab_aes(uint8_t mode, uint16_t key_id, const uint8_t *aes_in, uint8_t *aes_out): atca_basic_aes.c']]], + ['atcab_5faes_5fcbc_5fdecrypt_5fblock',['atcab_aes_cbc_decrypt_block',['../a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_cbc.c'],['../a00910.html#ga7c66e1b8b31bb87be3de6c9a9084c21e',1,'atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcbc_5fencrypt_5fblock',['atcab_aes_cbc_encrypt_block',['../a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_cbc.c'],['../a00910.html#ga7414e3dc8215cedc1bffc6cf576d7d1e',1,'atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcbc_5finit',['atcab_aes_cbc_init',['../a00910.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes_cbc.c'],['../a00910.html#gabc41b824cdc9b10efa46bcbf74850184',1,'atcab_aes_cbc_init(atca_aes_cbc_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv): atca_basic_aes_cbc.c']]], + ['atcab_5faes_5fcmac_5ffinish',['atcab_aes_cmac_finish',['../a00910.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes_cmac.c'],['../a00910.html#gac0be51b283b107465dcf42758ca31687',1,'atcab_aes_cmac_finish(atca_aes_cmac_ctx_t *ctx, uint8_t *cmac, uint32_t cmac_size): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fcmac_5finit',['atcab_aes_cmac_init',['../a00910.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes_cmac.c'],['../a00910.html#ga84506ff4105e63823c99527788d36d52',1,'atcab_aes_cmac_init(atca_aes_cmac_ctx_t *ctx, uint16_t key_id, uint8_t key_block): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fcmac_5fupdate',['atcab_aes_cmac_update',['../a00910.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes_cmac.c'],['../a00910.html#ga0cf22e893c713890faeb9fa8784760b1',1,'atcab_aes_cmac_update(atca_aes_cmac_ctx_t *ctx, const uint8_t *data, uint32_t data_size): atca_basic_aes_cmac.c']]], + ['atcab_5faes_5fctr_5fblock',['atcab_aes_ctr_block',['../a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes_ctr.c'],['../a00910.html#ga76937b340e59be4dc1a30d8c7b76ebe0',1,'atcab_aes_ctr_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *input, uint8_t *output): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fdecrypt_5fblock',['atcab_aes_ctr_decrypt_block',['../a00910.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_ctr.c'],['../a00910.html#gada9491be0c81fb18b021f71b9a6eda3e',1,'atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fencrypt_5fblock',['atcab_aes_ctr_encrypt_block',['../a00910.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_ctr.c'],['../a00910.html#ga7182e48a847f9c1b31f19c60f373e2da',1,'atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t *ctx, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5fincrement',['atcab_aes_ctr_increment',['../a00910.html#ga475b72450dcd21c822de5cb366197927',1,'atcab_aes_ctr_increment(atca_aes_ctr_ctx_t *ctx): atca_basic_aes_ctr.c'],['../a00910.html#ga475b72450dcd21c822de5cb366197927',1,'atcab_aes_ctr_increment(atca_aes_ctr_ctx_t *ctx): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5finit',['atcab_aes_ctr_init',['../a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes_ctr.c'],['../a00910.html#ga0db7d24f31dc2dd4805e3c433ae604ad',1,'atcab_aes_ctr_init(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t *iv): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fctr_5finit_5frand',['atcab_aes_ctr_init_rand',['../a00910.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes_ctr.c'],['../a00910.html#gae7558905ea6a82c4bd50d4b99e954d91',1,'atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t *ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t *iv): atca_basic_aes_ctr.c']]], + ['atcab_5faes_5fdecrypt',['atcab_aes_decrypt',['../a00910.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c'],['../a00910.html#ga9658e84055727e6357cf7ef636b4e398',1,'atcab_aes_decrypt(uint16_t key_id, uint8_t key_block, const uint8_t *ciphertext, uint8_t *plaintext): atca_basic_aes.c']]], + ['atcab_5faes_5fencrypt',['atcab_aes_encrypt',['../a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c'],['../a00910.html#gacc9a58dc49f91674213f34fa7bbd05e1',1,'atcab_aes_encrypt(uint16_t key_id, uint8_t key_block, const uint8_t *plaintext, uint8_t *ciphertext): atca_basic_aes.c']]], + ['atcab_5faes_5fgcm_5faad_5fupdate',['atcab_aes_gcm_aad_update',['../a00200.html#a1d6fd831a8125a366504a0ab77b62da8',1,'atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size): atca_basic_aes_gcm.c'],['../a00203.html#a1d6fd831a8125a366504a0ab77b62da8',1,'atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *aad, uint32_t aad_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fdecrypt_5ffinish',['atcab_aes_gcm_decrypt_finish',['../a00200.html#aa86508958ff3d81f9bd8e79344537218',1,'atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified): atca_basic_aes_gcm.c'],['../a00203.html#aa86508958ff3d81f9bd8e79344537218',1,'atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t *ctx, const uint8_t *tag, size_t tag_size, bool *is_verified): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fdecrypt_5fupdate',['atcab_aes_gcm_decrypt_update',['../a00200.html#a2ad3270d8bebf6172dc02d0c7d9fb738',1,'atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext): atca_basic_aes_gcm.c'],['../a00203.html#a2ad3270d8bebf6172dc02d0c7d9fb738',1,'atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *ciphertext, uint32_t ciphertext_size, uint8_t *plaintext): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fencrypt_5ffinish',['atcab_aes_gcm_encrypt_finish',['../a00200.html#ada2d38835826587970de3868ca48eaa4',1,'atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size): atca_basic_aes_gcm.c'],['../a00203.html#ada2d38835826587970de3868ca48eaa4',1,'atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t *ctx, uint8_t *tag, size_t tag_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5fencrypt_5fupdate',['atcab_aes_gcm_encrypt_update',['../a00200.html#ab3fda8219d17d1b7bc50b1040399a47d',1,'atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext): atca_basic_aes_gcm.c'],['../a00203.html#ab3fda8219d17d1b7bc50b1040399a47d',1,'atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t *ctx, const uint8_t *plaintext, uint32_t plaintext_size, uint8_t *ciphertext): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5finit',['atcab_aes_gcm_init',['../a00200.html#a4805112b62e86b5465e24648504dc374',1,'atcab_aes_gcm_init(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size): atca_basic_aes_gcm.c'],['../a00203.html#a4805112b62e86b5465e24648504dc374',1,'atcab_aes_gcm_init(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, const uint8_t *iv, size_t iv_size): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgcm_5finit_5frand',['atcab_aes_gcm_init_rand',['../a00200.html#ad71a5720ceaddf2c76476aead5f0c3e6',1,'atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv): atca_basic_aes_gcm.c'],['../a00203.html#ad71a5720ceaddf2c76476aead5f0c3e6',1,'atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t *ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, const uint8_t *free_field, size_t free_field_size, uint8_t *iv): atca_basic_aes_gcm.c']]], + ['atcab_5faes_5fgfm',['atcab_aes_gfm',['../a00910.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c'],['../a00910.html#ga5554940ed4c7c7e28652ce6923cf9314',1,'atcab_aes_gfm(const uint8_t *h, const uint8_t *input, uint8_t *output): atca_basic_aes.c']]], + ['atcab_5fbase64decode',['atcab_base64decode',['../a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_len, uint8_t *byte_array, size_t *array_len): atca_helpers.c'],['../a00910.html#ga1593f87c555ab964d3ebd5edd49aeb0b',1,'atcab_base64decode(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size): atca_helpers.c']]], + ['atcab_5fbase64decode_5f',['atcab_base64decode_',['../a00910.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga55ba8a1787f69d44d6e40db041fbd786',1,'atcab_base64decode_(const char *encoded, size_t encoded_size, uint8_t *data, size_t *data_size, const uint8_t *rules): atca_helpers.c']]], + ['atcab_5fbase64encode',['atcab_base64encode',['../a00910.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *byte_array, size_t array_len, char *encoded, size_t *encoded_len): atca_helpers.c'],['../a00910.html#ga4b7e341b530fcac3f4eaae874bb36422',1,'atcab_base64encode(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size): atca_helpers.c']]], + ['atcab_5fbase64encode_5f',['atcab_base64encode_',['../a00910.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gaeeff0177acf29e6e7b134a14d7119d69',1,'atcab_base64encode_(const uint8_t *data, size_t data_size, char *encoded, size_t *encoded_size, const uint8_t *rules): atca_helpers.c']]], + ['atcab_5fbin2hex',['atcab_bin2hex',['../a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c'],['../a00910.html#gae31a9fd8e9deca79aa5fef0292fe5272',1,'atcab_bin2hex(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size): atca_helpers.c']]], + ['atcab_5fbin2hex_5f',['atcab_bin2hex_',['../a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c'],['../a00910.html#ga121d8391484d9e0c8c0e3f6dbac8285c',1,'atcab_bin2hex_(const uint8_t *bin, size_t bin_size, char *hex, size_t *hex_size, bool is_pretty): atca_helpers.c']]], + ['atcab_5fcfg_5fdiscover',['atcab_cfg_discover',['../a00910.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max_ifaces): atca_basic.c'],['../a00910.html#ga1518196e269b549eec78087abd130de7',1,'atcab_cfg_discover(ATCAIfaceCfg cfg_array[], int max): atca_basic.c']]], + ['atcab_5fchallenge',['atcab_challenge',['../a00910.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c'],['../a00910.html#ga114a721517c95d5ba5fcac5b226669d6',1,'atcab_challenge(const uint8_t *num_in): atca_basic_nonce.c']]], + ['atcab_5fchallenge_5fseed_5fupdate',['atcab_challenge_seed_update',['../a00910.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaadde4309089c569fd87c24a1a2326cd4',1,'atcab_challenge_seed_update(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fcheckmac',['atcab_checkmac',['../a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c'],['../a00910.html#ga5ba49c05f7b3fb5acaf55df993ccd3ee',1,'atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data): atca_basic_checkmac.c']]], + ['atcab_5fcmp_5fconfig_5fzone',['atcab_cmp_config_zone',['../a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c'],['../a00910.html#gadb91d2c3601b95f0ad413cf84a4dfd87',1,'atcab_cmp_config_zone(uint8_t *config_data, bool *same_config): atca_basic_read.c']]], + ['atcab_5fcounter',['atcab_counter',['../a00910.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#gabaaaef242649206029e1c10ac6d1fb7d',1,'atcab_counter(uint8_t mode, uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fcounter_5fincrement',['atcab_counter_increment',['../a00910.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#ga6e510e056ea16a0a34b405b7ca378f16',1,'atcab_counter_increment(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fcounter_5fread',['atcab_counter_read',['../a00910.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c'],['../a00910.html#gaeee666028a097659af69cc828a6bd68b',1,'atcab_counter_read(uint16_t counter_id, uint32_t *counter_value): atca_basic_counter.c']]], + ['atcab_5fderivekey',['atcab_derivekey',['../a00910.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t key_id, const uint8_t *mac): atca_basic_derivekey.c'],['../a00910.html#ga34b7b6d46868f0d63d195216ef9939b1',1,'atcab_derivekey(uint8_t mode, uint16_t target_key, const uint8_t *mac): atca_basic_derivekey.c']]], + ['atcab_5fecdh',['atcab_ecdh',['../a00910.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a00910.html#ga6fc480ad2824df6309f4f370ffad15f9',1,'atcab_ecdh(uint16_t key_id, const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fbase',['atcab_ecdh_base',['../a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c'],['../a00910.html#ga211c9405bb5049dd4a5da92d25c83f3c',1,'atcab_ecdh_base(uint8_t mode, uint16_t key_id, const uint8_t *public_key, uint8_t *pms, uint8_t *out_nonce): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fenc',['atcab_ecdh_enc',['../a00910.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c'],['../a00910.html#gab6e0c175cbcb5f794b12a8ec22485176',1,'atcab_ecdh_enc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *read_key, uint16_t read_key_id): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5fioenc',['atcab_ecdh_ioenc',['../a00910.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a00910.html#ga975f7303086190d3b6f76c367583d622',1,'atcab_ecdh_ioenc(uint16_t key_id, const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5ftempkey',['atcab_ecdh_tempkey',['../a00910.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c'],['../a00910.html#gac244b83b061ffd8ae3d59b5f973baa53',1,'atcab_ecdh_tempkey(const uint8_t *public_key, uint8_t *pms): atca_basic_ecdh.c']]], + ['atcab_5fecdh_5ftempkey_5fioenc',['atcab_ecdh_tempkey_ioenc',['../a00910.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c'],['../a00910.html#gafaccb0c9d12154b0c5b917f89f233721',1,'atcab_ecdh_tempkey_ioenc(const uint8_t *public_key, uint8_t *pms, const uint8_t *io_key): atca_basic_ecdh.c']]], + ['atcab_5fgendig',['atcab_gendig',['../a00910.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c'],['../a00910.html#ga70751ea87f2cf913986bc7bca2cc661f',1,'atcab_gendig(uint8_t zone, uint16_t key_id, const uint8_t *other_data, uint8_t other_data_size): atca_basic_gendig.c']]], + ['atcab_5fgenkey',['atcab_genkey',['../a00910.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#ga617bdbdce7b5736351d93214d44c5b8f',1,'atcab_genkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fgenkey_5fbase',['atcab_genkey_base',['../a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#gaa8b6953ad2c7f749e61566fd38fe6903',1,'atcab_genkey_base(uint8_t mode, uint16_t key_id, const uint8_t *other_data, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fget_5faddr',['atcab_get_addr',['../a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c'],['../a00910.html#gabdfeb1f8d28039e9b30d4e39b8caa33a',1,'atcab_get_addr(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint16_t *addr): atca_basic.c']]], + ['atcab_5fget_5fdevice',['atcab_get_device',['../a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c'],['../a00910.html#ga4af82005556c549c30e1c4bd35d4f4e4',1,'atcab_get_device(void): atca_basic.c']]], + ['atcab_5fget_5fpubkey',['atcab_get_pubkey',['../a00910.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c'],['../a00910.html#gad2096a4618dd37c48ed48847fe63d844',1,'atcab_get_pubkey(uint16_t key_id, uint8_t *public_key): atca_basic_genkey.c']]], + ['atcab_5fget_5fzone_5fsize',['atcab_get_zone_size',['../a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c'],['../a00910.html#ga7a823d2a391bf80ff336eb2ccbd37412',1,'atcab_get_zone_size(uint8_t zone, uint16_t slot, size_t *size): atca_basic.c']]], + ['atcab_5fhex2bin',['atcab_hex2bin',['../a00910.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *hex, size_t hex_size, uint8_t *bin, size_t *bin_size): atca_helpers.c'],['../a00910.html#ga481179181349c801c16fc1ab698f2f24',1,'atcab_hex2bin(const char *ascii_hex, size_t ascii_hex_len, uint8_t *binary, size_t *bin_len): atca_helpers.c']]], + ['atcab_5fhmac',['atcab_hmac',['../a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c'],['../a00910.html#ga45f1d09a51f7a1f68916536ab5125b9d',1,'atcab_hmac(uint8_t mode, uint16_t key_id, uint8_t *digest): atca_basic_hmac.c']]], + ['atcab_5fhw_5fsha2_5f256',['atcab_hw_sha2_256',['../a00910.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga4bf8b665fe1712626a480742c2daa16b',1,'atcab_hw_sha2_256(const uint8_t *data, size_t data_size, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5ffinish',['atcab_hw_sha2_256_finish',['../a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga6ed7e645262fcc32b00d8a9facf09e91',1,'atcab_hw_sha2_256_finish(atca_sha256_ctx_t *ctx, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5finit',['atcab_hw_sha2_256_init',['../a00910.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c'],['../a00910.html#gade49e7746864105730fa7d531645ff62',1,'atcab_hw_sha2_256_init(atca_sha256_ctx_t *ctx): atca_basic_sha.c']]], + ['atcab_5fhw_5fsha2_5f256_5fupdate',['atcab_hw_sha2_256_update',['../a00910.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a00910.html#ga67f2ce6224651d9cc65e9915e35558bd',1,'atcab_hw_sha2_256_update(atca_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], + ['atcab_5fidle',['atcab_idle',['../a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c'],['../a00910.html#gaf47433a371b9fcb8d65a4214cd9e4fa0',1,'atcab_idle(void): atca_basic.c']]], + ['atcab_5finfo',['atcab_info',['../a00910.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c'],['../a00910.html#ga6e19ecd60be4c74665d9ec142e460771',1,'atcab_info(uint8_t *revision): atca_basic_info.c']]], + ['atcab_5finfo_5fbase',['atcab_info_base',['../a00910.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c'],['../a00910.html#ga806d07982fda5c30755af6b5b4ef9314',1,'atcab_info_base(uint8_t mode, uint16_t param2, uint8_t *out_data): atca_basic_info.c']]], + ['atcab_5finfo_5fget_5flatch',['atcab_info_get_latch',['../a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c'],['../a00910.html#ga376b6ae92f14c60fba4ca5c6461e0b48',1,'atcab_info_get_latch(bool *state): atca_basic_info.c']]], + ['atcab_5finfo_5fset_5flatch',['atcab_info_set_latch',['../a00910.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c'],['../a00910.html#ga2649126606db8a0b64ae8e19d09f6600',1,'atcab_info_set_latch(bool state): atca_basic_info.c']]], + ['atcab_5finit',['atcab_init',['../a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c'],['../a00910.html#gacdc4fa3d2f2f6d197af8c10ab1f288b8',1,'atcab_init(ATCAIfaceCfg *cfg): atca_basic.c']]], + ['atcab_5finit_5fdevice',['atcab_init_device',['../a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c'],['../a00910.html#gab22d2a32e6c32c14c4e58ce794ff3ec4',1,'atcab_init_device(ATCADevice ca_device): atca_basic.c']]], + ['atcab_5fis_5flocked',['atcab_is_locked',['../a00910.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c'],['../a00910.html#gaefce484222bdbedef37787a9b10d4426',1,'atcab_is_locked(uint8_t zone, bool *is_locked): atca_basic_read.c']]], + ['atcab_5fis_5fslot_5flocked',['atcab_is_slot_locked',['../a00910.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c'],['../a00910.html#ga802de50265ff91dc30dd7c93d9e026e1',1,'atcab_is_slot_locked(uint16_t slot, bool *is_locked): atca_basic_read.c']]], + ['atcab_5fkdf',['atcab_kdf',['../a00910.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c'],['../a00910.html#ga40a6c01492a76366f9402302b527c4e1',1,'atcab_kdf(uint8_t mode, uint16_t key_id, const uint32_t details, const uint8_t *message, uint8_t *out_data, uint8_t *out_nonce): atca_basic_kdf.c']]], + ['atcab_5flock',['atcab_lock',['../a00910.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#ga25d2895192d93c524f5dba92a492cdfb',1,'atcab_lock(uint8_t mode, uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5flock_5fconfig_5fzone',['atcab_lock_config_zone',['../a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c'],['../a00910.html#ga7cd67c03c7184ad041e2c0ad4f27db23',1,'atcab_lock_config_zone(void): atca_basic_lock.c']]], + ['atcab_5flock_5fconfig_5fzone_5fcrc',['atcab_lock_config_zone_crc',['../a00910.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#ga0698e0c55ad700fe57498321e842cb38',1,'atcab_lock_config_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fslot',['atcab_lock_data_slot',['../a00910.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c'],['../a00910.html#ga958190a9182d1b54f82fbca8216406ea',1,'atcab_lock_data_slot(uint16_t slot): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fzone',['atcab_lock_data_zone',['../a00910.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c'],['../a00910.html#ga8020aa89a5bed09ad35320b78e0fb890',1,'atcab_lock_data_zone(void): atca_basic_lock.c']]], + ['atcab_5flock_5fdata_5fzone_5fcrc',['atcab_lock_data_zone_crc',['../a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c'],['../a00910.html#gaf29e398e2aca927ab4606aa1ec0308c6',1,'atcab_lock_data_zone_crc(uint16_t summary_crc): atca_basic_lock.c']]], + ['atcab_5fmac',['atcab_mac',['../a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c'],['../a00910.html#ga98cb802fbb5d78cd552bb05c21d6c791',1,'atcab_mac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, uint8_t *digest): atca_basic_mac.c']]], + ['atcab_5fnonce',['atcab_nonce',['../a00910.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c'],['../a00910.html#ga2293df1c1c794496790bae25d3844fa5',1,'atcab_nonce(const uint8_t *num_in): atca_basic_nonce.c']]], + ['atcab_5fnonce_5fbase',['atcab_nonce_base',['../a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaf8e10791759a8a5e5dcd82774f4895d6',1,'atcab_nonce_base(uint8_t mode, uint16_t zero, const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fnonce_5fload',['atcab_nonce_load',['../a00910.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c'],['../a00910.html#ga2239ae3a87c341a48aa108bd82a58552',1,'atcab_nonce_load(uint8_t target, const uint8_t *num_in, uint16_t num_in_size): atca_basic_nonce.c']]], + ['atcab_5fnonce_5frand',['atcab_nonce_rand',['../a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c'],['../a00910.html#gaed67d447d547c67b7b8be6b958d1fb5c',1,'atcab_nonce_rand(const uint8_t *num_in, uint8_t *rand_out): atca_basic_nonce.c']]], + ['atcab_5fprintbin',['atcab_printbin',['../a00910.html#ga72601de415fd0bbc73faa1ddbc52e56e',1,'atca_helpers.h']]], + ['atcab_5fprintbin_5flabel',['atcab_printbin_label',['../a00910.html#ga248355e3b4bcdd5d728f214fc2eb79e4',1,'atca_helpers.h']]], + ['atcab_5fprintbin_5fsp',['atcab_printbin_sp',['../a00910.html#ga1f88c481b376a7be9112ff081c4ad854',1,'atca_helpers.h']]], + ['atcab_5fpriv_5fwrite',['atcab_priv_write',['../a00910.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c'],['../a00910.html#gad01e8e785073d8655de9116e7df8e7b5',1,'atcab_priv_write(uint16_t key_id, const uint8_t priv_key[36], uint16_t write_key_id, const uint8_t write_key[32]): atca_basic_privwrite.c']]], + ['atcab_5frandom',['atcab_random',['../a00910.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c'],['../a00910.html#ga4fa442396dfbb89e59dfca837b565cec',1,'atcab_random(uint8_t *rand_out): atca_basic_random.c']]], + ['atcab_5fread_5fbytes_5fzone',['atcab_read_bytes_zone',['../a00910.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c'],['../a00910.html#ga750704332198726725a327344f4f7dd5',1,'atcab_read_bytes_zone(uint8_t zone, uint16_t slot, size_t offset, uint8_t *data, size_t length): atca_basic_read.c']]], + ['atcab_5fread_5fconfig_5fzone',['atcab_read_config_zone',['../a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c'],['../a00910.html#ga8ef47330eef6bc72ae8f7a8ef026dae3',1,'atcab_read_config_zone(uint8_t *config_data): atca_basic_read.c']]], + ['atcab_5fread_5fenc',['atcab_read_enc',['../a00910.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c'],['../a00910.html#ga778a262b86fa1f8a38139cbae34376e4',1,'atcab_read_enc(uint16_t key_id, uint8_t block, uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_read.c']]], + ['atcab_5fread_5fpubkey',['atcab_read_pubkey',['../a00910.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c'],['../a00910.html#ga782ca1e5b1574b2b6793c841be22b28b',1,'atcab_read_pubkey(uint16_t slot, uint8_t *public_key): atca_basic_read.c']]], + ['atcab_5fread_5fserial_5fnumber',['atcab_read_serial_number',['../a00910.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c'],['../a00910.html#ga96c434878e1f435e2cda5b0b5fec444f',1,'atcab_read_serial_number(uint8_t *serial_number): atca_basic_read.c']]], + ['atcab_5fread_5fsig',['atcab_read_sig',['../a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c'],['../a00910.html#ga098c4c2c724b90b7e2f4ecf12b9530b7',1,'atcab_read_sig(uint16_t slot, uint8_t *sig): atca_basic_read.c']]], + ['atcab_5fread_5fzone',['atcab_read_zone',['../a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c'],['../a00910.html#ga3ce01f02f456c08891ca1d67cd3ed0eb',1,'atcab_read_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, uint8_t *data, uint8_t len): atca_basic_read.c']]], + ['atcab_5frelease',['atcab_release',['../a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c'],['../a00910.html#ga3a061c1f96bb641b36fc56b6cb2dd4e4',1,'atcab_release(void): atca_basic.c']]], + ['atcab_5fsecureboot',['atcab_secureboot',['../a00910.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c'],['../a00910.html#ga9506331ea7d454fe3c9b2585128c77aa',1,'atcab_secureboot(uint8_t mode, uint16_t param2, const uint8_t *digest, const uint8_t *signature, uint8_t *mac): atca_basic_secureboot.c']]], + ['atcab_5fsecureboot_5fmac',['atcab_secureboot_mac',['../a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c'],['../a00910.html#ga5c11f2012a03ec79cb46de8e03ed0534',1,'atcab_secureboot_mac(uint8_t mode, const uint8_t *digest, const uint8_t *signature, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_secureboot.c']]], + ['atcab_5fselftest',['atcab_selftest',['../a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c'],['../a00910.html#gaeb4a36bc6992612cc3b1f950c0d020b7',1,'atcab_selftest(uint8_t mode, uint16_t param2, uint8_t *result): atca_basic_selftest.c']]], + ['atcab_5fsha',['atcab_sha',['../a00910.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c'],['../a00910.html#ga31d269ccdafd08519a899a8aebf53df1',1,'atcab_sha(uint16_t length, const uint8_t *message, uint8_t *digest): atca_basic_sha.c']]], + ['atcab_5fsha_5fbase',['atcab_sha_base',['../a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *data_in, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c'],['../a00910.html#gab3a32e171ca1c30bd31a216b32c9b5a4',1,'atcab_sha_base(uint8_t mode, uint16_t length, const uint8_t *message, uint8_t *data_out, uint16_t *data_out_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fend',['atcab_sha_end',['../a00910.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c'],['../a00910.html#ga1db86704035048066a370815b657234d',1,'atcab_sha_end(uint8_t *digest, uint16_t length, const uint8_t *message): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac',['atcab_sha_hmac',['../a00910.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a00910.html#gae655ce06583c08169170102fbb0b55c9',1,'atcab_sha_hmac(const uint8_t *data, size_t data_size, uint16_t key_slot, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5ffinish',['atcab_sha_hmac_finish',['../a00910.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c'],['../a00910.html#gaa4be9972396b7cadb08dd8e2199daf08',1,'atcab_sha_hmac_finish(atca_hmac_sha256_ctx_t *ctx, uint8_t *digest, uint8_t target): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5finit',['atcab_sha_hmac_init',['../a00910.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c'],['../a00910.html#ga310a017cddce9ef05071cb619b4b6db9',1,'atcab_sha_hmac_init(atca_hmac_sha256_ctx_t *ctx, uint16_t key_slot): atca_basic_sha.c']]], + ['atcab_5fsha_5fhmac_5fupdate',['atcab_sha_hmac_update',['../a00910.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c'],['../a00910.html#gae3343c160e80365b7e96bdfdc9b6365c',1,'atcab_sha_hmac_update(atca_hmac_sha256_ctx_t *ctx, const uint8_t *data, size_t data_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fread_5fcontext',['atcab_sha_read_context',['../a00910.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c'],['../a00910.html#ga74d1db50562642ce511fa7cbd384c2ab',1,'atcab_sha_read_context(uint8_t *context, uint16_t *context_size): atca_basic_sha.c']]], + ['atcab_5fsha_5fstart',['atcab_sha_start',['../a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c'],['../a00910.html#gae0a7ef89fce4cbd0ee1c76759cd93b9a',1,'atcab_sha_start(void): atca_basic_sha.c']]], + ['atcab_5fsha_5fupdate',['atcab_sha_update',['../a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c'],['../a00910.html#ga39bd70baa7a4c7f4849fcf8b94d4d949',1,'atcab_sha_update(const uint8_t *message): atca_basic_sha.c']]], + ['atcab_5fsha_5fwrite_5fcontext',['atcab_sha_write_context',['../a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c'],['../a00910.html#ga070fa80ac0d76f6816d9f7affbcfb120',1,'atcab_sha_write_context(const uint8_t *context, uint16_t context_size): atca_basic_sha.c']]], + ['atcab_5fsign',['atcab_sign',['../a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga69b8282d1b1e0c54b9a7d286fed503b8',1,'atcab_sign(uint16_t key_id, const uint8_t *msg, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsign_5fbase',['atcab_sign_base',['../a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga5c1e598bf3d4d25b522f42d6038a4268',1,'atcab_sign_base(uint8_t mode, uint16_t key_id, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsign_5finternal',['atcab_sign_internal',['../a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c'],['../a00910.html#ga559add3e8b4f85a9d91fc0ed86aefa29',1,'atcab_sign_internal(uint16_t key_id, bool is_invalidate, bool is_full_sn, uint8_t *signature): atca_basic_sign.c']]], + ['atcab_5fsleep',['atcab_sleep',['../a00910.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c'],['../a00910.html#ga9475e032c388144c5a0df45d1df182a5',1,'atcab_sleep(void): atca_basic.c']]], + ['atcab_5fupdateextra',['atcab_updateextra',['../a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c'],['../a00910.html#ga416e4aeacf3acc35b1d5b76028c6947d',1,'atcab_updateextra(uint8_t mode, uint16_t new_value): atca_basic_updateextra.c']]], + ['atcab_5fverify',['atcab_verify',['../a00910.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c'],['../a00910.html#ga694d921c7bc17a0e158ef96e3d476700',1,'atcab_verify(uint8_t mode, uint16_t key_id, const uint8_t *signature, const uint8_t *public_key, const uint8_t *other_data, uint8_t *mac): atca_basic_verify.c']]], + ['atcab_5fverify_5fextern',['atcab_verify_extern',['../a00910.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga2c3e18de900ba705192963d08b37f600',1,'atcab_verify_extern(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fextern_5fmac',['atcab_verify_extern_mac',['../a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga17bf17c4786be097a0bb111a6f9d8ca6',1,'atcab_verify_extern_mac(const uint8_t *message, const uint8_t *signature, const uint8_t *public_key, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5finvalidate',['atcab_verify_invalidate',['../a00910.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a00910.html#ga9393b545b2fa1fdd539672a0428a30ab',1,'atcab_verify_invalidate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fstored',['atcab_verify_stored',['../a00910.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gae8cc7670847805423ad591985eecd832',1,'atcab_verify_stored(const uint8_t *message, const uint8_t *signature, uint16_t key_id, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fstored_5fmac',['atcab_verify_stored_mac',['../a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gaa52cdbbfd2f089d8eb42ef2640204ca7',1,'atcab_verify_stored_mac(const uint8_t *message, const uint8_t *signature, uint16_t key_id, const uint8_t *num_in, const uint8_t *io_key, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fverify_5fvalidate',['atcab_verify_validate',['../a00910.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c'],['../a00910.html#gacf9a0c7772ebb65b87c4a4788850702b',1,'atcab_verify_validate(uint16_t key_id, const uint8_t *signature, const uint8_t *other_data, bool *is_verified): atca_basic_verify.c']]], + ['atcab_5fversion',['atcab_version',['../a00910.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c'],['../a00910.html#gaff701132013eaac5600dd9fd6253505d',1,'atcab_version(char *ver_str): atca_basic.c']]], + ['atcab_5fwakeup',['atcab_wakeup',['../a00910.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c'],['../a00910.html#gad3bc620aedd9322d160eece0d8d20c82',1,'atcab_wakeup(void): atca_basic.c']]], + ['atcab_5fwrite',['atcab_write',['../a00910.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c'],['../a00910.html#gabf2b29b4d3ae926b63c403d084380dbe',1,'atcab_write(uint8_t zone, uint16_t address, const uint8_t *value, const uint8_t *mac): atca_basic_write.c']]], + ['atcab_5fwrite_5fbytes_5fzone',['atcab_write_bytes_zone',['../a00910.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c'],['../a00910.html#gac395a7e195aa3cf28b48de345755feb0',1,'atcab_write_bytes_zone(uint8_t zone, uint16_t slot, size_t offset_bytes, const uint8_t *data, size_t length): atca_basic_write.c']]], + ['atcab_5fwrite_5fconfig_5fcounter',['atcab_write_config_counter',['../a00910.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c'],['../a00910.html#gab25ca44957dff1c2df34607738ca3bf7',1,'atcab_write_config_counter(uint16_t counter_id, uint32_t counter_value): atca_basic_write.c']]], + ['atcab_5fwrite_5fconfig_5fzone',['atcab_write_config_zone',['../a00910.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c'],['../a00910.html#ga0777a86aa412a97b19cc72a12c171b94',1,'atcab_write_config_zone(const uint8_t *config_data): atca_basic_write.c']]], + ['atcab_5fwrite_5fenc',['atcab_write_enc',['../a00910.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c'],['../a00910.html#ga14cf75d1be264ac1125087d76ee6344c',1,'atcab_write_enc(uint16_t key_id, uint8_t block, const uint8_t *data, const uint8_t *enc_key, const uint16_t enc_key_id): atca_basic_write.c']]], + ['atcab_5fwrite_5fpubkey',['atcab_write_pubkey',['../a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c'],['../a00910.html#ga47cbedeb3c3e9f7cbf2b9433cd60d1aa',1,'atcab_write_pubkey(uint16_t slot, const uint8_t *public_key): atca_basic_write.c']]], + ['atcab_5fwrite_5fzone',['atcab_write_zone',['../a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c'],['../a00910.html#ga1f5a6bbcf4f840803635fb8951b3a7e2',1,'atcab_write_zone(uint8_t zone, uint16_t slot, uint8_t block, uint8_t offset, const uint8_t *data, uint8_t len): atca_basic_write.c']]], + ['atcac_5fsw_5fecdsa_5fverify_5fp256',['atcac_sw_ecdsa_verify_p256',['../a00911.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c'],['../a00911.html#gaa61eee6f208a1633d35cdf8d628a6835',1,'atcac_sw_ecdsa_verify_p256(const uint8_t msg[ATCA_ECC_P256_FIELD_SIZE], const uint8_t signature[ATCA_ECC_P256_SIGNATURE_SIZE], const uint8_t public_key[ATCA_ECC_P256_PUBLIC_KEY_SIZE]): atca_crypto_sw_ecdsa.c']]], + ['atcac_5fsw_5frandom',['atcac_sw_random',['../a00911.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c'],['../a00911.html#ga0710d8bf5e92403c4026c32af39ad79e',1,'atcac_sw_random(uint8_t *data, size_t data_size): atca_crypto_sw_rand.c']]], + ['atcac_5fsw_5fsha1',['atcac_sw_sha1',['../a00911.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a00911.html#ga84b866657bf319dab2924c2db3a1e990',1,'atcac_sw_sha1(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5ffinish',['atcac_sw_sha1_finish',['../a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c'],['../a00911.html#ga5589df2a639f61a4dc4ccedc9b5a5453',1,'atcac_sw_sha1_finish(atcac_sha1_ctx *ctx, uint8_t digest[ATCA_SHA1_DIGEST_SIZE]): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5finit',['atcac_sw_sha1_init',['../a00911.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c'],['../a00911.html#gabed03bcc1228768534ef4ee49df0ad09',1,'atcac_sw_sha1_init(atcac_sha1_ctx *ctx): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha1_5fupdate',['atcac_sw_sha1_update',['../a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c'],['../a00911.html#ga65ff558306a88e0fbe2fc82bbe6a9c03',1,'atcac_sw_sha1_update(atcac_sha1_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha1.c']]], + ['atcac_5fsw_5fsha2_5f256',['atcac_sw_sha2_256',['../a00911.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a00911.html#ga63412270c4629874f2764171200c1b5c',1,'atcac_sw_sha2_256(const uint8_t *data, size_t data_size, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5ffinish',['atcac_sw_sha2_256_finish',['../a00911.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c'],['../a00911.html#gae3a29931f2104cce481aa9ef1ab16fea',1,'atcac_sw_sha2_256_finish(atcac_sha2_256_ctx *ctx, uint8_t digest[ATCA_SHA2_256_DIGEST_SIZE]): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5finit',['atcac_sw_sha2_256_init',['../a00911.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c'],['../a00911.html#ga58283666b662f084155ba693870c1077',1,'atcac_sw_sha2_256_init(atcac_sha2_256_ctx *ctx): atca_crypto_sw_sha2.c']]], + ['atcac_5fsw_5fsha2_5f256_5fupdate',['atcac_sw_sha2_256_update',['../a00911.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c'],['../a00911.html#gab1a09fa1d854722cc667cea319ca9984',1,'atcac_sw_sha2_256_update(atcac_sha2_256_ctx *ctx, const uint8_t *data, size_t data_size): atca_crypto_sw_sha2.c']]], + ['atcacert_5fcert_5fbuild_5ffinish',['atcacert_cert_build_finish',['../a00909.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c'],['../a00909.html#ga9e594a491dccf61a638be46da5d40ff9',1,'atcacert_cert_build_finish(atcacert_build_state_t *build_state): atcacert_def.c']]], + ['atcacert_5fcert_5fbuild_5fprocess',['atcacert_cert_build_process',['../a00909.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c'],['../a00909.html#ga626158cfe54b84903885b2cc6c3880e4',1,'atcacert_cert_build_process(atcacert_build_state_t *build_state, const atcacert_device_loc_t *device_loc, const uint8_t *device_data): atcacert_def.c']]], + ['atcacert_5fcert_5fbuild_5fstart',['atcacert_cert_build_start',['../a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c'],['../a00909.html#gace8ac017f58840c296fe2cf29bdaa2fe',1,'atcacert_cert_build_start(atcacert_build_state_t *build_state, const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64]): atcacert_def.c']]], + ['atcacert_5fcreate_5fcsr',['atcacert_create_csr',['../a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c'],['../a00909.html#gabd66cb9a5c50c7c62e3bc0a8ff0fc4d6',1,'atcacert_create_csr(const atcacert_def_t *csr_def, uint8_t *csr, size_t *csr_size): atcacert_client.c']]], + ['atcacert_5fcreate_5fcsr_5fpem',['atcacert_create_csr_pem',['../a00909.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c'],['../a00909.html#ga0b492025e27a705b1792b6276eeaaf68',1,'atcacert_create_csr_pem(const atcacert_def_t *csr_def, char *csr, size_t *csr_size): atcacert_client.c']]], + ['atcacert_5fdate_5fdec',['atcacert_date_dec',['../a00909.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga368d038c02673b1e6ddacfd175786e6a',1,'atcacert_date_dec(atcacert_date_format_t format, const uint8_t *formatted_date, size_t formatted_date_size, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fcompcert',['atcacert_date_dec_compcert',['../a00909.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c'],['../a00909.html#gaba31331bcfab203c786004b027512fab',1,'atcacert_date_dec_compcert(const uint8_t enc_dates[3], atcacert_date_format_t expire_date_format, atcacert_tm_utc_t *issue_date, atcacert_tm_utc_t *expire_date): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fiso8601_5fsep',['atcacert_date_dec_iso8601_sep',['../a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga3ff21be0f011ce56dfde5e2ac99e17ce',1,'atcacert_date_dec_iso8601_sep(const uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fbe',['atcacert_date_dec_posix_uint32_be',['../a00909.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga37893ca05c0e3ccbcec3725228b8a818',1,'atcacert_date_dec_posix_uint32_be(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5fposix_5fuint32_5fle',['atcacert_date_dec_posix_uint32_le',['../a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#gab5bbaaf84f1c19409ee276241e9e2f6d',1,'atcacert_date_dec_posix_uint32_le(const uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5frfc5280_5fgen',['atcacert_date_dec_rfc5280_gen',['../a00909.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#gadd219151c074c3ec7785d68741a1cae1',1,'atcacert_date_dec_rfc5280_gen(const uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fdec_5frfc5280_5futc',['atcacert_date_dec_rfc5280_utc',['../a00909.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga7fa37d88f9405a3557110e58468f9e6e',1,'atcacert_date_dec_rfc5280_utc(const uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE], atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdate_5fenc',['atcacert_date_enc',['../a00909.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c'],['../a00909.html#gaab946b2ea5dba6d1addacc995a6989ae',1,'atcacert_date_enc(atcacert_date_format_t format, const atcacert_tm_utc_t *timestamp, uint8_t *formatted_date, size_t *formatted_date_size): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fcompcert',['atcacert_date_enc_compcert',['../a00909.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c'],['../a00909.html#ga5da5a0589a6168aafd34b4aac4e07553',1,'atcacert_date_enc_compcert(const atcacert_tm_utc_t *issue_date, uint8_t expire_years, uint8_t enc_dates[3]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fiso8601_5fsep',['atcacert_date_enc_iso8601_sep',['../a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c'],['../a00909.html#gae40aeb71d824e8bbe3233e86f3fb6a3f',1,'atcacert_date_enc_iso8601_sep(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_ISO8601_SEP_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fbe',['atcacert_date_enc_posix_uint32_be',['../a00909.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c'],['../a00909.html#ga1160e4293d7831e15a47e7b3f47013ca',1,'atcacert_date_enc_posix_uint32_be(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_BE_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5fposix_5fuint32_5fle',['atcacert_date_enc_posix_uint32_le',['../a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c'],['../a00909.html#ga4825cb7a817fa9471cfe30a1aa984b8f',1,'atcacert_date_enc_posix_uint32_le(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_POSIX_UINT32_LE_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5frfc5280_5fgen',['atcacert_date_enc_rfc5280_gen',['../a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c'],['../a00909.html#gaaeb955dfc5b73719e2ecca542c2fc249',1,'atcacert_date_enc_rfc5280_gen(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_GEN_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fenc_5frfc5280_5futc',['atcacert_date_enc_rfc5280_utc',['../a00909.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c'],['../a00909.html#gaa83e2f3a3f83b321dade6cd3211136db',1,'atcacert_date_enc_rfc5280_utc(const atcacert_tm_utc_t *timestamp, uint8_t formatted_date[DATEFMT_RFC5280_UTC_SIZE]): atcacert_date.c']]], + ['atcacert_5fdate_5fget_5fmax_5fdate',['atcacert_date_get_max_date',['../a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c'],['../a00909.html#ga1d267b06c94e1db2aa2f6e91df1c843f',1,'atcacert_date_get_max_date(atcacert_date_format_t format, atcacert_tm_utc_t *timestamp): atcacert_date.c']]], + ['atcacert_5fdecode_5fpem',['atcacert_decode_pem',['../a00176.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c'],['../a00179.html#a67998c5401898020391dc6f02b11d2bd',1,'atcacert_decode_pem(const char *pem, size_t pem_size, uint8_t *der, size_t *der_size, const char *header, const char *footer): atcacert_pem.c']]], + ['atcacert_5fdecode_5fpem_5fcert',['atcacert_decode_pem_cert',['../a00176.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c'],['../a00179.html#a47e68bdf906458409c7eff1aed0dff3a',1,'atcacert_decode_pem_cert(const char *pem_cert, size_t pem_cert_size, uint8_t *der_cert, size_t *der_cert_size): atcacert_pem.c']]], + ['atcacert_5fdecode_5fpem_5fcsr',['atcacert_decode_pem_csr',['../a00176.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c'],['../a00179.html#afbccc09407aeb4d7b626b28da120211a',1,'atcacert_decode_pem_csr(const char *pem_csr, size_t pem_csr_size, uint8_t *der_csr, size_t *der_csr_size): atcacert_pem.c']]], + ['atcacert_5fder_5fadjust_5flength',['atcacert_der_adjust_length',['../a00909.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c'],['../a00909.html#ga165018175f52421ea26fb33ccf335108',1,'atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5fecdsa_5fsig_5fvalue',['atcacert_der_dec_ecdsa_sig_value',['../a00909.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c'],['../a00909.html#gac3f22b75f15e8508f35d99b95d955842',1,'atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64]): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5finteger',['atcacert_der_dec_integer',['../a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c'],['../a00909.html#ga3b095e11adc55a61e3cfb2957d0c6c77',1,'atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size): atcacert_der.c']]], + ['atcacert_5fder_5fdec_5flength',['atcacert_der_dec_length',['../a00909.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c'],['../a00909.html#gaeee4091e249b8fc202d5126a8374eeb1',1,'atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5fecdsa_5fsig_5fvalue',['atcacert_der_enc_ecdsa_sig_value',['../a00909.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c'],['../a00909.html#ga3583ada6da51d31cfe819894e8a9deeb',1,'atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5finteger',['atcacert_der_enc_integer',['../a00909.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c'],['../a00909.html#gaf156257cda87df879f54c07e80bc0e8d',1,'atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size): atcacert_der.c']]], + ['atcacert_5fder_5fenc_5flength',['atcacert_der_enc_length',['../a00909.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c'],['../a00909.html#gaafc9ef8e0164226481b670fde0223e13',1,'atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size): atcacert_der.c']]], + ['atcacert_5fencode_5fpem',['atcacert_encode_pem',['../a00176.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c'],['../a00179.html#abd464bace94353a8ff767e5a9bdc66ce',1,'atcacert_encode_pem(const uint8_t *der, size_t der_size, char *pem, size_t *pem_size, const char *header, const char *footer): atcacert_pem.c']]], + ['atcacert_5fencode_5fpem_5fcert',['atcacert_encode_pem_cert',['../a00176.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c'],['../a00179.html#a5f893d8f40bc8126a3802ad435bba895',1,'atcacert_encode_pem_cert(const uint8_t *der_cert, size_t der_cert_size, char *pem_cert, size_t *pem_cert_size): atcacert_pem.c']]], + ['atcacert_5fencode_5fpem_5fcsr',['atcacert_encode_pem_csr',['../a00176.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c'],['../a00179.html#ab148948a885c6a7c9c95494e48e45cb1',1,'atcacert_encode_pem_csr(const uint8_t *der_csr, size_t der_csr_size, char *pem_csr, size_t *pem_csr_size): atcacert_pem.c']]], + ['atcacert_5fgen_5fcert_5fsn',['atcacert_gen_cert_sn',['../a00909.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c'],['../a00909.html#gae1f109cb8edea615c0f7126527208452',1,'atcacert_gen_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9]): atcacert_def.c']]], + ['atcacert_5fgen_5fchallenge_5fhw',['atcacert_gen_challenge_hw',['../a00909.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c'],['../a00909.html#ga208c1ea765f192bd86b26964fbb5edcb',1,'atcacert_gen_challenge_hw(uint8_t challenge[32]): atcacert_host_hw.c']]], + ['atcacert_5fgen_5fchallenge_5fsw',['atcacert_gen_challenge_sw',['../a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c'],['../a00909.html#gaa9829e5aa1ece3d3a933db9827d3e8f3',1,'atcacert_gen_challenge_sw(uint8_t challenge[32]): atcacert_host_sw.c']]], + ['atcacert_5fget_5fauth_5fkey_5fid',['atcacert_get_auth_key_id',['../a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c'],['../a00909.html#gadf6c26dd4333931acf2b8f6ac9a5f422',1,'atcacert_get_auth_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fcert_5felement',['atcacert_get_cert_element',['../a00909.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c'],['../a00909.html#gacdb102fcae9f3a822a19b2ca487b415d',1,'atcacert_get_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size): atcacert_def.c']]], + ['atcacert_5fget_5fcert_5fsn',['atcacert_get_cert_sn',['../a00909.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c'],['../a00909.html#gaf64c228c28f42f15e9b43457146d1504',1,'atcacert_get_cert_sn(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size): atcacert_def.c']]], + ['atcacert_5fget_5fcomp_5fcert',['atcacert_get_comp_cert',['../a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c'],['../a00909.html#ga9a7903692035d06b5d1a45c3b56fce3a',1,'atcacert_get_comp_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72]): atcacert_def.c']]], + ['atcacert_5fget_5fdevice_5fdata',['atcacert_get_device_data',['../a00909.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c'],['../a00909.html#ga240f94a03feb298e5c618677f2962a5a',1,'atcacert_get_device_data(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const atcacert_device_loc_t *device_loc, uint8_t *device_data): atcacert_def.c']]], + ['atcacert_5fget_5fdevice_5flocs',['atcacert_get_device_locs',['../a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c'],['../a00909.html#ga84f1aeed7b88889d5bf01f21dbaaf398',1,'atcacert_get_device_locs(const atcacert_def_t *cert_def, atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size): atcacert_def.c']]], + ['atcacert_5fget_5fexpire_5fdate',['atcacert_get_expire_date',['../a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga8d1d761d35cf36feea5c626bb1d70ab2',1,'atcacert_get_expire_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fget_5fissue_5fdate',['atcacert_get_issue_date',['../a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga51f7b996909bc9cae783bcaf0fe7082b',1,'atcacert_get_issue_date(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fget_5fkey_5fid',['atcacert_get_key_id',['../a00909.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c'],['../a00909.html#gad93de2bdacdcfe04abb0e991a8401388',1,'atcacert_get_key_id(const uint8_t public_key[64], uint8_t key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fresponse',['atcacert_get_response',['../a00909.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c'],['../a00909.html#ga9f7223a578ce5c07a831638106c6ff6c',1,'atcacert_get_response(uint8_t device_private_key_slot, const uint8_t challenge[32], uint8_t response[64]): atcacert_client.c']]], + ['atcacert_5fget_5fsignature',['atcacert_get_signature',['../a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c'],['../a00909.html#gaf55b75df5e523e2d275ebb8cbe36fec6',1,'atcacert_get_signature(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64]): atcacert_def.c']]], + ['atcacert_5fget_5fsigner_5fid',['atcacert_get_signer_id',['../a00909.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c'],['../a00909.html#ga1201f3c1a20b5b105f9160bea104b102',1,'atcacert_get_signer_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2]): atcacert_def.c']]], + ['atcacert_5fget_5fsubj_5fkey_5fid',['atcacert_get_subj_key_id',['../a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c'],['../a00909.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0',1,'atcacert_get_subj_key_id(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20]): atcacert_def.c']]], + ['atcacert_5fget_5fsubj_5fpublic_5fkey',['atcacert_get_subj_public_key',['../a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c'],['../a00909.html#gab4fac3fd2bf5a227140cc3012a4dad02',1,'atcacert_get_subj_public_key(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64]): atcacert_def.c']]], + ['atcacert_5fget_5ftbs',['atcacert_get_tbs',['../a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c'],['../a00909.html#ga9883eaf43aa94e7a29c1bdf13514185c',1,'atcacert_get_tbs(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size): atcacert_def.c']]], + ['atcacert_5fget_5ftbs_5fdigest',['atcacert_get_tbs_digest',['../a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c'],['../a00909.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a',1,'atcacert_get_tbs_digest(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32]): atcacert_def.c']]], + ['atcacert_5fis_5fdevice_5floc_5foverlap',['atcacert_is_device_loc_overlap',['../a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c'],['../a00909.html#gad2e2ceb6fb7614254a94e89ba244fee7',1,'atcacert_is_device_loc_overlap(const atcacert_device_loc_t *device_loc1, const atcacert_device_loc_t *device_loc2): atcacert_def.c']]], + ['atcacert_5fmerge_5fdevice_5floc',['atcacert_merge_device_loc',['../a00909.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c'],['../a00909.html#ga593780a1837f517ce75bb19d9c5c9db7',1,'atcacert_merge_device_loc(atcacert_device_loc_t *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const atcacert_device_loc_t *device_loc, size_t block_size): atcacert_def.c']]], + ['atcacert_5fpublic_5fkey_5fadd_5fpadding',['atcacert_public_key_add_padding',['../a00909.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c'],['../a00909.html#ga7337facc592df42d585b22345e333ae3',1,'atcacert_public_key_add_padding(const uint8_t raw_key[64], uint8_t padded_key[72]): atcacert_def.c']]], + ['atcacert_5fpublic_5fkey_5fremove_5fpadding',['atcacert_public_key_remove_padding',['../a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c'],['../a00909.html#gadb83dfb792f1e6e90ce6a3d39f64e129',1,'atcacert_public_key_remove_padding(const uint8_t padded_key[72], uint8_t raw_key[64]): atcacert_def.c']]], + ['atcacert_5fread_5fcert',['atcacert_read_cert',['../a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c'],['../a00909.html#gaaf13dfd0ea4e563194cec6e62892b5c4',1,'atcacert_read_cert(const atcacert_def_t *cert_def, const uint8_t ca_public_key[64], uint8_t *cert, size_t *cert_size): atcacert_client.c']]], + ['atcacert_5fset_5fauth_5fkey_5fid',['atcacert_set_auth_key_id',['../a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c'],['../a00909.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c',1,'atcacert_set_auth_key_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64]): atcacert_def.c']]], + ['atcacert_5fset_5fauth_5fkey_5fid_5fraw',['atcacert_set_auth_key_id_raw',['../a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c'],['../a00909.html#ga94a3b57e412fe2cfddf92fdc8e54a41e',1,'atcacert_set_auth_key_id_raw(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id): atcacert_def.c']]], + ['atcacert_5fset_5fcert_5felement',['atcacert_set_cert_element',['../a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c'],['../a00909.html#ga5dacb3927ef7eacfaf8c4e28641f7bce',1,'atcacert_set_cert_element(const atcacert_def_t *cert_def, const atcacert_cert_loc_t *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size): atcacert_def.c']]], + ['atcacert_5fset_5fcert_5fsn',['atcacert_set_cert_sn',['../a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c'],['../a00909.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73',1,'atcacert_set_cert_sn(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size): atcacert_def.c']]], + ['atcacert_5fset_5fcomp_5fcert',['atcacert_set_comp_cert',['../a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c'],['../a00909.html#ga2e2c59c41193e71b1a4b96f58642bb49',1,'atcacert_set_comp_cert(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72]): atcacert_def.c']]], + ['atcacert_5fset_5fexpire_5fdate',['atcacert_set_expire_date',['../a00909.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#gad499cd0bdce799a3278f99c80e0f9143',1,'atcacert_set_expire_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fset_5fissue_5fdate',['atcacert_set_issue_date',['../a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c'],['../a00909.html#ga36d4893ccd152a8ec18f84f90a5e3cb5',1,'atcacert_set_issue_date(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const atcacert_tm_utc_t *timestamp): atcacert_def.c']]], + ['atcacert_5fset_5fsignature',['atcacert_set_signature',['../a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c'],['../a00909.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2',1,'atcacert_set_signature(const atcacert_def_t *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64]): atcacert_def.c']]], + ['atcacert_5fset_5fsigner_5fid',['atcacert_set_signer_id',['../a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c'],['../a00909.html#ga82ca7cff42ee4496a40076faac7ff6f6',1,'atcacert_set_signer_id(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2]): atcacert_def.c']]], + ['atcacert_5fset_5fsubj_5fpublic_5fkey',['atcacert_set_subj_public_key',['../a00909.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c'],['../a00909.html#ga4c4d5fe988ebface171689f3aa122e12',1,'atcacert_set_subj_public_key(const atcacert_def_t *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64]): atcacert_def.c']]], + ['atcacert_5fverify_5fcert_5fhw',['atcacert_verify_cert_hw',['../a00909.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c'],['../a00909.html#ga81e92ea606e86051afa84f2fac4898d6',1,'atcacert_verify_cert_hw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_hw.c']]], + ['atcacert_5fverify_5fcert_5fsw',['atcacert_verify_cert_sw',['../a00909.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c'],['../a00909.html#gab78271af8c3e2837810fcdae6e3f5e28',1,'atcacert_verify_cert_sw(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t ca_public_key[64]): atcacert_host_sw.c']]], + ['atcacert_5fverify_5fresponse_5fhw',['atcacert_verify_response_hw',['../a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c'],['../a00909.html#gafeffa7a36a7b5a343f5f568d090e8eed',1,'atcacert_verify_response_hw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_hw.c']]], + ['atcacert_5fverify_5fresponse_5fsw',['atcacert_verify_response_sw',['../a00909.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c'],['../a00909.html#ga9d5bf9ec84d28a0412377818805c32c4',1,'atcacert_verify_response_sw(const uint8_t device_public_key[64], const uint8_t challenge[32], const uint8_t response[64]): atcacert_host_sw.c']]], + ['atcacert_5fwrite_5fcert',['atcacert_write_cert',['../a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c'],['../a00909.html#ga71ea9d7c93c2fecb87a36b1343397fad',1,'atcacert_write_cert(const atcacert_def_t *cert_def, const uint8_t *cert, size_t cert_size): atcacert_client.c']]], + ['atcah_5fcheck_5fmac',['atcah_check_mac',['../a00913.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c'],['../a00913.html#ga5b457cd0ccba73864eee4030b6079ba7',1,'atcah_check_mac(struct atca_check_mac_in_out *param): atca_host.c']]], + ['atcah_5fconfig_5fto_5fsign_5finternal',['atcah_config_to_sign_internal',['../a00913.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c'],['../a00913.html#ga316e7eeaeedc7a30824294280488e24e',1,'atcah_config_to_sign_internal(ATCADeviceType device_type, struct atca_sign_internal_in_out *param, const uint8_t *config): atca_host.c']]], + ['atcah_5fdecrypt',['atcah_decrypt',['../a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c'],['../a00913.html#ga89408b8338dd9f43c4ba85b2a082c3ae',1,'atcah_decrypt(struct atca_decrypt_in_out *param): atca_host.c']]], + ['atcah_5fderive_5fkey',['atcah_derive_key',['../a00913.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c'],['../a00913.html#ga02b3479eaee1bd1741675c2a1249ffda',1,'atcah_derive_key(struct atca_derive_key_in_out *param): atca_host.c']]], + ['atcah_5fderive_5fkey_5fmac',['atcah_derive_key_mac',['../a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c'],['../a00913.html#ga60fc543b3df6fa1dedfbf59e5bde554b',1,'atcah_derive_key_mac(struct atca_derive_key_mac_in_out *param): atca_host.c']]], + ['atcah_5fencode_5fcounter_5fmatch',['atcah_encode_counter_match',['../a00913.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter_value, uint8_t *counter_match_value): atca_host.c'],['../a00913.html#ga809ad14c1d8da45d5f74fa4c55373638',1,'atcah_encode_counter_match(uint32_t counter, uint8_t *counter_match): atca_host.c']]], + ['atcah_5fgen_5fdig',['atcah_gen_dig',['../a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c'],['../a00913.html#ga6f6043ba8eebbaab6e6f3b4fa5e31ad4',1,'atcah_gen_dig(struct atca_gen_dig_in_out *param): atca_host.c']]], + ['atcah_5fgen_5fkey_5fmsg',['atcah_gen_key_msg',['../a00913.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c'],['../a00913.html#gabf2abd4bd62f47537756c9ab109050c0',1,'atcah_gen_key_msg(struct atca_gen_key_in_out *param): atca_host.c']]], + ['atcah_5fgen_5fmac',['atcah_gen_mac',['../a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c'],['../a00913.html#ga43ef2dc1159f28fbb100a2b9bf150c0c',1,'atcah_gen_mac(struct atca_gen_dig_in_out *param): atca_host.c']]], + ['atcah_5fhmac',['atcah_hmac',['../a00913.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c'],['../a00913.html#gab17435577e546d2954bd697f21e6d3cc',1,'atcah_hmac(struct atca_hmac_in_out *param): atca_host.c']]], + ['atcah_5finclude_5fdata',['atcah_include_data',['../a00913.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c'],['../a00913.html#gad456d2c1172343bb40d8cd0e391d44f4',1,'atcah_include_data(struct atca_include_data_in_out *param): atca_host.c']]], + ['atcah_5fio_5fdecrypt',['atcah_io_decrypt',['../a00913.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c'],['../a00913.html#gaa0df5937081037684ce2894a8cc2c1e5',1,'atcah_io_decrypt(struct atca_io_decrypt_in_out *param): atca_host.c']]], + ['atcah_5fmac',['atcah_mac',['../a00913.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c'],['../a00913.html#ga44361cadf1819cea687208eeadd57059',1,'atcah_mac(struct atca_mac_in_out *param): atca_host.c']]], + ['atcah_5fnonce',['atcah_nonce',['../a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c'],['../a00913.html#ga9ee18575f8b4c1560f9e5c741403ef1b',1,'atcah_nonce(struct atca_nonce_in_out *param): atca_host.c']]], + ['atcah_5fprivwrite_5fauth_5fmac',['atcah_privwrite_auth_mac',['../a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a00913.html#gaed8aa58875c6bdf46a937313e69c6ebb',1,'atcah_privwrite_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], + ['atcah_5fsecureboot_5fenc',['atcah_secureboot_enc',['../a00913.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c'],['../a00913.html#ga4c89f8023aec521281824c0e35713baa',1,'atcah_secureboot_enc(atca_secureboot_enc_in_out_t *param): atca_host.c']]], + ['atcah_5fsecureboot_5fmac',['atcah_secureboot_mac',['../a00913.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c'],['../a00913.html#gaa795bec90432fbfa194913d8b4098fab',1,'atcah_secureboot_mac(atca_secureboot_mac_in_out_t *param): atca_host.c']]], + ['atcah_5fsha256',['atcah_sha256',['../a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c'],['../a00913.html#gad7e2217cd71b77b6c1b08f2f2f6f0a3e',1,'atcah_sha256(int32_t len, const uint8_t *message, uint8_t *digest): atca_host.c']]], + ['atcah_5fsign_5finternal_5fmsg',['atcah_sign_internal_msg',['../a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c'],['../a00913.html#ga680045caed6e8f6e136e1a2dc3fe1c9e',1,'atcah_sign_internal_msg(ATCADeviceType device_type, struct atca_sign_internal_in_out *param): atca_host.c']]], + ['atcah_5fverify_5fmac',['atcah_verify_mac',['../a00913.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c'],['../a00913.html#ga03632bc31f21bec0d13d4f0cab198958',1,'atcah_verify_mac(atca_verify_mac_in_out_t *param): atca_host.c']]], + ['atcah_5fwrite_5fauth_5fmac',['atcah_write_auth_mac',['../a00913.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c'],['../a00913.html#ga47853951c57803eff1432780bf360057',1,'atcah_write_auth_mac(struct atca_write_mac_in_out *param): atca_host.c']]], + ['atcalccrc',['atCalcCrc',['../a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *packet): atca_command.c'],['../a00906.html#ga54460acd927854db5d39d6d5c3e8ed7c',1,'atCalcCrc(ATCAPacket *pkt): atca_command.c']]], + ['atcheckcrc',['atCheckCrc',['../a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c'],['../a00906.html#ga7723a58d1781b3ba54e8f45d5729b33a',1,'atCheckCrc(const uint8_t *response): atca_command.c']]], + ['atcheckmac',['atCheckMAC',['../a00906.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gae82a969d437b648238fe1c1ddbd51196',1,'atCheckMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atcounter',['atCounter',['../a00906.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga8a61451b473025766f0b8aaf8cbe8878',1,'atCounter(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atcrc',['atCRC',['../a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c'],['../a00906.html#ga53ded4ed630b6ef4d292056c2e6b34f6',1,'atCRC(size_t length, const uint8_t *data, uint8_t *crc_le): atca_command.c']]], + ['atderivekey',['atDeriveKey',['../a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a00906.html#ga8e8e14d6ac01e36f5c62568a6203e158',1,'atDeriveKey(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]], + ['atecdh',['atECDH',['../a00906.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga5460e5bb2178eb95a3b8db8018d30617',1,'atECDH(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atgendig',['atGenDig',['../a00906.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c'],['../a00906.html#ga96b33dc28e87b1c1855b7f828a89594b',1,'atGenDig(ATCACommand ca_cmd, ATCAPacket *packet, bool is_no_mac_key): atca_command.c']]], + ['atgenkey',['atGenKey',['../a00906.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaba4a495c2021c837c6de4cdeaaf64813',1,'atGenKey(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atgetcommands',['atGetCommands',['../a00907.html#gabf51c08f1928fc5ec44936f3117a9f7e',1,'atca_device.c']]], + ['atgetiface',['atGetIFace',['../a00907.html#ga3f98e29cffa06446fc91b329703606af',1,'atca_device.c']]], + ['atgetifacecfg',['atgetifacecfg',['../a00908.html#gac88ba81abfd42df65c6c0c64414dfc6e',1,'atca_iface.c']]], + ['atgetifacehaldat',['atgetifacehaldat',['../a00908.html#ga5e4163b8882d4eb42d4d5191c8731da0',1,'atca_iface.c']]], + ['athmac',['atHMAC',['../a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga31f11cb28f4aaf6c654e92e7c5176814',1,'atHMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atidle',['atidle',['../a00908.html#gac794fffe040e6d47a34c756720f3cbea',1,'atca_iface.c']]], + ['atinfo',['atInfo',['../a00906.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf5b69354b7f33537f2ffef3376843a15',1,'atInfo(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atinit',['atinit',['../a00908.html#ga386353e8700eec35e4548dfa29f13b8d',1,'atca_iface.c']]], + ['atiseccfamily',['atIsECCFamily',['../a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gae82dca54cc3fd1cc2f1671e98d64df07',1,'atIsECCFamily(ATCADeviceType device_type): atca_command.c']]], + ['atisshafamily',['atIsSHAFamily',['../a00906.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gaae5866a78d2f0464b04eee9ef1f97030',1,'atIsSHAFamily(ATCADeviceType device_type): atca_command.c']]], + ['atkdf',['atKDF',['../a00906.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga881ba1c37e33cf65c17983e93dd8c677',1,'atKDF(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atlock',['atLock',['../a00906.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gac649ffd477409f414dfcc7e38c19e203',1,'atLock(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atmac',['atMAC',['../a00906.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga6375d9724ac9ec208e22224c0a210fb3',1,'atMAC(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atnonce',['atNonce',['../a00906.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gab0937e5d717246f51a244e3369e554e6',1,'atNonce(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atpause',['atPause',['../a00906.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gae9bbe9f768acf9628bbb78fbebb21221',1,'atPause(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atpostinit',['atpostinit',['../a00908.html#ga6a9d6c47d866cba4ddd4ee6e671743d5',1,'atca_iface.h']]], + ['atprivwrite',['atPrivWrite',['../a00906.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf90f39bafcd296962ceef461954a1998',1,'atPrivWrite(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atrandom',['atRandom',['../a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gad16fd3d0f3602f4654c29101f35bd2a1',1,'atRandom(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atread',['atRead',['../a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga17fa9d23b7e46c2eb32f8ae6132bb3c4',1,'atRead(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atreceive',['atreceive',['../a00908.html#ga1feec3d6e0c3c8b23d87ce0bbefcacdb',1,'atca_iface.c']]], + ['atsecureboot',['atSecureBoot',['../a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga5ecdb99e756b1740ad2119f13c3ab809',1,'atSecureBoot(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atselftest',['atSelfTest',['../a00906.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga47c96fd19a050247f7c06e20c296b958',1,'atSelfTest(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atsend',['atsend',['../a00908.html#ga29c6f441d31c84629954d50cc95d3c5d',1,'atca_iface.c']]], + ['atsha',['atSHA',['../a00906.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c'],['../a00906.html#ga44ad135152469c980f9bf36a5f1477bb',1,'atSHA(ATCACommand ca_cmd, ATCAPacket *packet, uint16_t write_context_size): atca_command.c']]], + ['atsign',['atSign',['../a00906.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#gaf41d61bc7317d325a34169eb53c29e7c',1,'atSign(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atsleep',['atsleep',['../a00908.html#gac06336335e5f3191e3b1fc06d2830d96',1,'atca_iface.c']]], + ['atupdateextra',['atUpdateExtra',['../a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga3890dfc5d5a3ec121ba7436fe90bee23',1,'atUpdateExtra(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atverify',['atVerify',['../a00906.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c'],['../a00906.html#ga2beb9e8360555ededb666ad845219fce',1,'atVerify(ATCACommand ca_cmd, ATCAPacket *packet): atca_command.c']]], + ['atwake',['atwake',['../a00908.html#ga32693c852341e1b946bab3cca5f71761',1,'atca_iface.c']]], + ['atwrite',['atWrite',['../a00906.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c'],['../a00906.html#gaab5bc48599e5f6b938901739f4f46fa7',1,'atWrite(ATCACommand ca_cmd, ATCAPacket *packet, bool has_mac): atca_command.c']]] ]; diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js index 89c409896..3047493c2 100644 --- a/docs/html/search/functions_2.js +++ b/docs/html/search/functions_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['base64char',['base64Char',['../a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c']]], - ['base64index',['base64Index',['../a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c']]] + ['base64char',['base64Char',['../a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga3cf48d232ffbc9000c4d8547120f8b2d',1,'base64Char(uint8_t id, const uint8_t *rules): atca_helpers.c']]], + ['base64index',['base64Index',['../a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#ga175f401662f82c1e2ef822a9e1fd0b57',1,'base64Index(char c, const uint8_t *rules): atca_helpers.c']]] ]; diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js index b5f6b754b..d6ffdbd51 100644 --- a/docs/html/search/functions_3.js +++ b/docs/html/search/functions_3.js @@ -1,11 +1,11 @@ var searchData= [ - ['change_5fi2c_5fspeed',['change_i2c_speed',['../a03537.html#gab7f613b378e0d01b80703df3ac662d6d',1,'hal_at90usb1287_i2c_asf.c']]], - ['check_5fdevice_5fio_5fprotection_5fkey_5fgenerate',['check_device_io_protection_key_generate',['../a00020.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c'],['../a00023.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c']]], - ['cl_5fhash',['CL_hash',['../a00287.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c'],['../a00290.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c']]], - ['cl_5fhashfinal',['CL_hashFinal',['../a00287.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c'],['../a00290.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c']]], - ['cl_5fhashinit',['CL_hashInit',['../a00287.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c'],['../a00290.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c']]], - ['cl_5fhashupdate',['CL_hashUpdate',['../a00287.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c'],['../a00290.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c']]], - ['crypto_5fdevice_5fload_5fconfiguration',['crypto_device_load_configuration',['../a00014.html#a80d86458de1b0031747eeeffb6feee0b',1,'crypto_device_app.h']]], - ['crypto_5fdevice_5fverify_5fapp',['crypto_device_verify_app',['../a00011.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c'],['../a00014.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c']]] + ['change_5fi2c_5fspeed',['change_i2c_speed',['../a00912.html#gab7f613b378e0d01b80703df3ac662d6d',1,'hal_at90usb1287_i2c_asf.c']]], + ['check_5fdevice_5fio_5fprotection_5fkey_5fgenerate',['check_device_io_protection_key_generate',['../a00026.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c'],['../a00029.html#a67e11e4c8a5491952d9cdea3dee7308a',1,'check_device_io_protection_key_generate(void): secure_boot.c']]], + ['cl_5fhash',['CL_hash',['../a00308.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c'],['../a00311.html#a955169bbbce9b4712cafb9b7372b5ffa',1,'CL_hash(U8 *msg, int msgBytes, U8 *dest): sha1_routines.c']]], + ['cl_5fhashfinal',['CL_hashFinal',['../a00308.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c'],['../a00311.html#a672902e6406b4e4e2af33c70ec7a001c',1,'CL_hashFinal(CL_HashContext *ctx, U8 *dest): sha1_routines.c']]], + ['cl_5fhashinit',['CL_hashInit',['../a00308.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c'],['../a00311.html#affa9482d686cc435d640d67d7fa79772',1,'CL_hashInit(CL_HashContext *ctx): sha1_routines.c']]], + ['cl_5fhashupdate',['CL_hashUpdate',['../a00308.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c'],['../a00311.html#a55a33e7a22aff4aca4bccf39897bc5f1',1,'CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes): sha1_routines.c']]], + ['crypto_5fdevice_5fload_5fconfiguration',['crypto_device_load_configuration',['../a00020.html#a80d86458de1b0031747eeeffb6feee0b',1,'crypto_device_app.h']]], + ['crypto_5fdevice_5fverify_5fapp',['crypto_device_verify_app',['../a00017.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c'],['../a00020.html#a19617ea9c26833614201b9695ec7a1ca',1,'crypto_device_verify_app(void): crypto_device_app.c']]] ]; diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js index d39229bdd..e1cae3721 100644 --- a/docs/html/search/functions_4.js +++ b/docs/html/search/functions_4.js @@ -1,8 +1,8 @@ var searchData= [ - ['damages',['DAMAGES',['../a00533.html#afb58aaeb3cb305bd9d30828ce3f3cd68',1,'license.txt']]], - ['delay_5fus',['delay_us',['../a03537.html#ga31c35882825888bc79e420905830f25d',1,'delay_us(UINT32 delay): hal_pic32mx695f512h_timer.c'],['../a03537.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd',1,'delay_us(uint32_t delay): hal_pic32mz2048efm_timer.c']]], - ['deleteatcacommand',['deleteATCACommand',['../a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c'],['../a03531.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c']]], - ['deleteatcadevice',['deleteATCADevice',['../a03532.html#gac087cf04cd5bd6ff2e026d89bfbf5e12',1,'atca_device.c']]], - ['deleteatcaiface',['deleteATCAIface',['../a03533.html#gaf8074d759241d3edd6d8ead1d7322a98',1,'atca_iface.c']]] + ['damages',['DAMAGES',['../a00554.html#afb58aaeb3cb305bd9d30828ce3f3cd68',1,'license.txt']]], + ['delay_5fus',['delay_us',['../a00912.html#ga31c35882825888bc79e420905830f25d',1,'delay_us(UINT32 delay): hal_pic32mx695f512h_timer.c'],['../a00912.html#gafd0e52ccc611a61fcd1b0b6cd1a19efd',1,'delay_us(uint32_t delay): hal_pic32mz2048efm_timer.c']]], + ['deleteatcacommand',['deleteATCACommand',['../a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c'],['../a00906.html#ga9404883f6b81e6356862a9bb4b42d4a9',1,'deleteATCACommand(ATCACommand *ca_cmd): atca_command.c']]], + ['deleteatcadevice',['deleteATCADevice',['../a00907.html#gac087cf04cd5bd6ff2e026d89bfbf5e12',1,'atca_device.c']]], + ['deleteatcaiface',['deleteATCAIface',['../a00908.html#gaf8074d759241d3edd6d8ead1d7322a98',1,'atca_iface.c']]] ]; diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js index 64f875a24..6fec6636f 100644 --- a/docs/html/search/functions_5.js +++ b/docs/html/search/functions_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['ets_5fdelay_5fus',['ets_delay_us',['../a00335.html#a7def86f0fbd90b451847d8534f21f5dc',1,'hal_esp32_timer.c']]] + ['ets_5fdelay_5fus',['ets_delay_us',['../a00356.html#a7def86f0fbd90b451847d8534f21f5dc',1,'hal_esp32_timer.c']]] ]; diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js index d45627424..003605a6a 100644 --- a/docs/html/search/functions_6.js +++ b/docs/html/search/functions_6.js @@ -1,56 +1,56 @@ var searchData= [ - ['hal_5fcdc_5fdiscover_5fbuses',['hal_cdc_discover_buses',['../a03537.html#ga6ec842c5f4674de5da640541e616785a',1,'hal_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00452.html#a5320f17f400bf5ad0579dbdd5c8acf90',1,'hal_cdc_discover_buses(int i2c_buses[], int max_buses): hal_win_kit_cdc.c']]], - ['hal_5fcdc_5fdiscover_5fdevices',['hal_cdc_discover_devices',['../a03537.html#ga5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_linux_kit_cdc.c'],['../a00452.html#a5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_win_kit_cdc.c']]], - ['hal_5fcheck_5fwake',['hal_check_wake',['../a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c'],['../a03537.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c']]], - ['hal_5fcreate_5fmutex',['hal_create_mutex',['../a03537.html#gab289a3949663589ac6be71d72fb18278',1,'hal_freertos.c']]], - ['hal_5fdestroy_5fmutex',['hal_destroy_mutex',['../a03537.html#ga4589d7b3e951f40b7928f1cf31f7ddf3',1,'hal_freertos.c']]], - ['hal_5fi2c_5fchange_5fbaud',['hal_i2c_change_baud',['../a00332.html#a98107f7cba849e44395b87a7e15fbec3',1,'hal_esp32_i2c.c']]], - ['hal_5fi2c_5fdiscover_5fbuses',['hal_i2c_discover_buses',['../a03537.html#ga05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_esp32_i2c.c'],['../a00383.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fdiscover_5fdevices',['hal_i2c_discover_devices',['../a03537.html#gac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ae68c90497ef6f7edbf78daa3a094028a',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_esp32_i2c.c'],['../a00383.html#ac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fidle',['hal_i2c_idle',['../a03537.html#ga9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5finit',['hal_i2c_init',['../a03537.html#ga09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_esp32_i2c.c'],['../a00383.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fpost_5finit',['hal_i2c_post_init',['../a03537.html#gafbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5freceive',['hal_i2c_receive',['../a03537.html#ga7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_esp32_i2c.c'],['../a00383.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5frelease',['hal_i2c_release',['../a03537.html#gac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_esp32_i2c.c'],['../a00383.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fsend',['hal_i2c_send',['../a03537.html#gacd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_at90usb1287_i2c_asf.c'],['../a00332.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_esp32_i2c.c'],['../a00383.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fsleep',['hal_i2c_sleep',['../a03537.html#ga3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fi2c_5fwake',['hal_i2c_wake',['../a03537.html#gad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00332.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_esp32_i2c.c'],['../a00383.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], - ['hal_5fiface_5finit',['hal_iface_init',['../a03537.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *cfg, ATCAHAL_t *hal): atca_hal.c'],['../a03537.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal): atca_hal.c']]], - ['hal_5fiface_5frelease',['hal_iface_release',['../a03537.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType iface_type, void *hal_data): atca_hal.c'],['../a03537.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType, void *hal_data): atca_hal.c']]], - ['hal_5fkit_5fcdc_5fdiscover_5fbuses',['hal_kit_cdc_discover_buses',['../a03537.html#ga56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00452.html#a56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fdiscover_5fdevices',['hal_kit_cdc_discover_devices',['../a03537.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_linux_kit_cdc.c'],['../a00452.html#a0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fidle',['hal_kit_cdc_idle',['../a03537.html#ga92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#a92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5finit',['hal_kit_cdc_init',['../a03537.html#ga313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_linux_kit_cdc.c'],['../a00452.html#a313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fpost_5finit',['hal_kit_cdc_post_init',['../a03537.html#gad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#ad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5freceive',['hal_kit_cdc_receive',['../a03537.html#ga3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_linux_kit_cdc.c'],['../a00452.html#a3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5frelease',['hal_kit_cdc_release',['../a03537.html#ga21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_linux_kit_cdc.c'],['../a00452.html#a21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fsend',['hal_kit_cdc_send',['../a03537.html#ga7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00452.html#a7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fsleep',['hal_kit_cdc_sleep',['../a03537.html#ga1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#a1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fcdc_5fwake',['hal_kit_cdc_wake',['../a03537.html#gabced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00452.html#abced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_win_kit_cdc.c']]], - ['hal_5fkit_5fhid_5fdiscover_5fbuses',['hal_kit_hid_discover_buses',['../a03537.html#ga549d0b53127f1bb10e7f34453b8a2d3c',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fdiscover_5fdevices',['hal_kit_hid_discover_devices',['../a03537.html#ga0121a73c96416c97ce07ed9077226588',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fidle',['hal_kit_hid_idle',['../a03537.html#gaacf6310945889a6119cab867a1ced5e2',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5finit',['hal_kit_hid_init',['../a03537.html#ga95b4e99655383680272a1d9354d42479',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fpost_5finit',['hal_kit_hid_post_init',['../a03537.html#ga6f06bc1662b3d0361f6a241e1b5612f2',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5freceive',['hal_kit_hid_receive',['../a03537.html#gaa80dfd4a91f557329fa1daf16b0f05a8',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5frelease',['hal_kit_hid_release',['../a03537.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fsend',['hal_kit_hid_send',['../a03537.html#ga47588dbefadcc1569513b053a156f3d6',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fsleep',['hal_kit_hid_sleep',['../a03537.html#ga1aa3345cb5d3e8fc29defe2758904fed',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fhid_5fwake',['hal_kit_hid_wake',['../a03537.html#ga65289262310f2662b2c47450b93c9580',1,'hal_all_platforms_kit_hidapi.c']]], - ['hal_5fkit_5fphy_5fnum_5ffound',['hal_kit_phy_num_found',['../a03537.html#ga5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_linux_kit_cdc.c'],['../a00452.html#a5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_win_kit_cdc.c']]], - ['hal_5flock_5fmutex',['hal_lock_mutex',['../a03537.html#gad4cd02ff7ae4e75844eab4e84eb61994',1,'hal_freertos.c']]], - ['hal_5fswi_5fdiscover_5fbuses',['hal_swi_discover_buses',['../a03537.html#ga53864a301dac6efbdbdc3931aa79e23e',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fdiscover_5fdevices',['hal_swi_discover_devices',['../a03537.html#ga354e6fa757688b73e6fb5293bb835def',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fidle',['hal_swi_idle',['../a03537.html#ga618291172976da96c4f02dc9200c845c',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5finit',['hal_swi_init',['../a03537.html#gaf406053c1a3f2a86bdc887f2ff4b663d',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fpost_5finit',['hal_swi_post_init',['../a03537.html#ga9186e5235979216330ae580290872c77',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5freceive',['hal_swi_receive',['../a03537.html#ga02e9f36723f0feb21d373898728de04b',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5frelease',['hal_swi_release',['../a03537.html#ga196dbc62546b39ac3e556a0f7f6b7132',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fsend',['hal_swi_send',['../a03537.html#gaeb8b8857192a7710785acce0110e8016',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fsend_5fflag',['hal_swi_send_flag',['../a03537.html#gaae96ea936a2e85d0bcb81b7868ee007d',1,'hal_swi_uart.c']]], - ['hal_5fswi_5fsleep',['hal_swi_sleep',['../a03537.html#ga252e365a30f2583dae8a8eac073a9f53',1,'hal_swi_bitbang.c']]], - ['hal_5fswi_5fwake',['hal_swi_wake',['../a03537.html#gafc428980ec95e37eee94813db229fe70',1,'hal_swi_bitbang.c']]], - ['hal_5funlock_5fmutex',['hal_unlock_mutex',['../a03537.html#ga31fd8170a49623686543f6247b883bd1',1,'hal_freertos.c']]], - ['host_5fgenerate_5frandom_5fnumber',['host_generate_random_number',['../a00023.html#a197406dca9e671c3ef8036976108527f',1,'secure_boot.h']]] + ['hal_5fcdc_5fdiscover_5fbuses',['hal_cdc_discover_buses',['../a00912.html#ga6ec842c5f4674de5da640541e616785a',1,'hal_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00473.html#a5320f17f400bf5ad0579dbdd5c8acf90',1,'hal_cdc_discover_buses(int i2c_buses[], int max_buses): hal_win_kit_cdc.c']]], + ['hal_5fcdc_5fdiscover_5fdevices',['hal_cdc_discover_devices',['../a00912.html#ga5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_linux_kit_cdc.c'],['../a00473.html#a5604d17ec61ab15961079beb8f3c8682',1,'hal_cdc_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_win_kit_cdc.c']]], + ['hal_5fcheck_5fwake',['hal_check_wake',['../a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c'],['../a00912.html#ga6ce92f1d10000eb6618fc74c2ca92d76',1,'hal_check_wake(const uint8_t *response, int response_size): atca_hal.c']]], + ['hal_5fcreate_5fmutex',['hal_create_mutex',['../a00912.html#gab289a3949663589ac6be71d72fb18278',1,'hal_freertos.c']]], + ['hal_5fdestroy_5fmutex',['hal_destroy_mutex',['../a00912.html#ga4589d7b3e951f40b7928f1cf31f7ddf3',1,'hal_freertos.c']]], + ['hal_5fi2c_5fchange_5fbaud',['hal_i2c_change_baud',['../a00353.html#a98107f7cba849e44395b87a7e15fbec3',1,'hal_esp32_i2c.c']]], + ['hal_5fi2c_5fdiscover_5fbuses',['hal_i2c_discover_buses',['../a00912.html#ga05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_esp32_i2c.c'],['../a00404.html#a05700385437884cc7b28c38d33e84f8c',1,'hal_i2c_discover_buses(int i2c_buses[], int max_buses): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fdiscover_5fdevices',['hal_i2c_discover_devices',['../a00912.html#gac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ae68c90497ef6f7edbf78daa3a094028a',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_esp32_i2c.c'],['../a00404.html#ac7644e62498a596c09952ee3b28017b9',1,'hal_i2c_discover_devices(int bus_num, ATCAIfaceCfg cfg[], int *found): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fidle',['hal_i2c_idle',['../a00912.html#ga9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#a9317303ada721ff3f97e7aad69437a30',1,'hal_i2c_idle(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5finit',['hal_i2c_init',['../a00912.html#ga09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_esp32_i2c.c'],['../a00404.html#a09e7f465a040fbd19ea136269571de3c',1,'hal_i2c_init(void *hal, ATCAIfaceCfg *cfg): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fpost_5finit',['hal_i2c_post_init',['../a00912.html#gafbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#afbe53519362f18c2688d10da6f7c618f',1,'hal_i2c_post_init(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5freceive',['hal_i2c_receive',['../a00912.html#ga7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_esp32_i2c.c'],['../a00404.html#a7785bcc305c14e2dc188bb1b9a77814a',1,'hal_i2c_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5frelease',['hal_i2c_release',['../a00912.html#gac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_esp32_i2c.c'],['../a00404.html#ac382cc4431d2d1c721c21a453ba36c22',1,'hal_i2c_release(void *hal_data): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fsend',['hal_i2c_send',['../a00912.html#gacd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_at90usb1287_i2c_asf.c'],['../a00353.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_esp32_i2c.c'],['../a00404.html#acd0fb31f0f88ef3762665e26b5aa784b',1,'hal_i2c_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fsleep',['hal_i2c_sleep',['../a00912.html#ga3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#a3f89bae6a625d5f37abdcc99408def27',1,'hal_i2c_sleep(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fi2c_5fwake',['hal_i2c_wake',['../a00912.html#gad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_at90usb1287_i2c_asf.c'],['../a00353.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_esp32_i2c.c'],['../a00404.html#ad4df1b6755e2d5b5d9e810371e45ca8c',1,'hal_i2c_wake(ATCAIface iface): hal_pic32mz2048efm_i2c.c']]], + ['hal_5fiface_5finit',['hal_iface_init',['../a00912.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *cfg, ATCAHAL_t *hal): atca_hal.c'],['../a00912.html#gab77081d6d85ee3ab839a0882e80e9e87',1,'hal_iface_init(ATCAIfaceCfg *, ATCAHAL_t *hal): atca_hal.c']]], + ['hal_5fiface_5frelease',['hal_iface_release',['../a00912.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType iface_type, void *hal_data): atca_hal.c'],['../a00912.html#ga4be1afccb41f28f6ce620b1d5197befc',1,'hal_iface_release(ATCAIfaceType, void *hal_data): atca_hal.c']]], + ['hal_5fkit_5fcdc_5fdiscover_5fbuses',['hal_kit_cdc_discover_buses',['../a00912.html#ga56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_linux_kit_cdc.c'],['../a00473.html#a56255b770aa5e34b3e69898eaeda93e9',1,'hal_kit_cdc_discover_buses(int cdc_buses[], int max_buses): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fdiscover_5fdevices',['hal_kit_cdc_discover_devices',['../a00912.html#ga0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_linux_kit_cdc.c'],['../a00473.html#a0a042c3f441fa78c4f05a18bfbeb5f2d',1,'hal_kit_cdc_discover_devices(int bus_num, ATCAIfaceCfg *cfg, int *found): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fidle',['hal_kit_cdc_idle',['../a00912.html#ga92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#a92055a86e32f3dfc9eef064d48aa0870',1,'hal_kit_cdc_idle(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5finit',['hal_kit_cdc_init',['../a00912.html#ga313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_linux_kit_cdc.c'],['../a00473.html#a313bdfc8337f930a7f9fc6ca4e7731d9',1,'hal_kit_cdc_init(void *hal, ATCAIfaceCfg *cfg): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fpost_5finit',['hal_kit_cdc_post_init',['../a00912.html#gad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#ad11b8714818c2b05f70593c002fc5945',1,'hal_kit_cdc_post_init(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5freceive',['hal_kit_cdc_receive',['../a00912.html#ga3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_linux_kit_cdc.c'],['../a00473.html#a3f3972f81de141ff0816b605054d775a',1,'hal_kit_cdc_receive(ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5frelease',['hal_kit_cdc_release',['../a00912.html#ga21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_linux_kit_cdc.c'],['../a00473.html#a21a939cc86a0602cb2ba3be3eec26e6e',1,'hal_kit_cdc_release(void *hal_data): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fsend',['hal_kit_cdc_send',['../a00912.html#ga7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00473.html#a7732806c89cd206a96b7fabbaf6770d5',1,'hal_kit_cdc_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fsleep',['hal_kit_cdc_sleep',['../a00912.html#ga1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#a1299c47e6d73d987bc04b16f25637bf6',1,'hal_kit_cdc_sleep(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fcdc_5fwake',['hal_kit_cdc_wake',['../a00912.html#gabced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_linux_kit_cdc.c'],['../a00473.html#abced238b72e636a557d00355a2e44ac9',1,'hal_kit_cdc_wake(ATCAIface iface): hal_win_kit_cdc.c']]], + ['hal_5fkit_5fhid_5fdiscover_5fbuses',['hal_kit_hid_discover_buses',['../a00912.html#ga549d0b53127f1bb10e7f34453b8a2d3c',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fdiscover_5fdevices',['hal_kit_hid_discover_devices',['../a00912.html#ga0121a73c96416c97ce07ed9077226588',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fidle',['hal_kit_hid_idle',['../a00912.html#gaacf6310945889a6119cab867a1ced5e2',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5finit',['hal_kit_hid_init',['../a00912.html#ga95b4e99655383680272a1d9354d42479',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fpost_5finit',['hal_kit_hid_post_init',['../a00912.html#ga6f06bc1662b3d0361f6a241e1b5612f2',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5freceive',['hal_kit_hid_receive',['../a00912.html#gaa80dfd4a91f557329fa1daf16b0f05a8',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5frelease',['hal_kit_hid_release',['../a00912.html#ga8c7b9adb28b4bbdee8d5cd78ab16255f',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fsend',['hal_kit_hid_send',['../a00912.html#ga47588dbefadcc1569513b053a156f3d6',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fsleep',['hal_kit_hid_sleep',['../a00912.html#ga1aa3345cb5d3e8fc29defe2758904fed',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fhid_5fwake',['hal_kit_hid_wake',['../a00912.html#ga65289262310f2662b2c47450b93c9580',1,'hal_all_platforms_kit_hidapi.c']]], + ['hal_5fkit_5fphy_5fnum_5ffound',['hal_kit_phy_num_found',['../a00912.html#ga5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_linux_kit_cdc.c'],['../a00473.html#a5fac3cf3552eee701aec448c1392edd8',1,'hal_kit_phy_num_found(int8_t *num_found): hal_win_kit_cdc.c']]], + ['hal_5flock_5fmutex',['hal_lock_mutex',['../a00912.html#gad4cd02ff7ae4e75844eab4e84eb61994',1,'hal_freertos.c']]], + ['hal_5fswi_5fdiscover_5fbuses',['hal_swi_discover_buses',['../a00912.html#ga53864a301dac6efbdbdc3931aa79e23e',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fdiscover_5fdevices',['hal_swi_discover_devices',['../a00912.html#ga354e6fa757688b73e6fb5293bb835def',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fidle',['hal_swi_idle',['../a00912.html#ga618291172976da96c4f02dc9200c845c',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5finit',['hal_swi_init',['../a00912.html#gaf406053c1a3f2a86bdc887f2ff4b663d',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fpost_5finit',['hal_swi_post_init',['../a00912.html#ga9186e5235979216330ae580290872c77',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5freceive',['hal_swi_receive',['../a00912.html#ga02e9f36723f0feb21d373898728de04b',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5frelease',['hal_swi_release',['../a00912.html#ga196dbc62546b39ac3e556a0f7f6b7132',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fsend',['hal_swi_send',['../a00912.html#gaeb8b8857192a7710785acce0110e8016',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fsend_5fflag',['hal_swi_send_flag',['../a00912.html#gaae96ea936a2e85d0bcb81b7868ee007d',1,'hal_swi_uart.c']]], + ['hal_5fswi_5fsleep',['hal_swi_sleep',['../a00912.html#ga252e365a30f2583dae8a8eac073a9f53',1,'hal_swi_bitbang.c']]], + ['hal_5fswi_5fwake',['hal_swi_wake',['../a00912.html#gafc428980ec95e37eee94813db229fe70',1,'hal_swi_bitbang.c']]], + ['hal_5funlock_5fmutex',['hal_unlock_mutex',['../a00912.html#ga31fd8170a49623686543f6247b883bd1',1,'hal_freertos.c']]], + ['host_5fgenerate_5frandom_5fnumber',['host_generate_random_number',['../a00029.html#a197406dca9e671c3ef8036976108527f',1,'secure_boot.h']]] ]; diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js index e80bfcedc..1328ae1a4 100644 --- a/docs/html/search/functions_7.js +++ b/docs/html/search/functions_7.js @@ -1,32 +1,32 @@ var searchData= [ - ['i2c_5fdisable',['i2c_disable',['../a00476.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c'],['../a00479.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c']]], - ['i2c_5fdiscover_5fbuses',['i2c_discover_buses',['../a00476.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c'],['../a00479.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c']]], - ['i2c_5fenable',['i2c_enable',['../a00476.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c'],['../a00479.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c']]], - ['i2c_5fread',['i2c_read',['../a03537.html#gaf31b095e9faac0c43ba3f0403bc52cf4',1,'hal_pic32mx695f512h_i2c.c']]], - ['i2c_5freceive_5fbyte',['i2c_receive_byte',['../a00476.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5freceive_5fbytes',['i2c_receive_bytes',['../a00476.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5freceive_5fone_5fbyte',['i2c_receive_one_byte',['../a00476.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c'],['../a00479.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fack',['i2c_send_ack',['../a00476.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c'],['../a00479.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fbyte',['i2c_send_byte',['../a00476.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c'],['../a00479.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fbytes',['i2c_send_bytes',['../a00476.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00479.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fstart',['i2c_send_start',['../a00476.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c'],['../a00479.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fstop',['i2c_send_stop',['../a00476.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c'],['../a00479.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c']]], - ['i2c_5fsend_5fwake_5ftoken',['i2c_send_wake_token',['../a00476.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c'],['../a00479.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c']]], - ['i2c_5fset_5fpin',['i2c_set_pin',['../a00476.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c'],['../a00479.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c']]], - ['i2c_5fwrite',['i2c_write',['../a03537.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048',1,'hal_pic32mx695f512h_i2c.c']]], - ['initatcacommand',['initATCACommand',['../a03531.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c'],['../a03531.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c']]], - ['initatcadevice',['initATCADevice',['../a03532.html#ga8eec7f2190d1f9bda6684f5d2177db15',1,'atca_device.c']]], - ['initatcaiface',['initATCAIface',['../a03533.html#ga3a31087729a7a2e9a624572f234809fc',1,'atca_iface.c']]], - ['io_5fprotection_5fget_5fkey',['io_protection_get_key',['../a00017.html#adb01c317f81145702f564ca1d46ec33b',1,'io_protection_key.h']]], - ['io_5fprotection_5fset_5fkey',['io_protection_set_key',['../a00017.html#a8e02c996fdc083bb4c4444057e429a44',1,'io_protection_key.h']]], - ['isalpha',['isAlpha',['../a03535.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c'],['../a03535.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c']]], - ['isatcaerror',['isATCAError',['../a03531.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c'],['../a03531.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c']]], - ['isbase64',['isBase64',['../a03535.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c']]], - ['isbase64digit',['isBase64Digit',['../a03535.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c'],['../a03535.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c']]], - ['isdigit',['isDigit',['../a03535.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c'],['../a03535.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c']]], - ['ishex',['isHex',['../a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c'],['../a03535.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c']]], - ['ishexalpha',['isHexAlpha',['../a03535.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c'],['../a03535.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c']]], - ['ishexdigit',['isHexDigit',['../a03535.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c'],['../a03535.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c']]], - ['iswhitespace',['isWhiteSpace',['../a03535.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c'],['../a03535.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c']]] + ['i2c_5fdisable',['i2c_disable',['../a00497.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c'],['../a00500.html#abe70f8fe4c72329b89ec526c749f50d7',1,'i2c_disable(void): i2c_bitbang_samd21.c']]], + ['i2c_5fdiscover_5fbuses',['i2c_discover_buses',['../a00497.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c'],['../a00500.html#a43b4ceef3780597f5f667ff9cfd0f191',1,'i2c_discover_buses(int i2c_bitbang_buses[], int max_buses): i2c_bitbang_samd21.c']]], + ['i2c_5fenable',['i2c_enable',['../a00497.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c'],['../a00500.html#a5a1923e2271df541e858cb4e05d7b895',1,'i2c_enable(void): i2c_bitbang_samd21.c']]], + ['i2c_5fread',['i2c_read',['../a00912.html#gaf31b095e9faac0c43ba3f0403bc52cf4',1,'hal_pic32mx695f512h_i2c.c']]], + ['i2c_5freceive_5fbyte',['i2c_receive_byte',['../a00497.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a2a3abf2b54b2161feeaf57fdc834586e',1,'i2c_receive_byte(uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5freceive_5fbytes',['i2c_receive_bytes',['../a00497.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a690ed5c65fe26bbbdf166bbaaf177fc9',1,'i2c_receive_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5freceive_5fone_5fbyte',['i2c_receive_one_byte',['../a00497.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c'],['../a00500.html#a2f6cabfafc11c56ea8335f54fac20343',1,'i2c_receive_one_byte(uint8_t ack): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fack',['i2c_send_ack',['../a00497.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c'],['../a00500.html#a223e077dcbdfaf7944f76664c81c4c3b',1,'i2c_send_ack(uint8_t ack): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fbyte',['i2c_send_byte',['../a00497.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c'],['../a00500.html#a04db7e3e2316cb43e97250a12c4eb81b',1,'i2c_send_byte(uint8_t i2c_byte): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fbytes',['i2c_send_bytes',['../a00497.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c'],['../a00500.html#a281f835e0c21015a8ab672b08940b730',1,'i2c_send_bytes(uint8_t count, uint8_t *data): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fstart',['i2c_send_start',['../a00497.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c'],['../a00500.html#a128fce372792e241c66c533edec30c1b',1,'i2c_send_start(void): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fstop',['i2c_send_stop',['../a00497.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c'],['../a00500.html#a28d871f938b84b40a153a806c55d6aef',1,'i2c_send_stop(void): i2c_bitbang_samd21.c']]], + ['i2c_5fsend_5fwake_5ftoken',['i2c_send_wake_token',['../a00497.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c'],['../a00500.html#a20d903bd4606203e120babaf3fe4d926',1,'i2c_send_wake_token(void): i2c_bitbang_samd21.c']]], + ['i2c_5fset_5fpin',['i2c_set_pin',['../a00497.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c'],['../a00500.html#aecf10ae5c65e5e8d20f29acc2fcd5d7d',1,'i2c_set_pin(uint8_t sda, uint8_t scl): i2c_bitbang_samd21.c']]], + ['i2c_5fwrite',['i2c_write',['../a00912.html#ga8fc6a91c0d59cdf46f1bdf33ca8ab048',1,'hal_pic32mx695f512h_i2c.c']]], + ['initatcacommand',['initATCACommand',['../a00906.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c'],['../a00906.html#gaf4177bd66c5981ba86511608150c024e',1,'initATCACommand(ATCADeviceType device_type, ATCACommand ca_cmd): atca_command.c']]], + ['initatcadevice',['initATCADevice',['../a00907.html#ga8eec7f2190d1f9bda6684f5d2177db15',1,'atca_device.c']]], + ['initatcaiface',['initATCAIface',['../a00908.html#ga3a31087729a7a2e9a624572f234809fc',1,'atca_iface.c']]], + ['io_5fprotection_5fget_5fkey',['io_protection_get_key',['../a00023.html#adb01c317f81145702f564ca1d46ec33b',1,'io_protection_key.h']]], + ['io_5fprotection_5fset_5fkey',['io_protection_set_key',['../a00023.html#a8e02c996fdc083bb4c4444057e429a44',1,'io_protection_key.h']]], + ['isalpha',['isAlpha',['../a00910.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c'],['../a00910.html#ga592c23e94097ad5e212beb6390aa88c6',1,'isAlpha(char c): atca_helpers.c']]], + ['isatcaerror',['isATCAError',['../a00906.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c'],['../a00906.html#gae41108996848638519849163e51cd10a',1,'isATCAError(uint8_t *data): atca_command.c']]], + ['isbase64',['isBase64',['../a00910.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gac873a37c53fdd922d5b36efd737e3ec3',1,'isBase64(char c, const uint8_t *rules): atca_helpers.c']]], + ['isbase64digit',['isBase64Digit',['../a00910.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c'],['../a00910.html#gad10d15454308230fbef54bdd43001ed2',1,'isBase64Digit(char c, const uint8_t *rules): atca_helpers.c']]], + ['isdigit',['isDigit',['../a00910.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c'],['../a00910.html#ga7a929bf65cbc777bab7e533a2755cfad',1,'isDigit(char c): atca_helpers.c']]], + ['ishex',['isHex',['../a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c'],['../a00910.html#gab7ca9ee391118aafe6f3cf7df4fa5de3',1,'isHex(char c): atca_helpers.c']]], + ['ishexalpha',['isHexAlpha',['../a00910.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c'],['../a00910.html#ga78abefc293c0a04d8ef649c94c8a1057',1,'isHexAlpha(char c): atca_helpers.c']]], + ['ishexdigit',['isHexDigit',['../a00910.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c'],['../a00910.html#ga39003da4dc8a0b8999f1325c2f96f641',1,'isHexDigit(char c): atca_helpers.c']]], + ['iswhitespace',['isWhiteSpace',['../a00910.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c'],['../a00910.html#gab3db1b55b966b792e8308a1819933c0e',1,'isWhiteSpace(char c): atca_helpers.c']]] ]; diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js index 8e315b118..45d756901 100644 --- a/docs/html/search/functions_8.js +++ b/docs/html/search/functions_8.js @@ -1,15 +1,15 @@ var searchData= [ - ['kit_5fid_5ffrom_5fdevtype',['kit_id_from_devtype',['../a03537.html#gae9acffb3ff9a025924457fce5c24a709',1,'kit_protocol.c']]], - ['kit_5fidle',['kit_idle',['../a03537.html#gaeaee19ff7623f0eab9839e68dae583af',1,'kit_protocol.c']]], - ['kit_5finit',['kit_init',['../a03537.html#ga8fb98d1c372e7e75f99a2f7d1182b877',1,'kit_protocol.c']]], - ['kit_5fparse_5frsp',['kit_parse_rsp',['../a03537.html#ga8bf59f4218d312568b769b8b8e5c563e',1,'kit_protocol.c']]], - ['kit_5fphy_5fnum_5ffound',['kit_phy_num_found',['../a03537.html#ga11ee6ec0b2b7eb2ff2472f92208c3205',1,'hal_all_platforms_kit_hidapi.c']]], - ['kit_5fphy_5freceive',['kit_phy_receive',['../a03537.html#gabb507252b1011037d6d2cce7d91b01d0',1,'kit_phy_receive(ATCAIface iface, uint8_t *rxdata, int *rxsize): hal_all_platforms_kit_hidapi.c'],['../a03537.html#gaae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_linux_kit_cdc.c'],['../a00452.html#aae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_win_kit_cdc.c']]], - ['kit_5fphy_5fsend',['kit_phy_send',['../a03537.html#gabd452e3edb32ea0d22653c182b4e1198',1,'kit_phy_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_all_platforms_kit_hidapi.c'],['../a03537.html#ga020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00452.html#a020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_win_kit_cdc.c']]], - ['kit_5freceive',['kit_receive',['../a03537.html#ga09a86ccc517208f9c9a057ea569e2a18',1,'kit_protocol.c']]], - ['kit_5fsend',['kit_send',['../a03537.html#gac9dc79f9b5281fbe82c20b6af9de76b7',1,'kit_protocol.c']]], - ['kit_5fsleep',['kit_sleep',['../a03537.html#gaf6054a0c971830411d5008b94923bdd8',1,'kit_protocol.c']]], - ['kit_5fwake',['kit_wake',['../a03537.html#gaf7ce58d02b067b956abd32127f5519e9',1,'kit_protocol.c']]], - ['kit_5fwrap_5fcmd',['kit_wrap_cmd',['../a03537.html#ga0f09f4b79c681f54b88a8f71bca0d4c4',1,'kit_protocol.c']]] + ['kit_5fid_5ffrom_5fdevtype',['kit_id_from_devtype',['../a00912.html#gae9acffb3ff9a025924457fce5c24a709',1,'kit_protocol.c']]], + ['kit_5fidle',['kit_idle',['../a00912.html#gaeaee19ff7623f0eab9839e68dae583af',1,'kit_protocol.c']]], + ['kit_5finit',['kit_init',['../a00912.html#ga8fb98d1c372e7e75f99a2f7d1182b877',1,'kit_protocol.c']]], + ['kit_5fparse_5frsp',['kit_parse_rsp',['../a00912.html#ga8bf59f4218d312568b769b8b8e5c563e',1,'kit_protocol.c']]], + ['kit_5fphy_5fnum_5ffound',['kit_phy_num_found',['../a00912.html#ga11ee6ec0b2b7eb2ff2472f92208c3205',1,'hal_all_platforms_kit_hidapi.c']]], + ['kit_5fphy_5freceive',['kit_phy_receive',['../a00912.html#gabb507252b1011037d6d2cce7d91b01d0',1,'kit_phy_receive(ATCAIface iface, uint8_t *rxdata, int *rxsize): hal_all_platforms_kit_hidapi.c'],['../a00912.html#gaae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_linux_kit_cdc.c'],['../a00473.html#aae5e94b6080d4279474eb3e98bc58901',1,'kit_phy_receive(ATCAIface iface, char *rxdata, int *rxsize): hal_win_kit_cdc.c']]], + ['kit_5fphy_5fsend',['kit_phy_send',['../a00912.html#gabd452e3edb32ea0d22653c182b4e1198',1,'kit_phy_send(ATCAIface iface, uint8_t *txdata, int txlength): hal_all_platforms_kit_hidapi.c'],['../a00912.html#ga020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_linux_kit_cdc.c'],['../a00473.html#a020fb0be6c73515122cf4b9f749fd97d',1,'kit_phy_send(ATCAIface iface, const char *txdata, int txlength): hal_win_kit_cdc.c']]], + ['kit_5freceive',['kit_receive',['../a00912.html#ga09a86ccc517208f9c9a057ea569e2a18',1,'kit_protocol.c']]], + ['kit_5fsend',['kit_send',['../a00912.html#gac9dc79f9b5281fbe82c20b6af9de76b7',1,'kit_protocol.c']]], + ['kit_5fsleep',['kit_sleep',['../a00912.html#gaf6054a0c971830411d5008b94923bdd8',1,'kit_protocol.c']]], + ['kit_5fwake',['kit_wake',['../a00912.html#gaf7ce58d02b067b956abd32127f5519e9',1,'kit_protocol.c']]], + ['kit_5fwrap_5fcmd',['kit_wrap_cmd',['../a00912.html#ga0f09f4b79c681f54b88a8f71bca0d4c4',1,'kit_protocol.c']]] ]; diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js index 19119c228..df62d0e57 100644 --- a/docs/html/search/functions_9.js +++ b/docs/html/search/functions_9.js @@ -1,6 +1,6 @@ var searchData= [ - ['newatcacommand',['newATCACommand',['../a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c'],['../a03531.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c']]], - ['newatcadevice',['newATCADevice',['../a03532.html#gad5e12e12d3030e28d75164286df9e5e9',1,'atca_device.c']]], - ['newatcaiface',['newATCAIface',['../a03533.html#ga6f28f18f0d00c5301939724325f6b6fc',1,'atca_iface.c']]] + ['newatcacommand',['newATCACommand',['../a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c'],['../a00906.html#gac004e4f2b9a435f9de6cea523c0e9a2d',1,'newATCACommand(ATCADeviceType device_type): atca_command.c']]], + ['newatcadevice',['newATCADevice',['../a00907.html#gad5e12e12d3030e28d75164286df9e5e9',1,'atca_device.c']]], + ['newatcaiface',['newATCAIface',['../a00908.html#ga6f28f18f0d00c5301939724325f6b6fc',1,'atca_iface.c']]] ]; diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js index 79762b317..1bfb0b521 100644 --- a/docs/html/search/functions_a.js +++ b/docs/html/search/functions_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['or',['or',['../a00533.html#a12da3acd04e3589c2114dc5d0853f811',1,'license.txt']]] + ['or',['or',['../a00554.html#a12da3acd04e3589c2114dc5d0853f811',1,'license.txt']]] ]; diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js index 79317f731..f5db38af4 100644 --- a/docs/html/search/functions_b.js +++ b/docs/html/search/functions_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['packhex',['packHex',['../a03535.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c'],['../a03535.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c']]] + ['packhex',['packHex',['../a00910.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c'],['../a00910.html#gad017ae33af5a7ea062cea7d54de675a8',1,'packHex(const char *ascii_hex, size_t ascii_hex_len, char *packed_hex, size_t *packed_len): atca_helpers.c']]] ]; diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js index 416ad2721..f50a24efd 100644 --- a/docs/html/search/functions_c.js +++ b/docs/html/search/functions_c.js @@ -1,5 +1,5 @@ var searchData= [ - ['releaseatcadevice',['releaseATCADevice',['../a03532.html#gab729e6c838c0a247d4f226fb92492d96',1,'atca_device.c']]], - ['releaseatcaiface',['releaseATCAIface',['../a03533.html#gab9ee16357a8e397a72eda7e9c8553fb3',1,'atca_iface.c']]] + ['releaseatcadevice',['releaseATCADevice',['../a00907.html#gab729e6c838c0a247d4f226fb92492d96',1,'atca_device.c']]], + ['releaseatcaiface',['releaseATCAIface',['../a00908.html#gab9ee16357a8e397a72eda7e9c8553fb3',1,'atca_iface.c']]] ]; diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js index 5a7b382a8..2e809c76c 100644 --- a/docs/html/search/functions_d.js +++ b/docs/html/search/functions_d.js @@ -1,32 +1,33 @@ var searchData= [ - ['secure_5fboot_5fcheck_5ffull_5fcopy_5fcompletion',['secure_boot_check_full_copy_completion',['../a00026.html#a6378e763208c43ba1fbcadd8bc8a084c',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fdeinit_5fmemory',['secure_boot_deinit_memory',['../a00026.html#abf726b809a542bc68519520b61b755a3',1,'secure_boot_memory.h']]], - ['secure_5fboot_5finit_5fmemory',['secure_boot_init_memory',['../a00026.html#ad744cc79ced98d366fed07780032bc47',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fmark_5ffull_5fcopy_5fcompletion',['secure_boot_mark_full_copy_completion',['../a00026.html#aa635e6de2a04772df6edfdc1973236b9',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fprocess',['secure_boot_process',['../a00020.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c'],['../a00023.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c']]], - ['secure_5fboot_5fread_5fmemory',['secure_boot_read_memory',['../a00026.html#a25b3c765095b474bc2b93f87d96f7b28',1,'secure_boot_memory.h']]], - ['secure_5fboot_5fwrite_5fmemory',['secure_boot_write_memory',['../a00026.html#a00a29e86e9ab8b9d74b95e194a1b08f2',1,'secure_boot_memory.h']]], - ['shaengine',['shaEngine',['../a00287.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c'],['../a00290.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c']]], - ['software',['software',['../a00533.html#a0261086a97cfe9d7e9535905e5bae13d',1,'license.txt']]], - ['strnchr',['strnchr',['../a03537.html#ga1473b18d902ce22c6b22d04ff5a7ef02',1,'kit_protocol.c']]], - ['sw_5fsha256',['sw_sha256',['../a00293.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00296.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], - ['sw_5fsha256_5ffinal',['sw_sha256_final',['../a00293.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00296.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], - ['sw_5fsha256_5finit',['sw_sha256_init',['../a00293.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c'],['../a00296.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c']]], - ['sw_5fsha256_5fupdate',['sw_sha256_update',['../a00293.html#a4d0c952ebe691b3337205829dc352e6e',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size): sha2_routines.c'],['../a00296.html#a7f5d8ad85631d77bfdb10dfb728bfbce',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len): sha2_routines.c']]], - ['swi_5fdisable',['swi_disable',['../a00491.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c'],['../a00494.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c']]], - ['swi_5fenable',['swi_enable',['../a00491.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c'],['../a00494.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c']]], - ['swi_5freceive_5fbytes',['swi_receive_bytes',['../a00491.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00494.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fbyte',['swi_send_byte',['../a00491.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c'],['../a00494.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fbytes',['swi_send_bytes',['../a00491.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00494.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], - ['swi_5fsend_5fwake_5ftoken',['swi_send_wake_token',['../a00491.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c'],['../a00494.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c']]], - ['swi_5fset_5fpin',['swi_set_pin',['../a00491.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c'],['../a00494.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c']]], - ['swi_5fset_5fsignal_5fpin',['swi_set_signal_pin',['../a00491.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c'],['../a00494.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c']]], - ['swi_5fuart_5fdeinit',['swi_uart_deinit',['../a03537.html#ga0b1aad3936bf003686d8db7fa2be5132',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fdiscover_5fbuses',['swi_uart_discover_buses',['../a03537.html#gad640b598d581ee7c8a4c804bee602906',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5finit',['swi_uart_init',['../a03537.html#ga003b63648f1a5f9eba274760559688f2',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fmode',['swi_uart_mode',['../a03537.html#gacc2a96c86ce4c07249b81bc6a7eb2e41',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5freceive_5fbyte',['swi_uart_receive_byte',['../a03537.html#ga93f3dab17c14f71641ca970998ede823',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fsend_5fbyte',['swi_uart_send_byte',['../a03537.html#ga4a4d491006d9683d67838963706ac9c1',1,'swi_uart_at90usb1287_asf.c']]], - ['swi_5fuart_5fsetbaud',['swi_uart_setbaud',['../a03537.html#gaba296f70baf68b768d6c4bb9cf7ba67d',1,'swi_uart_at90usb1287_asf.c']]] + ['secure_5fboot_5fcheck_5ffull_5fcopy_5fcompletion',['secure_boot_check_full_copy_completion',['../a00032.html#a6378e763208c43ba1fbcadd8bc8a084c',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fdeinit_5fmemory',['secure_boot_deinit_memory',['../a00032.html#abf726b809a542bc68519520b61b755a3',1,'secure_boot_memory.h']]], + ['secure_5fboot_5finit_5fmemory',['secure_boot_init_memory',['../a00032.html#ad744cc79ced98d366fed07780032bc47',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fmark_5ffull_5fcopy_5fcompletion',['secure_boot_mark_full_copy_completion',['../a00032.html#aa635e6de2a04772df6edfdc1973236b9',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fprocess',['secure_boot_process',['../a00026.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c'],['../a00029.html#a861a785461af4116bca9343019225abd',1,'secure_boot_process(void): secure_boot.c']]], + ['secure_5fboot_5fread_5fmemory',['secure_boot_read_memory',['../a00032.html#a25b3c765095b474bc2b93f87d96f7b28',1,'secure_boot_memory.h']]], + ['secure_5fboot_5fwrite_5fmemory',['secure_boot_write_memory',['../a00032.html#a00a29e86e9ab8b9d74b95e194a1b08f2',1,'secure_boot_memory.h']]], + ['shaengine',['shaEngine',['../a00308.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c'],['../a00311.html#a6f06fe48f7cacc212305b862b46fd9aa',1,'shaEngine(U32 *buf, U32 *h): sha1_routines.c']]], + ['software',['software',['../a00554.html#a0261086a97cfe9d7e9535905e5bae13d',1,'license.txt']]], + ['strnchr',['strnchr',['../a00912.html#ga1473b18d902ce22c6b22d04ff5a7ef02',1,'kit_protocol.c']]], + ['sw_5fsha256',['sw_sha256',['../a00314.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00317.html#a5f6c75bec312e0d2faa7d645b62c3898',1,'sw_sha256(const uint8_t *message, unsigned int len, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], + ['sw_5fsha256_5ffinal',['sw_sha256_final',['../a00314.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c'],['../a00317.html#ace8eb02759b23942f866ddcd2057390a',1,'sw_sha256_final(sw_sha256_ctx *ctx, uint8_t digest[SHA256_DIGEST_SIZE]): sha2_routines.c']]], + ['sw_5fsha256_5finit',['sw_sha256_init',['../a00314.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c'],['../a00317.html#acfb7028e6f10d29c548cbecdbfa53ac8',1,'sw_sha256_init(sw_sha256_ctx *ctx): sha2_routines.c']]], + ['sw_5fsha256_5fupdate',['sw_sha256_update',['../a00314.html#a4d0c952ebe691b3337205829dc352e6e',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *msg, uint32_t msg_size): sha2_routines.c'],['../a00317.html#a7f5d8ad85631d77bfdb10dfb728bfbce',1,'sw_sha256_update(sw_sha256_ctx *ctx, const uint8_t *message, uint32_t len): sha2_routines.c']]], + ['swi_5fdisable',['swi_disable',['../a00512.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c'],['../a00515.html#af016fffdce9f520096de8631e6692707',1,'swi_disable(void): swi_bitbang_samd21.c']]], + ['swi_5fenable',['swi_enable',['../a00512.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c'],['../a00515.html#ad78929b51b34df503a37b4961577d5ce',1,'swi_enable(void): swi_bitbang_samd21.c']]], + ['swi_5freceive_5fbytes',['swi_receive_bytes',['../a00512.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00515.html#afa009f7d683cb82293570a27d1f8ee10',1,'swi_receive_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fbyte',['swi_send_byte',['../a00512.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c'],['../a00515.html#a1c5ab22e67923ee54eef0e33b227be0b',1,'swi_send_byte(uint8_t byte): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fbytes',['swi_send_bytes',['../a00512.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c'],['../a00515.html#af0382e26c4d83b0762b39d12c772dd2e',1,'swi_send_bytes(uint8_t count, uint8_t *buffer): swi_bitbang_samd21.c']]], + ['swi_5fsend_5fwake_5ftoken',['swi_send_wake_token',['../a00512.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c'],['../a00515.html#ada6b4629603758b67820568677ab2a19',1,'swi_send_wake_token(void): swi_bitbang_samd21.c']]], + ['swi_5fset_5fpin',['swi_set_pin',['../a00512.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c'],['../a00515.html#a076fc28889d32327dd3372538106da92',1,'swi_set_pin(uint8_t id): swi_bitbang_samd21.c']]], + ['swi_5fset_5fsignal_5fpin',['swi_set_signal_pin',['../a00512.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c'],['../a00515.html#a79bc8f2b72647fce853274cf8474b41e',1,'swi_set_signal_pin(uint8_t is_high): swi_bitbang_samd21.c']]], + ['swi_5fuart_5fdeinit',['swi_uart_deinit',['../a00912.html#ga0b1aad3936bf003686d8db7fa2be5132',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fdiscover_5fbuses',['swi_uart_discover_buses',['../a00912.html#gad640b598d581ee7c8a4c804bee602906',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5finit',['swi_uart_init',['../a00912.html#ga003b63648f1a5f9eba274760559688f2',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fmode',['swi_uart_mode',['../a00912.html#gacc2a96c86ce4c07249b81bc6a7eb2e41',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5freceive_5fbyte',['swi_uart_receive_byte',['../a00912.html#ga93f3dab17c14f71641ca970998ede823',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fsend_5fbyte',['swi_uart_send_byte',['../a00912.html#ga4a4d491006d9683d67838963706ac9c1',1,'swi_uart_at90usb1287_asf.c']]], + ['swi_5fuart_5fsetbaud',['swi_uart_setbaud',['../a00912.html#gaba296f70baf68b768d6c4bb9cf7ba67d',1,'swi_uart_at90usb1287_asf.c']]], + ['symmetric_5fauthenticate',['symmetric_authenticate',['../a00011.html#a9a41d1600ffd22de067ded50447d359b',1,'symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number): symmetric_authentication.c'],['../a00014.html#a9a41d1600ffd22de067ded50447d359b',1,'symmetric_authenticate(uint8_t slot, const uint8_t *master_key, const uint8_t *rand_number): symmetric_authentication.c']]] ]; diff --git a/docs/html/search/functions_e.js b/docs/html/search/functions_e.js index 8322382c3..9f26ad9c2 100644 --- a/docs/html/search/functions_e.js +++ b/docs/html/search/functions_e.js @@ -1,4 +1,4 @@ var searchData= [ - ['tort',['TORT',['../a00533.html#aef759b5dfd1b3377773e974799cbffdc',1,'license.txt']]] + ['tort',['TORT',['../a00554.html#aef759b5dfd1b3377773e974799cbffdc',1,'license.txt']]] ]; diff --git a/docs/html/search/groups_0.js b/docs/html/search/groups_0.js index 08ed8abcd..f0591bd38 100644 --- a/docs/html/search/groups_0.js +++ b/docs/html/search/groups_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['atcacommand_20_28atca_5f_29',['ATCACommand (atca_)',['../a03531.html',1,'']]], - ['atcadevice_20_28atca_5f_29',['ATCADevice (atca_)',['../a03532.html',1,'']]], - ['atcaiface_20_28atca_5f_29',['ATCAIface (atca_)',['../a03533.html',1,'']]] + ['atcacommand_20_28atca_5f_29',['ATCACommand (atca_)',['../a00906.html',1,'']]], + ['atcadevice_20_28atca_5f_29',['ATCADevice (atca_)',['../a00907.html',1,'']]], + ['atcaiface_20_28atca_5f_29',['ATCAIface (atca_)',['../a00908.html',1,'']]] ]; diff --git a/docs/html/search/groups_1.js b/docs/html/search/groups_1.js index 7b38e108e..e5ebbcbbb 100644 --- a/docs/html/search/groups_1.js +++ b/docs/html/search/groups_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['basic_20crypto_20api_20methods_20_28atcab_5f_29',['Basic Crypto API methods (atcab_)',['../a03535.html',1,'']]] + ['basic_20crypto_20api_20methods_20_28atcab_5f_29',['Basic Crypto API methods (atcab_)',['../a00910.html',1,'']]] ]; diff --git a/docs/html/search/groups_2.js b/docs/html/search/groups_2.js index cd017e419..ace8501be 100644 --- a/docs/html/search/groups_2.js +++ b/docs/html/search/groups_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['certificate_20manipulation_20methods_20_28atcacert_5f_29',['Certificate manipulation methods (atcacert_)',['../a03534.html',1,'']]], - ['configuration_20_28cfg_5f_29',['Configuration (cfg_)',['../a03530.html',1,'']]] + ['certificate_20manipulation_20methods_20_28atcacert_5f_29',['Certificate manipulation methods (atcacert_)',['../a00909.html',1,'']]], + ['configuration_20_28cfg_5f_29',['Configuration (cfg_)',['../a00905.html',1,'']]] ]; diff --git a/docs/html/search/groups_3.js b/docs/html/search/groups_3.js index e3d08ae1e..03571a10f 100644 --- a/docs/html/search/groups_3.js +++ b/docs/html/search/groups_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['host_20side_20crypto_20methods_20_28atcah_5f_29',['Host side crypto methods (atcah_)',['../a03538.html',1,'']]], - ['hardware_20abstraction_20layer_20_28hal_5f_29',['Hardware abstraction layer (hal_)',['../a03537.html',1,'']]] + ['host_20side_20crypto_20methods_20_28atcah_5f_29',['Host side crypto methods (atcah_)',['../a00913.html',1,'']]], + ['hardware_20abstraction_20layer_20_28hal_5f_29',['Hardware abstraction layer (hal_)',['../a00912.html',1,'']]] ]; diff --git a/docs/html/search/groups_4.js b/docs/html/search/groups_4.js index d4afc8f7a..3eab94930 100644 --- a/docs/html/search/groups_4.js +++ b/docs/html/search/groups_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['json_20web_20token_20_28jwt_29_20methods_20_28atca_5fjwt_5f_29',['JSON Web Token (JWT) methods (atca_jwt_)',['../a03539.html',1,'']]] + ['json_20web_20token_20_28jwt_29_20methods_20_28atca_5fjwt_5f_29',['JSON Web Token (JWT) methods (atca_jwt_)',['../a00914.html',1,'']]] ]; diff --git a/docs/html/search/groups_5.js b/docs/html/search/groups_5.js index 6fd50a197..878fc9e7f 100644 --- a/docs/html/search/groups_5.js +++ b/docs/html/search/groups_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['software_20crypto_20methods_20_28atcac_5f_29',['Software crypto methods (atcac_)',['../a03536.html',1,'']]] + ['software_20crypto_20methods_20_28atcac_5f_29',['Software crypto methods (atcac_)',['../a00911.html',1,'']]] ]; diff --git a/docs/html/search/pages_0.js b/docs/html/search/pages_0.js index bc6396c0d..9cb3dd086 100644 --- a/docs/html/search/pages_0.js +++ b/docs/html/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['app_20directory_20_2d_20purpose',['app directory - Purpose',['../a03776.html',1,'']]] + ['app_20directory_20_2d_20purpose',['app directory - Purpose',['../a01156.html',1,'']]] ]; diff --git a/docs/html/search/pages_1.js b/docs/html/search/pages_1.js index 3479d5a29..fb815aa32 100644 --- a/docs/html/search/pages_1.js +++ b/docs/html/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['basic_20directory_20_2d_20purpose',['basic directory - Purpose',['../a03773.html',1,'']]] + ['basic_20directory_20_2d_20purpose',['basic directory - Purpose',['../a01152.html',1,'']]] ]; diff --git a/docs/html/search/pages_2.js b/docs/html/search/pages_2.js index ef67590ee..255c11ea4 100644 --- a/docs/html/search/pages_2.js +++ b/docs/html/search/pages_2.js @@ -1,5 +1,5 @@ var searchData= [ ['cryptoauthlib_20_2d_20microchip_20cryptoauthentication_20library',['CryptoAuthLib - Microchip CryptoAuthentication Library',['../index.html',1,'']]], - ['crypto_20directory_20_2d_20purpose',['crypto directory - Purpose',['../a03774.html',1,'']]] + ['crypto_20directory_20_2d_20purpose',['crypto directory - Purpose',['../a01153.html',1,'']]] ]; diff --git a/docs/html/search/pages_3.js b/docs/html/search/pages_3.js index d834e8243..831a4eae8 100644 --- a/docs/html/search/pages_3.js +++ b/docs/html/search/pages_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['hal_20directory_20_2d_20purpose',['HAL Directory - Purpose',['../a03775.html',1,'']]] + ['hal_20directory_20_2d_20purpose',['HAL Directory - Purpose',['../a01154.html',1,'']]] ]; diff --git a/docs/html/search/pages_4.html b/docs/html/search/pages_4.html new file mode 100644 index 000000000..593494e9e --- /dev/null +++ b/docs/html/search/pages_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
        +
        Loading...
        +
        + +
        Searching...
        +
        No Matches
        + +
        + + diff --git a/docs/html/search/pages_4.js b/docs/html/search/pages_4.js new file mode 100644 index 000000000..60e7beafb --- /dev/null +++ b/docs/html/search/pages_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ip_20protection_20with_20symmetric_20authentication',['IP Protection with Symmetric Authentication',['../a01155.html',1,'']]] +]; diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js index f011ac760..e8a8489db 100644 --- a/docs/html/search/searchdata.js +++ b/docs/html/search/searchdata.js @@ -1,16 +1,16 @@ var indexSectionsWithContent = { - 0: "_abcdefghijklmnoprstuvwz", + 0: "_abcdefghijklmnoprstuvwyz", 1: "acdhims", 2: "achiklrs", 3: "_abcdehiknoprst", - 4: "_abcdefghiklmnoprstuvwz", + 4: "_abcdefghijklmnoprstuvwyz", 5: "achs", 6: "ais", 7: "acdis", 8: "_abcdeilmnprstuvwz", 9: "abchjs", - 10: "abch" + 10: "abchi" }; var indexSectionNames = diff --git a/docs/html/search/typedefs_0.js b/docs/html/search/typedefs_0.js index 0bbf5beba..03423b36a 100644 --- a/docs/html/search/typedefs_0.js +++ b/docs/html/search/typedefs_0.js @@ -1,39 +1,40 @@ var searchData= [ - ['atca_5faes_5fcbc_5fctx_5ft',['atca_aes_cbc_ctx_t',['../a03535.html#gaa702726fe160635225abc3c1ed421f7e',1,'atca_basic.h']]], - ['atca_5faes_5fcmac_5fctx_5ft',['atca_aes_cmac_ctx_t',['../a03535.html#ga05fa8c58bf4408381db8871b0dca64b6',1,'atca_basic.h']]], - ['atca_5faes_5fctr_5fctx_5ft',['atca_aes_ctr_ctx_t',['../a03535.html#ga52b18f051752d214a2d5b485270f5b15',1,'atca_basic.h']]], - ['atca_5fcheck_5fmac_5fin_5fout_5ft',['atca_check_mac_in_out_t',['../a03538.html#ga897821490d4d10e168f1c94cd67966e7',1,'atca_host.h']]], - ['atca_5fgen_5fdig_5fin_5fout_5ft',['atca_gen_dig_in_out_t',['../a03538.html#ga5ed81b300bd0d04f88708ad122d3a53a',1,'atca_host.h']]], - ['atca_5fgen_5fkey_5fin_5fout_5ft',['atca_gen_key_in_out_t',['../a03538.html#ga804b097bbb0a7086f7d208390689146b',1,'atca_host.h']]], - ['atca_5fhmac_5fsha256_5fctx_5ft',['atca_hmac_sha256_ctx_t',['../a03535.html#ga4c1f62e502c168be9261d2af921e78ba',1,'atca_basic.h']]], - ['atca_5fio_5fdecrypt_5fin_5fout_5ft',['atca_io_decrypt_in_out_t',['../a03538.html#ga787a3ef3bd9a6feaf71b50fc127b619d',1,'atca_host.h']]], - ['atca_5fmac_5fin_5fout_5ft',['atca_mac_in_out_t',['../a03538.html#ga21e3f5ec2d0765d3e98432c4e8498350',1,'atca_host.h']]], - ['atca_5fnonce_5fin_5fout_5ft',['atca_nonce_in_out_t',['../a03538.html#gae9d8a27e97696e2e02cea680ea44e3f2',1,'atca_host.h']]], - ['atca_5fsecureboot_5fenc_5fin_5fout_5ft',['atca_secureboot_enc_in_out_t',['../a03538.html#gaa60674423eaa2e7f37f2c1cf2855f2d7',1,'atca_host.h']]], - ['atca_5fsecureboot_5fmac_5fin_5fout_5ft',['atca_secureboot_mac_in_out_t',['../a03538.html#gace9a9d1e2e34d294e573098600b6f061',1,'atca_host.h']]], - ['atca_5fsha256_5fctx_5ft',['atca_sha256_ctx_t',['../a03535.html#ga530ccce9f617be7dbf3661e19a4c0546',1,'atca_basic.h']]], - ['atca_5fsign_5finternal_5fin_5fout_5ft',['atca_sign_internal_in_out_t',['../a03538.html#gafdb82fc57fb953626c28c757a5220274',1,'atca_host.h']]], - ['atca_5ftemp_5fkey_5ft',['atca_temp_key_t',['../a03538.html#ga30bc02410edabefa2e210709b00105de',1,'atca_host.h']]], - ['atca_5fverify_5fin_5fout_5ft',['atca_verify_in_out_t',['../a03538.html#gab4d485e0545aa3defd75702fe51f9a13',1,'atca_host.h']]], - ['atca_5fverify_5fmac_5fin_5fout_5ft',['atca_verify_mac_in_out_t',['../a03538.html#ga39d794a93edb13943760550086940fa4',1,'atca_host.h']]], - ['atca_5fwrite_5fmac_5fin_5fout_5ft',['atca_write_mac_in_out_t',['../a03538.html#gafeefb2141ebb14988f08eb86f7cd6608',1,'atca_host.h']]], - ['atcacdc_5ft',['atcacdc_t',['../a03537.html#ga2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_linux_kit_cdc.h'],['../a00455.html#a2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_win_kit_cdc.h']]], - ['atcacert_5fbuild_5fstate_5ft',['atcacert_build_state_t',['../a03534.html#ga92ccf01a2c37be9caa7d840846672c83',1,'atcacert_def.h']]], - ['atcacert_5fcert_5felement_5ft',['atcacert_cert_element_t',['../a03534.html#ga8d14206d455a7a7835ed613e57c20dd3',1,'atcacert_def.h']]], - ['atcacert_5fcert_5floc_5ft',['atcacert_cert_loc_t',['../a03534.html#gae7c32139e6dce0fe25b4598299a77df6',1,'atcacert_def.h']]], - ['atcacert_5fcert_5fsn_5fsrc_5ft',['atcacert_cert_sn_src_t',['../a03534.html#gaa557358df9a164d6c1f14b1f53662c6c',1,'atcacert_def.h']]], - ['atcacert_5fcert_5ftype_5ft',['atcacert_cert_type_t',['../a03534.html#ga8fcfb1307197295422ace828b40ee37d',1,'atcacert_def.h']]], - ['atcacert_5fdate_5fformat_5ft',['atcacert_date_format_t',['../a03534.html#ga7f389df0f74fd3593ab7e3a4d380433f',1,'atcacert_date.h']]], - ['atcacert_5fdef_5ft',['atcacert_def_t',['../a03534.html#gae9e78b17340263e97844ccaf72ca16ac',1,'atcacert_def.h']]], - ['atcacert_5fdevice_5floc_5ft',['atcacert_device_loc_t',['../a03534.html#ga0fb6e40d2f1496215af2f9ae23c861a0',1,'atcacert_def.h']]], - ['atcacert_5fdevice_5fzone_5ft',['atcacert_device_zone_t',['../a03534.html#ga294899ca77a6801288e1ccb148de1f8b',1,'atcacert_def.h']]], - ['atcacert_5fstd_5fcert_5felement_5ft',['atcacert_std_cert_element_t',['../a03534.html#ga4889317187186736e62beb7538b870b2',1,'atcacert_def.h']]], - ['atcacert_5ftm_5futc_5ft',['atcacert_tm_utc_t',['../a03534.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121',1,'atcacert_date.h']]], - ['atcacommand',['ATCACommand',['../a03531.html#gaebeafc249bfe2b00b6809d5c328841d9',1,'atca_command.h']]], - ['atcadevice',['ATCADevice',['../a03532.html#gaa94f7bb4af0a3d6735225cc85d92cb50',1,'atca_device.h']]], - ['atcahid_5ft',['atcahid_t',['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_all_platforms_kit_hidapi.h'],['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_linux_kit_hid.h'],['../a03537.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_win_kit_hid.h']]], - ['atcai2cmaster_5ft',['ATCAI2CMaster_t',['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_at90usb1287_i2c_asf.h'],['../a00332.html#ae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_esp32_i2c.c'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_bitbang.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_start.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_linux_i2c_userspace.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mx695f512h_i2c.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mz2048efm_i2c.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_sam4s_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samb11_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samd21_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samg55_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samv71_i2c_asf.h'],['../a03537.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_xmega_a3bu_i2c_asf.h']]], - ['atcaiface',['ATCAIface',['../a03533.html#ga75c11126f3fe81df3d6c27f5bb393303',1,'atca_iface.h']]], - ['atcaswimaster_5ft',['ATCASWIMaster_t',['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): hal_swi_bitbang.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_at90usb1287_asf.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_samd21_asf.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_start.h'],['../a03537.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_xmega_a3bu_asf.h']]] + ['atca_5faes_5fcbc_5fctx_5ft',['atca_aes_cbc_ctx_t',['../a00910.html#gaa702726fe160635225abc3c1ed421f7e',1,'atca_basic.h']]], + ['atca_5faes_5fcmac_5fctx_5ft',['atca_aes_cmac_ctx_t',['../a00910.html#ga05fa8c58bf4408381db8871b0dca64b6',1,'atca_basic.h']]], + ['atca_5faes_5fctr_5fctx_5ft',['atca_aes_ctr_ctx_t',['../a00910.html#ga52b18f051752d214a2d5b485270f5b15',1,'atca_basic.h']]], + ['atca_5faes_5fgcm_5fctx_5ft',['atca_aes_gcm_ctx_t',['../a00203.html#ac77c63c0685b2cce6a89f607ea019065',1,'atca_basic_aes_gcm.h']]], + ['atca_5fcheck_5fmac_5fin_5fout_5ft',['atca_check_mac_in_out_t',['../a00913.html#ga897821490d4d10e168f1c94cd67966e7',1,'atca_host.h']]], + ['atca_5fgen_5fdig_5fin_5fout_5ft',['atca_gen_dig_in_out_t',['../a00913.html#ga5ed81b300bd0d04f88708ad122d3a53a',1,'atca_host.h']]], + ['atca_5fgen_5fkey_5fin_5fout_5ft',['atca_gen_key_in_out_t',['../a00913.html#ga804b097bbb0a7086f7d208390689146b',1,'atca_host.h']]], + ['atca_5fhmac_5fsha256_5fctx_5ft',['atca_hmac_sha256_ctx_t',['../a00910.html#ga4c1f62e502c168be9261d2af921e78ba',1,'atca_basic.h']]], + ['atca_5fio_5fdecrypt_5fin_5fout_5ft',['atca_io_decrypt_in_out_t',['../a00913.html#ga787a3ef3bd9a6feaf71b50fc127b619d',1,'atca_host.h']]], + ['atca_5fmac_5fin_5fout_5ft',['atca_mac_in_out_t',['../a00913.html#ga21e3f5ec2d0765d3e98432c4e8498350',1,'atca_host.h']]], + ['atca_5fnonce_5fin_5fout_5ft',['atca_nonce_in_out_t',['../a00913.html#gae9d8a27e97696e2e02cea680ea44e3f2',1,'atca_host.h']]], + ['atca_5fsecureboot_5fenc_5fin_5fout_5ft',['atca_secureboot_enc_in_out_t',['../a00913.html#gaa60674423eaa2e7f37f2c1cf2855f2d7',1,'atca_host.h']]], + ['atca_5fsecureboot_5fmac_5fin_5fout_5ft',['atca_secureboot_mac_in_out_t',['../a00913.html#gace9a9d1e2e34d294e573098600b6f061',1,'atca_host.h']]], + ['atca_5fsha256_5fctx_5ft',['atca_sha256_ctx_t',['../a00910.html#ga530ccce9f617be7dbf3661e19a4c0546',1,'atca_basic.h']]], + ['atca_5fsign_5finternal_5fin_5fout_5ft',['atca_sign_internal_in_out_t',['../a00913.html#gafdb82fc57fb953626c28c757a5220274',1,'atca_host.h']]], + ['atca_5ftemp_5fkey_5ft',['atca_temp_key_t',['../a00913.html#ga30bc02410edabefa2e210709b00105de',1,'atca_host.h']]], + ['atca_5fverify_5fin_5fout_5ft',['atca_verify_in_out_t',['../a00913.html#gab4d485e0545aa3defd75702fe51f9a13',1,'atca_host.h']]], + ['atca_5fverify_5fmac_5fin_5fout_5ft',['atca_verify_mac_in_out_t',['../a00913.html#ga39d794a93edb13943760550086940fa4',1,'atca_host.h']]], + ['atca_5fwrite_5fmac_5fin_5fout_5ft',['atca_write_mac_in_out_t',['../a00913.html#gafeefb2141ebb14988f08eb86f7cd6608',1,'atca_host.h']]], + ['atcacdc_5ft',['atcacdc_t',['../a00912.html#ga2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_linux_kit_cdc.h'],['../a00476.html#a2df85bfd309840b4c9a5087e053d4811',1,'atcacdc_t(): hal_win_kit_cdc.h']]], + ['atcacert_5fbuild_5fstate_5ft',['atcacert_build_state_t',['../a00909.html#ga92ccf01a2c37be9caa7d840846672c83',1,'atcacert_def.h']]], + ['atcacert_5fcert_5felement_5ft',['atcacert_cert_element_t',['../a00909.html#ga8d14206d455a7a7835ed613e57c20dd3',1,'atcacert_def.h']]], + ['atcacert_5fcert_5floc_5ft',['atcacert_cert_loc_t',['../a00909.html#gae7c32139e6dce0fe25b4598299a77df6',1,'atcacert_def.h']]], + ['atcacert_5fcert_5fsn_5fsrc_5ft',['atcacert_cert_sn_src_t',['../a00909.html#gaa557358df9a164d6c1f14b1f53662c6c',1,'atcacert_def.h']]], + ['atcacert_5fcert_5ftype_5ft',['atcacert_cert_type_t',['../a00909.html#ga8fcfb1307197295422ace828b40ee37d',1,'atcacert_def.h']]], + ['atcacert_5fdate_5fformat_5ft',['atcacert_date_format_t',['../a00909.html#ga7f389df0f74fd3593ab7e3a4d380433f',1,'atcacert_date.h']]], + ['atcacert_5fdef_5ft',['atcacert_def_t',['../a00909.html#gae9e78b17340263e97844ccaf72ca16ac',1,'atcacert_def.h']]], + ['atcacert_5fdevice_5floc_5ft',['atcacert_device_loc_t',['../a00909.html#ga0fb6e40d2f1496215af2f9ae23c861a0',1,'atcacert_def.h']]], + ['atcacert_5fdevice_5fzone_5ft',['atcacert_device_zone_t',['../a00909.html#ga294899ca77a6801288e1ccb148de1f8b',1,'atcacert_def.h']]], + ['atcacert_5fstd_5fcert_5felement_5ft',['atcacert_std_cert_element_t',['../a00909.html#ga4889317187186736e62beb7538b870b2',1,'atcacert_def.h']]], + ['atcacert_5ftm_5futc_5ft',['atcacert_tm_utc_t',['../a00909.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121',1,'atcacert_date.h']]], + ['atcacommand',['ATCACommand',['../a00906.html#gaebeafc249bfe2b00b6809d5c328841d9',1,'atca_command.h']]], + ['atcadevice',['ATCADevice',['../a00907.html#gaa94f7bb4af0a3d6735225cc85d92cb50',1,'atca_device.h']]], + ['atcahid_5ft',['atcahid_t',['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_all_platforms_kit_hidapi.h'],['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_linux_kit_hid.h'],['../a00912.html#ga2416cca7ee952e679d466e3349d65035',1,'atcahid_t(): hal_win_kit_hid.h']]], + ['atcai2cmaster_5ft',['ATCAI2CMaster_t',['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_at90usb1287_i2c_asf.h'],['../a00353.html#ae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_esp32_i2c.c'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_bitbang.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_i2c_start.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_linux_i2c_userspace.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mx695f512h_i2c.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_pic32mz2048efm_i2c.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_sam4s_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samb11_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samd21_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samg55_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_samv71_i2c_asf.h'],['../a00912.html#gae8f36006f14bf6a9f4914bac69ed9f98',1,'ATCAI2CMaster_t(): hal_xmega_a3bu_i2c_asf.h']]], + ['atcaiface',['ATCAIface',['../a00908.html#ga75c11126f3fe81df3d6c27f5bb393303',1,'atca_iface.h']]], + ['atcaswimaster_5ft',['ATCASWIMaster_t',['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): hal_swi_bitbang.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_at90usb1287_asf.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_samd21_asf.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_start.h'],['../a00912.html#ga257ed552f7d68eb1e5d3ca7baa01559a',1,'ATCASWIMaster_t(): swi_uart_xmega_a3bu_asf.h']]] ]; diff --git a/docs/html/search/typedefs_1.js b/docs/html/search/typedefs_1.js index 4cc793349..00cb0098f 100644 --- a/docs/html/search/typedefs_1.js +++ b/docs/html/search/typedefs_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['cdc_5fdevice_5ft',['cdc_device_t',['../a03537.html#ga99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_linux_kit_cdc.h'],['../a00455.html#a99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_win_kit_cdc.h']]] + ['cdc_5fdevice_5ft',['cdc_device_t',['../a00912.html#ga99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_linux_kit_cdc.h'],['../a00476.html#a99ee56102171adcbcecb8a78fb9fa895',1,'cdc_device_t(): hal_win_kit_cdc.h']]] ]; diff --git a/docs/html/search/typedefs_2.js b/docs/html/search/typedefs_2.js index e62de816e..5a71b12b7 100644 --- a/docs/html/search/typedefs_2.js +++ b/docs/html/search/typedefs_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['handle',['HANDLE',['../a03537.html#ga069bb8cb95b0528d5ce0304bb5561a40',1,'hal_linux_kit_cdc.h']]], - ['hid_5fdevice_5ft',['hid_device_t',['../a03537.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_linux_kit_hid.h'],['../a03537.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_win_kit_hid.h']]] + ['handle',['HANDLE',['../a00912.html#ga069bb8cb95b0528d5ce0304bb5561a40',1,'hal_linux_kit_cdc.h']]], + ['hid_5fdevice_5ft',['hid_device_t',['../a00912.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_linux_kit_hid.h'],['../a00912.html#ga5f2f61628e945fd6538155628fc3a17a',1,'hid_device_t(): hal_win_kit_hid.h']]] ]; diff --git a/docs/html/search/typedefs_3.js b/docs/html/search/typedefs_3.js index 0038185e2..a930af765 100644 --- a/docs/html/search/typedefs_3.js +++ b/docs/html/search/typedefs_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['secure_5fboot_5fhandler',['secure_boot_handler',['../a00023.html#a77b52436dd62634e2ee7aed31be5f681',1,'secure_boot.h']]] + ['secure_5fboot_5fhandler',['secure_boot_handler',['../a00029.html#a77b52436dd62634e2ee7aed31be5f681',1,'secure_boot.h']]] ]; diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js index 448d3944e..dcfd62fa8 100644 --- a/docs/html/search/variables_0.js +++ b/docs/html/search/variables_0.js @@ -1,7 +1,7 @@ var searchData= [ - ['_5fgcdc',['_gCdc',['../a03537.html#gabc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_linux_kit_cdc.c'],['../a00452.html#abc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_win_kit_cdc.c']]], - ['_5fgdevice',['_gDevice',['../a03535.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c'],['../a03535.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c']]], - ['_5fghid',['_gHid',['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_all_platforms_kit_hidapi.c'],['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_linux_kit_hid.c'],['../a03537.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_win_kit_hid.c']]], - ['_5freserved',['_reserved',['../a03547.html#ad64c25d49d8bac111d62c92a0e552289',1,'ATCAPacket']]] + ['_5fgcdc',['_gCdc',['../a00912.html#gabc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_linux_kit_cdc.c'],['../a00473.html#abc65c7c6bd64530b95fa72082f1e0390',1,'_gCdc(): hal_win_kit_cdc.c']]], + ['_5fgdevice',['_gDevice',['../a00910.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c'],['../a00910.html#ga692423e9c45adde594c36360756b8882',1,'_gDevice(): atca_basic.c']]], + ['_5fghid',['_gHid',['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_all_platforms_kit_hidapi.c'],['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_linux_kit_hid.c'],['../a00912.html#gab97bfae6ae6051d081edf51bb45eea05',1,'_gHid(): hal_win_kit_hid.c']]], + ['_5freserved',['_reserved',['../a00922.html#ad64c25d49d8bac111d62c92a0e552289',1,'ATCAPacket']]] ]; diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js index 2721197ef..e226ce7e7 100644 --- a/docs/html/search/variables_1.js +++ b/docs/html/search/variables_1.js @@ -1,23 +1,25 @@ var searchData= [ - ['any',['ANY',['../a00533.html#a95fe0b508144cd04a02f65dc4db76462',1,'license.txt']]], - ['app_5fdigest',['app_digest',['../a03767.html#a15de5c1cdbe015c9927c51026a44c15d',1,'secure_boot_parameters']]], - ['atca_5fversion',['atca_version',['../a00176.html#af135cce4a2e6bbf79b75840195c46de5',1,'atca_basic.c']]], - ['atcab_5fb64rules_5fdefault',['atcab_b64rules_default',['../a03535.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c'],['../a03535.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c']]], - ['atcab_5fb64rules_5fmime',['atcab_b64rules_mime',['../a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c'],['../a03535.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c']]], - ['atcab_5fb64rules_5furlsafe',['atcab_b64rules_urlsafe',['../a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c'],['../a03535.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c']]], - ['atcacert_5fdate_5fformat_5fsizes',['ATCACERT_DATE_FORMAT_SIZES',['../a03534.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c'],['../a03534.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c']]], - ['atcacustom',['atcacustom',['../a03555.html#abd8750afb7cb6d240c858a382a210fa7',1,'ATCAIfaceCfg']]], - ['atcahid',['atcahid',['../a03555.html#aa757f95b731b8dfdd4ce785e26944728',1,'ATCAIfaceCfg']]], - ['atcai2c',['atcai2c',['../a03555.html#a88f8040c47fc046b2198a26f4ed3faf0',1,'ATCAIfaceCfg']]], - ['atcaswi',['atcaswi',['../a03555.html#a9670d2ececfd8d536f8e6b629ab7b1ed',1,'ATCAIfaceCfg']]], - ['atcauart',['atcauart',['../a03555.html#a0b39f87d1a01274c9da57768841683c3',1,'ATCAIfaceCfg']]], - ['atidle',['atidle',['../a03583.html#af98425da891944b45d56cebd93b131f6',1,'atca_iface']]], - ['atinit',['atinit',['../a03583.html#a43753a99c2b46caab2ae85d0504f1f84',1,'atca_iface']]], - ['atpostinit',['atpostinit',['../a03583.html#a0dd463e6dbb6121768480ab7b42ba604',1,'atca_iface']]], - ['atreceive',['atreceive',['../a03583.html#a7ebe5db4da26f30972448931b7500546',1,'atca_iface']]], - ['atsend',['atsend',['../a03583.html#a343ec53c611863bf30624e5775782ab5',1,'atca_iface']]], - ['atsleep',['atsleep',['../a03583.html#ae643f9f7998343cc33822de00192626b',1,'atca_iface']]], - ['atwake',['atwake',['../a03583.html#a6cb270146e07d7c258bca835fda84be5',1,'atca_iface']]], - ['auth_5fmac',['auth_mac',['../a03727.html#a9f11512564ff4aeaf5f9d0646d971ed2',1,'atca_write_mac_in_out']]] + ['aad_5fsize',['aad_size',['../a01002.html#a54771a0ca82f1089cc420f3fc1ef7f79',1,'atca_aes_gcm_ctx']]], + ['any',['ANY',['../a00554.html#a95fe0b508144cd04a02f65dc4db76462',1,'license.txt']]], + ['app_5fdigest',['app_digest',['../a01146.html#a15de5c1cdbe015c9927c51026a44c15d',1,'secure_boot_parameters']]], + ['atca_5fbasic_5faes_5fgcm_5fversion',['atca_basic_aes_gcm_version',['../a00200.html#aa5990c6c2a55759960d25a1f8ad1973d',1,'atca_basic_aes_gcm_version(): atca_basic_aes_gcm.c'],['../a00203.html#aa5990c6c2a55759960d25a1f8ad1973d',1,'atca_basic_aes_gcm_version(): atca_basic_aes_gcm.c']]], + ['atca_5fversion',['atca_version',['../a00182.html#af135cce4a2e6bbf79b75840195c46de5',1,'atca_basic.c']]], + ['atcab_5fb64rules_5fdefault',['atcab_b64rules_default',['../a00910.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c'],['../a00910.html#ga50731dca3906502d901f5762aa4d9e71',1,'atcab_b64rules_default(): atca_helpers.c']]], + ['atcab_5fb64rules_5fmime',['atcab_b64rules_mime',['../a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c'],['../a00910.html#ga87ae4178e0a5543d5b2192f26e049bd2',1,'atcab_b64rules_mime(): atca_helpers.c']]], + ['atcab_5fb64rules_5furlsafe',['atcab_b64rules_urlsafe',['../a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c'],['../a00910.html#ga1cccbbcdbcb7230cc0f8ea8a596feebe',1,'atcab_b64rules_urlsafe(): atca_helpers.c']]], + ['atcacert_5fdate_5fformat_5fsizes',['ATCACERT_DATE_FORMAT_SIZES',['../a00909.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c'],['../a00909.html#ga8b93faeabd399250750a5ed9401d897e',1,'ATCACERT_DATE_FORMAT_SIZES(): atcacert_date.c']]], + ['atcacustom',['atcacustom',['../a00930.html#abd8750afb7cb6d240c858a382a210fa7',1,'ATCAIfaceCfg']]], + ['atcahid',['atcahid',['../a00930.html#aa757f95b731b8dfdd4ce785e26944728',1,'ATCAIfaceCfg']]], + ['atcai2c',['atcai2c',['../a00930.html#a88f8040c47fc046b2198a26f4ed3faf0',1,'ATCAIfaceCfg']]], + ['atcaswi',['atcaswi',['../a00930.html#a9670d2ececfd8d536f8e6b629ab7b1ed',1,'ATCAIfaceCfg']]], + ['atcauart',['atcauart',['../a00930.html#a0b39f87d1a01274c9da57768841683c3',1,'ATCAIfaceCfg']]], + ['atidle',['atidle',['../a00958.html#af98425da891944b45d56cebd93b131f6',1,'atca_iface']]], + ['atinit',['atinit',['../a00958.html#a43753a99c2b46caab2ae85d0504f1f84',1,'atca_iface']]], + ['atpostinit',['atpostinit',['../a00958.html#a0dd463e6dbb6121768480ab7b42ba604',1,'atca_iface']]], + ['atreceive',['atreceive',['../a00958.html#a7ebe5db4da26f30972448931b7500546',1,'atca_iface']]], + ['atsend',['atsend',['../a00958.html#a343ec53c611863bf30624e5775782ab5',1,'atca_iface']]], + ['atsleep',['atsleep',['../a00958.html#ae643f9f7998343cc33822de00192626b',1,'atca_iface']]], + ['atwake',['atwake',['../a00958.html#a6cb270146e07d7c258bca835fda84be5',1,'atca_iface']]], + ['auth_5fmac',['auth_mac',['../a01106.html#a9f11512564ff4aeaf5f9d0646d971ed2',1,'atca_write_mac_in_out']]] ]; diff --git a/docs/html/search/variables_10.js b/docs/html/search/variables_10.js index 8c5d580ce..ba1d572fe 100644 --- a/docs/html/search/variables_10.js +++ b/docs/html/search/variables_10.js @@ -1,10 +1,22 @@ var searchData= [ - ['rand_5fout',['rand_out',['../a03538.html#ga75f7197e2840bcf9fe00722e739fdd9c',1,'atca_nonce_in_out']]], - ['read_5fbufhandle',['read_bufHandle',['../a00383.html#a3c3865b22f268d57e9be16e72d6036d1',1,'hal_pic32mz2048efm_i2c.c']]], - ['read_5fhandle',['read_handle',['../a03659.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'cdc_device::read_handle()'],['../a03667.html#a72bac4e370ad82aef68188c521d2020d',1,'hid_device::read_handle()'],['../a03667.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'hid_device::read_handle()']]], - ['ref_5fct',['ref_ct',['../a03655.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaI2Cmaster::ref_ct()'],['../a03675.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaSWImaster::ref_ct()']]], - ['reserved',['reserved',['../a03771.html#a01b0fa1db9552c97809fd700aaf9464c',1,'memory_parameters']]], - ['response',['response',['../a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_mac_in_out::response()'],['../a03538.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_hmac_in_out::response()']]], - ['rx_5fretries',['rx_retries',['../a03555.html#aa9ce255f8b9bff64fe261235f9e70c03',1,'ATCAIfaceCfg']]] + ['p_5ftemp',['p_temp',['../a00913.html#gad87f95f0faf0c6fdfe94040efcb14860',1,'atca_include_data_in_out']]], + ['packetsize',['packetsize',['../a00930.html#aba242bb3690d4d5a7de01474f94cb4ab',1,'ATCAIfaceCfg']]], + ['pad',['pad',['../a01010.html#a06a3e722d630d33450465af7c41fa708',1,'atcac_sha1_ctx::pad()'],['../a01014.html#a517ae98c637466c44dc7e26a3abccf02',1,'atcac_sha2_256_ctx::pad()']]], + ['param1',['param1',['../a00922.html#aec4226da1b99c821237b6805c4e31333',1,'ATCAPacket']]], + ['param2',['param2',['../a00922.html#a16a7565b150a9c17a39c80fc932b9514',1,'ATCAPacket::param2()'],['../a01090.html#a16a7565b150a9c17a39c80fc932b9514',1,'atca_secureboot_mac_in_out::param2()']]], + ['parent_5fkey',['parent_key',['../a01110.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_in_out::parent_key()'],['../a01114.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_mac_in_out::parent_key()']]], + ['parity',['parity',['../a00930.html#aa0e72b59c63431c62f5b5eba36a65d17',1,'ATCAIfaceCfg']]], + ['partial_5faad',['partial_aad',['../a01002.html#ac2b7024847bacd5b8ccc5e2c910e8ee2',1,'atca_aes_gcm_ctx']]], + ['partial_5faad_5fsize',['partial_aad_size',['../a01002.html#ad5160410fcca9e4ab8e9b2479bbd8110',1,'atca_aes_gcm_ctx']]], + ['pid',['pid',['../a00930.html#aec32162d9dc3fde2c76d766af522dae5',1,'ATCAIfaceCfg']]], + ['pin_5fconf',['pin_conf',['../a00912.html#gaab85cb460831e8b7e4d3a5315b31c596',1,'swi_uart_samd21_asf.c']]], + ['pin_5fscl',['pin_scl',['../a01034.html#a01c1392fd38975adfd6c1c7849b3fa50',1,'atcaI2Cmaster::pin_scl()'],['../a01058.html#acddd0c9305a0f679828010052db4f184',1,'I2CBuses::pin_scl()'],['../a00497.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c'],['../a00500.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c']]], + ['pin_5fsda',['pin_sda',['../a01034.html#ada591700ce06dd3a6bb9722a6eba38c4',1,'atcaI2Cmaster::pin_sda()'],['../a01054.html#afd6d53ef6b697533839248b40bc97861',1,'atcaSWImaster::pin_sda()'],['../a01058.html#a396018ddf66ce0e1263ed2b4729dc9b9',1,'I2CBuses::pin_sda()'],['../a01062.html#a7d0970077e95bd9d8ed8aac6b3e115ee',1,'SWIBuses::pin_sda()'],['../a00497.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c'],['../a00500.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c']]], + ['port',['port',['../a00930.html#a63c89c04d1feae07ca35558055155ffb',1,'ATCAIfaceCfg']]], + ['private_5fkey_5fslot',['private_key_slot',['../a00978.html#a641e13598992fc536e70b55cc8ee2ea5',1,'atcacert_def_s']]], + ['public_5fkey',['public_key',['../a00913.html#gacea547aa606ca17f8da337a1b58972a1',1,'atca_verify_in_out::public_key()'],['../a01130.html#a122aff75e4ff5cd19542117ba3fdb855',1,'atca_gen_key_in_out::public_key()']]], + ['public_5fkey_5fdev_5floc',['public_key_dev_loc',['../a00978.html#accd31930a2e1ff0b8122cbaa202127d3',1,'atcacert_def_s']]], + ['public_5fkey_5fsize',['public_key_size',['../a01130.html#aeaa21ee86ed67c665d190be7d12293c7',1,'atca_gen_key_in_out']]], + ['punitive',['PUNITIVE',['../a00554.html#ae35656295ea76cd15f566ddf5c9781a3',1,'license.txt']]] ]; diff --git a/docs/html/search/variables_11.js b/docs/html/search/variables_11.js index 1f8ab7e9e..8b92f369c 100644 --- a/docs/html/search/variables_11.js +++ b/docs/html/search/variables_11.js @@ -1,31 +1,10 @@ var searchData= [ - ['s_5fsha_5fcontext',['s_sha_context',['../a03767.html#af9fb5ef2eb0843381351919dc0f7cafd',1,'secure_boot_parameters']]], - ['secure_5fboot_5fconfig',['secure_boot_config',['../a03711.html#a6abd57960eb27eecadcf1163a1441fb1',1,'atca_secureboot_mac_in_out']]], - ['secure_5fboot_5fmode',['secure_boot_mode',['../a03763.html#a159545ee58a6feff4210207e945ed8a6',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fpersistent_5fenable',['secure_boot_persistent_enable',['../a03763.html#a29997e53feca6ea2ceb53bd12ccb7397',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fpub_5fkey',['secure_boot_pub_key',['../a03763.html#a0d4d608806c7df6022d7e08df3ead4f3',1,'secure_boot_config_bits']]], - ['secure_5fboot_5frand_5fnonce',['secure_boot_rand_nonce',['../a03763.html#af0322cbed208460dead1ab2aaf42f35e',1,'secure_boot_config_bits']]], - ['secure_5fboot_5freserved1',['secure_boot_reserved1',['../a03763.html#aef6eee6b683ef0108fca05b531719f86',1,'secure_boot_config_bits']]], - ['secure_5fboot_5freserved2',['secure_boot_reserved2',['../a03763.html#ad94b92f8d5650653e8b6d7d3c9e50ba4',1,'secure_boot_config_bits']]], - ['secure_5fboot_5fsig_5fdig',['secure_boot_sig_dig',['../a03763.html#a454c1e8a0b9b0c4b56aa415ad1856889',1,'secure_boot_config_bits']]], - ['sercom_5fcore_5ffreq',['sercom_core_freq',['../a03655.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaI2Cmaster::sercom_core_freq()'],['../a03675.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaSWImaster::sercom_core_freq()']]], - ['signature',['signature',['../a03703.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_verify_mac::signature()'],['../a03711.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_secureboot_mac_in_out::signature()'],['../a03538.html#gac97246a9059d3f687edfcbe5abfc5d8f',1,'atca_verify_in_out::signature()'],['../a03771.html#a4f871aacf3b86f107114a6ca1f19a13a',1,'memory_parameters::signature()']]], - ['slave_5faddress',['slave_address',['../a03555.html#ac93868aeda435dfb685a0a0020e5c7a4',1,'ATCAIfaceCfg']]], - ['slot',['slot',['../a03591.html#ad23984515efd99983fa4baf3754082a1',1,'atcacert_device_loc_s']]], - ['slot_5fconfig',['slot_config',['../a03755.html#a547704fabd162cdaa3d5ce84a111a3fc',1,'atca_sign_internal_in_out']]], - ['slot_5fkey',['slot_key',['../a03743.html#aa23b467edf1809a2a8b1b530a0159c45',1,'atca_check_mac_in_out']]], - ['sn',['sn',['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_include_data_in_out::sn()'],['../a03703.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_verify_mac::sn()'],['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_mac_in_out::sn()'],['../a03538.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_hmac_in_out::sn()'],['../a03723.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_dig_in_out::sn()'],['../a03727.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_write_mac_in_out::sn()'],['../a03731.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_in_out::sn()'],['../a03735.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_mac_in_out::sn()'],['../a03743.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_check_mac_in_out::sn()'],['../a03751.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_key_in_out::sn()'],['../a03755.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_sign_internal_in_out::sn()']]], - ['sn_5fsource',['sn_source',['../a03603.html#af44c31e823af19e6efe6b418a13fafe3',1,'atcacert_def_s']]], - ['software',['SOFTWARE',['../a00533.html#a0b42d98385899be4ab4f4ac101712a83',1,'license.txt']]], - ['source_5fflag',['source_flag',['../a03687.html#a2ffc3c1a03eda290c709dc78b7e8b51e',1,'atca_temp_key']]], - ['special',['SPECIAL',['../a00533.html#a752275406812c1aa8c22e53696b48c57',1,'license.txt']]], - ['speed',['speed',['../a03537.html#ga218b4f7c6cc2681a99c23a3b089d68b1',1,'hal_linux_kit_cdc.c']]], - ['start_5faddress',['start_address',['../a03771.html#abe5b74a6bf41557a5ae72460fa563219',1,'memory_parameters']]], - ['statutory',['STATUTORY',['../a00533.html#a5ca3438f18c3bf2d2c1790995d290399',1,'license.txt']]], - ['std_5fcert_5felements',['std_cert_elements',['../a03603.html#a7e2ecd6c0b4cef9637e3b281d29200ce',1,'atcacert_def_s']]], - ['stopbits',['stopbits',['../a03555.html#a9de35842403baab5738ea16162012d4f',1,'ATCAIfaceCfg']]], - ['stored_5fvalue',['stored_value',['../a03723.html#a7871fda0cd5698905bc3aa8fe8a99808',1,'atca_gen_dig_in_out']]], - ['swi_5fbuses_5fdefault',['swi_buses_default',['../a00491.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c'],['../a00494.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c']]], - ['systemd',['systemd',['../a00533.html#ad7d14be55a088137975311629d46fb11',1,'license.txt']]] + ['rand_5fout',['rand_out',['../a00913.html#ga75f7197e2840bcf9fe00722e739fdd9c',1,'atca_nonce_in_out']]], + ['read_5fbufhandle',['read_bufHandle',['../a00404.html#a3c3865b22f268d57e9be16e72d6036d1',1,'hal_pic32mz2048efm_i2c.c']]], + ['read_5fhandle',['read_handle',['../a01038.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'cdc_device::read_handle()'],['../a01046.html#a72bac4e370ad82aef68188c521d2020d',1,'hid_device::read_handle()'],['../a01046.html#a79525e0d472c02e26e7c4aa4a780c1d9',1,'hid_device::read_handle()']]], + ['ref_5fct',['ref_ct',['../a01034.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaI2Cmaster::ref_ct()'],['../a01054.html#ad72ba8c994f4d0e5ce354e17f7c427c0',1,'atcaSWImaster::ref_ct()']]], + ['reserved',['reserved',['../a01150.html#a01b0fa1db9552c97809fd700aaf9464c',1,'memory_parameters']]], + ['response',['response',['../a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_mac_in_out::response()'],['../a00913.html#ga8ab7bcb35ce5bba05608c72da6b4a0d3',1,'atca_hmac_in_out::response()']]], + ['rx_5fretries',['rx_retries',['../a00930.html#aa9ce255f8b9bff64fe261235f9e70c03',1,'ATCAIfaceCfg']]] ]; diff --git a/docs/html/search/variables_12.js b/docs/html/search/variables_12.js index 7d7e734c9..638a440c4 100644 --- a/docs/html/search/variables_12.js +++ b/docs/html/search/variables_12.js @@ -1,25 +1,31 @@ var searchData= [ - ['tag',['TAG',['../a00332.html#a5a85b9c772bbeb480b209a3e6ea92b4c',1,'hal_esp32_i2c.c']]], - ['target_5fkey',['target_key',['../a03731.html#afca67d3e5d5a7c772262731cc08880b1',1,'atca_derive_key_in_out::target_key()'],['../a03743.html#ab15c5e89189b9eea6fab7da58cc03967',1,'atca_check_mac_in_out::target_key()']]], - ['target_5fkey_5fid',['target_key_id',['../a03731.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_in_out::target_key_id()'],['../a03735.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_mac_in_out::target_key_id()']]], - ['tbs_5fcert_5floc',['tbs_cert_loc',['../a03603.html#a3a8aede64cc4e17e9495ada7a64ab24f',1,'atcacert_def_s']]], - ['temp_5fkey',['temp_key',['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_nonce_in_out::temp_key()'],['../a03703.html#a7a67318a2d1cde0794d2d1ae152c93cf',1,'atca_verify_mac::temp_key()'],['../a03707.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_secureboot_enc_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_mac_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_hmac_in_out::temp_key()'],['../a03723.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_dig_in_out::temp_key()'],['../a03727.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_write_mac_in_out::temp_key()'],['../a03731.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_derive_key_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_decrypt_in_out::temp_key()'],['../a03743.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_check_mac_in_out::temp_key()'],['../a03538.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_verify_in_out::temp_key()'],['../a03751.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_key_in_out::temp_key()'],['../a03755.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_sign_internal_in_out::temp_key()']]], - ['template_5fid',['template_id',['../a03603.html#a44b6808e0d081cb5fd82f58f7de32e4a',1,'atcacert_def_s']]], - ['terms',['terms',['../a00533.html#afeb9ceeeb43e00fdee66deb20c359da4',1,'license.txt']]], - ['tm_5fhour',['tm_hour',['../a03587.html#a4d171061df9e012fcfbd1172b8440d5f',1,'atcacert_tm_utc_s']]], - ['tm_5fmday',['tm_mday',['../a03587.html#a02048604d30b880033311cf542d63f92',1,'atcacert_tm_utc_s']]], - ['tm_5fmin',['tm_min',['../a03587.html#a987fa9280fe4cd6c6b8f77409f1c1504',1,'atcacert_tm_utc_s']]], - ['tm_5fmon',['tm_mon',['../a03587.html#ada983deda100b604bee5716512453658',1,'atcacert_tm_utc_s']]], - ['tm_5fsec',['tm_sec',['../a03587.html#a18df301c1a10c8d493da86ce5c2aea78',1,'atcacert_tm_utc_s']]], - ['tm_5fyear',['tm_year',['../a03587.html#a994c4f4519ba57e186580d21cc86f9e5',1,'atcacert_tm_utc_s']]], - ['to',['TO',['../a00533.html#a4715e4a6bd4a47efeefee267dfb844a5',1,'license.txt']]], - ['total_5fmsg_5fsize',['total_msg_size',['../a03623.html#a8ee7e642376903508dd6b4df9eacc2de',1,'atca_sha256_ctx::total_msg_size()'],['../a03627.html#a8ee7e642376903508dd6b4df9eacc2de',1,'hw_sha256_ctx::total_msg_size()'],['../a03643.html#a8ee7e642376903508dd6b4df9eacc2de',1,'sw_sha256_ctx::total_msg_size()']]], - ['twi_5fflexcom',['twi_flexcom',['../a03655.html#ac6e800fa8a525e2ac445410a75fe33c5',1,'atcaI2Cmaster']]], - ['twi_5fflexcom_5fid',['twi_flexcom_id',['../a03655.html#a8085a25dc89b0a426c762333eb109e38',1,'atcaI2Cmaster']]], - ['twi_5fid',['twi_id',['../a03655.html#a0fafe5e32d17ee114246e3ccac81ee9f',1,'atcaI2Cmaster::twi_id()'],['../a03655.html#a3592aa831cd642b3e53af87537944d5a',1,'atcaI2Cmaster::twi_id()']]], - ['twi_5fmaster_5finstance',['twi_master_instance',['../a03655.html#ad9f68faa090564cdbe2d7217be324f16',1,'atcaI2Cmaster']]], - ['twi_5fmodule',['twi_module',['../a03655.html#ac6dd6d226983fb851700119ca6ba3023',1,'atcaI2Cmaster']]], - ['txsize',['txsize',['../a03547.html#a3c02ddae56a01b6df3be14acf14915a4',1,'ATCAPacket']]], - ['type',['type',['../a03603.html#ad158ea4479470d5470412d504428459b',1,'atcacert_def_s']]] + ['s_5fsha_5fcontext',['s_sha_context',['../a01146.html#af9fb5ef2eb0843381351919dc0f7cafd',1,'secure_boot_parameters']]], + ['secure_5fboot_5fconfig',['secure_boot_config',['../a01090.html#a6abd57960eb27eecadcf1163a1441fb1',1,'atca_secureboot_mac_in_out']]], + ['secure_5fboot_5fmode',['secure_boot_mode',['../a01142.html#a159545ee58a6feff4210207e945ed8a6',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fpersistent_5fenable',['secure_boot_persistent_enable',['../a01142.html#a29997e53feca6ea2ceb53bd12ccb7397',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fpub_5fkey',['secure_boot_pub_key',['../a01142.html#a0d4d608806c7df6022d7e08df3ead4f3',1,'secure_boot_config_bits']]], + ['secure_5fboot_5frand_5fnonce',['secure_boot_rand_nonce',['../a01142.html#af0322cbed208460dead1ab2aaf42f35e',1,'secure_boot_config_bits']]], + ['secure_5fboot_5freserved1',['secure_boot_reserved1',['../a01142.html#aef6eee6b683ef0108fca05b531719f86',1,'secure_boot_config_bits']]], + ['secure_5fboot_5freserved2',['secure_boot_reserved2',['../a01142.html#ad94b92f8d5650653e8b6d7d3c9e50ba4',1,'secure_boot_config_bits']]], + ['secure_5fboot_5fsig_5fdig',['secure_boot_sig_dig',['../a01142.html#a454c1e8a0b9b0c4b56aa415ad1856889',1,'secure_boot_config_bits']]], + ['sercom_5fcore_5ffreq',['sercom_core_freq',['../a01034.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaI2Cmaster::sercom_core_freq()'],['../a01054.html#ab04a0cec69f9a7ed47f3f9cb46084e59',1,'atcaSWImaster::sercom_core_freq()']]], + ['signature',['signature',['../a01082.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_verify_mac::signature()'],['../a01090.html#a35388d4dff80916a7409fd0554ac58b6',1,'atca_secureboot_mac_in_out::signature()'],['../a00913.html#gac97246a9059d3f687edfcbe5abfc5d8f',1,'atca_verify_in_out::signature()'],['../a01150.html#a4f871aacf3b86f107114a6ca1f19a13a',1,'memory_parameters::signature()']]], + ['slave_5faddress',['slave_address',['../a00930.html#ac93868aeda435dfb685a0a0020e5c7a4',1,'ATCAIfaceCfg']]], + ['slot',['slot',['../a00966.html#ad23984515efd99983fa4baf3754082a1',1,'atcacert_device_loc_s']]], + ['slot_5fconfig',['slot_config',['../a01134.html#a547704fabd162cdaa3d5ce84a111a3fc',1,'atca_sign_internal_in_out']]], + ['slot_5fkey',['slot_key',['../a01122.html#aa23b467edf1809a2a8b1b530a0159c45',1,'atca_check_mac_in_out']]], + ['sn',['sn',['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_include_data_in_out::sn()'],['../a01082.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_verify_mac::sn()'],['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_mac_in_out::sn()'],['../a00913.html#ga7276bd20c5842e712da638d25ceb6d92',1,'atca_hmac_in_out::sn()'],['../a01102.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_dig_in_out::sn()'],['../a01106.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_write_mac_in_out::sn()'],['../a01110.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_in_out::sn()'],['../a01114.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_derive_key_mac_in_out::sn()'],['../a01122.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_check_mac_in_out::sn()'],['../a01130.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_gen_key_in_out::sn()'],['../a01134.html#aef45bac2efcd5394c4ed79f73ee16d23',1,'atca_sign_internal_in_out::sn()']]], + ['sn_5fsource',['sn_source',['../a00978.html#af44c31e823af19e6efe6b418a13fafe3',1,'atcacert_def_s']]], + ['software',['SOFTWARE',['../a00554.html#a0b42d98385899be4ab4f4ac101712a83',1,'license.txt']]], + ['source_5fflag',['source_flag',['../a01066.html#a2ffc3c1a03eda290c709dc78b7e8b51e',1,'atca_temp_key']]], + ['special',['SPECIAL',['../a00554.html#a752275406812c1aa8c22e53696b48c57',1,'license.txt']]], + ['speed',['speed',['../a00912.html#ga218b4f7c6cc2681a99c23a3b089d68b1',1,'hal_linux_kit_cdc.c']]], + ['start_5faddress',['start_address',['../a01150.html#abe5b74a6bf41557a5ae72460fa563219',1,'memory_parameters']]], + ['statutory',['STATUTORY',['../a00554.html#a5ca3438f18c3bf2d2c1790995d290399',1,'license.txt']]], + ['std_5fcert_5felements',['std_cert_elements',['../a00978.html#a7e2ecd6c0b4cef9637e3b281d29200ce',1,'atcacert_def_s']]], + ['stopbits',['stopbits',['../a00930.html#a9de35842403baab5738ea16162012d4f',1,'ATCAIfaceCfg']]], + ['stored_5fvalue',['stored_value',['../a01102.html#a7871fda0cd5698905bc3aa8fe8a99808',1,'atca_gen_dig_in_out']]], + ['swi_5fbuses_5fdefault',['swi_buses_default',['../a00512.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c'],['../a00515.html#a8ba5507b651724b4cdc74106a16b025c',1,'swi_buses_default(): swi_bitbang_samd21.c']]], + ['systemd',['systemd',['../a00554.html#ad7d14be55a088137975311629d46fb11',1,'license.txt']]] ]; diff --git a/docs/html/search/variables_13.js b/docs/html/search/variables_13.js index 74ac1a89e..b7e9dd4bc 100644 --- a/docs/html/search/variables_13.js +++ b/docs/html/search/variables_13.js @@ -1,7 +1,25 @@ var searchData= [ - ['update_5fcount',['update_count',['../a03755.html#a4a25483bf435220f212cbe8f0327b0a6',1,'atca_sign_internal_in_out']]], - ['usart_5finstance',['usart_instance',['../a03675.html#ad1dd3236df177255a91b568170b70a74',1,'atcaSWImaster::usart_instance()'],['../a03675.html#a2d29ab9b8f0842ee9a2906302b20011d',1,'atcaSWImaster::usart_instance()']]], - ['usart_5fswi',['USART_SWI',['../a03675.html#a7758bb1b871f6094e6d2f0c2ce10b18c',1,'atcaSWImaster']]], - ['use_5fflag',['use_flag',['../a03755.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05',1,'atca_sign_internal_in_out']]] + ['tag',['TAG',['../a00353.html#a5a85b9c772bbeb480b209a3e6ea92b4c',1,'hal_esp32_i2c.c']]], + ['target_5fkey',['target_key',['../a01110.html#afca67d3e5d5a7c772262731cc08880b1',1,'atca_derive_key_in_out::target_key()'],['../a01122.html#ab15c5e89189b9eea6fab7da58cc03967',1,'atca_check_mac_in_out::target_key()']]], + ['target_5fkey_5fid',['target_key_id',['../a01110.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_in_out::target_key_id()'],['../a01114.html#a41104a8c85cd12c0fde0d791c3276a48',1,'atca_derive_key_mac_in_out::target_key_id()']]], + ['tbs_5fcert_5floc',['tbs_cert_loc',['../a00978.html#a3a8aede64cc4e17e9495ada7a64ab24f',1,'atcacert_def_s']]], + ['temp_5fkey',['temp_key',['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_nonce_in_out::temp_key()'],['../a01082.html#a7a67318a2d1cde0794d2d1ae152c93cf',1,'atca_verify_mac::temp_key()'],['../a01086.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_secureboot_enc_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_mac_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_hmac_in_out::temp_key()'],['../a01102.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_dig_in_out::temp_key()'],['../a01106.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_write_mac_in_out::temp_key()'],['../a01110.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_derive_key_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_decrypt_in_out::temp_key()'],['../a01122.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_check_mac_in_out::temp_key()'],['../a00913.html#gaa17e031da4b22938bed1c21161ba371a',1,'atca_verify_in_out::temp_key()'],['../a01130.html#a72fae3d62889ef224f09c57a7646e061',1,'atca_gen_key_in_out::temp_key()'],['../a01134.html#a714b07e0515fd9d20714a4fc2a16c03e',1,'atca_sign_internal_in_out::temp_key()']]], + ['template_5fid',['template_id',['../a00978.html#a44b6808e0d081cb5fd82f58f7de32e4a',1,'atcacert_def_s']]], + ['terms',['terms',['../a00554.html#afeb9ceeeb43e00fdee66deb20c359da4',1,'license.txt']]], + ['tm_5fhour',['tm_hour',['../a00962.html#a4d171061df9e012fcfbd1172b8440d5f',1,'atcacert_tm_utc_s']]], + ['tm_5fmday',['tm_mday',['../a00962.html#a02048604d30b880033311cf542d63f92',1,'atcacert_tm_utc_s']]], + ['tm_5fmin',['tm_min',['../a00962.html#a987fa9280fe4cd6c6b8f77409f1c1504',1,'atcacert_tm_utc_s']]], + ['tm_5fmon',['tm_mon',['../a00962.html#ada983deda100b604bee5716512453658',1,'atcacert_tm_utc_s']]], + ['tm_5fsec',['tm_sec',['../a00962.html#a18df301c1a10c8d493da86ce5c2aea78',1,'atcacert_tm_utc_s']]], + ['tm_5fyear',['tm_year',['../a00962.html#a994c4f4519ba57e186580d21cc86f9e5',1,'atcacert_tm_utc_s']]], + ['to',['TO',['../a00554.html#a4715e4a6bd4a47efeefee267dfb844a5',1,'license.txt']]], + ['total_5fmsg_5fsize',['total_msg_size',['../a00998.html#a8ee7e642376903508dd6b4df9eacc2de',1,'atca_sha256_ctx::total_msg_size()'],['../a01006.html#a8ee7e642376903508dd6b4df9eacc2de',1,'hw_sha256_ctx::total_msg_size()'],['../a01022.html#a8ee7e642376903508dd6b4df9eacc2de',1,'sw_sha256_ctx::total_msg_size()']]], + ['twi_5fflexcom',['twi_flexcom',['../a01034.html#ac6e800fa8a525e2ac445410a75fe33c5',1,'atcaI2Cmaster']]], + ['twi_5fflexcom_5fid',['twi_flexcom_id',['../a01034.html#a8085a25dc89b0a426c762333eb109e38',1,'atcaI2Cmaster']]], + ['twi_5fid',['twi_id',['../a01034.html#a0fafe5e32d17ee114246e3ccac81ee9f',1,'atcaI2Cmaster::twi_id()'],['../a01034.html#a3592aa831cd642b3e53af87537944d5a',1,'atcaI2Cmaster::twi_id()']]], + ['twi_5fmaster_5finstance',['twi_master_instance',['../a01034.html#ad9f68faa090564cdbe2d7217be324f16',1,'atcaI2Cmaster']]], + ['twi_5fmodule',['twi_module',['../a01034.html#ac6dd6d226983fb851700119ca6ba3023',1,'atcaI2Cmaster']]], + ['txsize',['txsize',['../a00922.html#a3c02ddae56a01b6df3be14acf14915a4',1,'ATCAPacket']]], + ['type',['type',['../a00978.html#ad158ea4479470d5470412d504428459b',1,'atcacert_def_s']]] ]; diff --git a/docs/html/search/variables_14.js b/docs/html/search/variables_14.js index 3474d250a..ce5b42428 100644 --- a/docs/html/search/variables_14.js +++ b/docs/html/search/variables_14.js @@ -1,8 +1,7 @@ var searchData= [ - ['valid',['valid',['../a03687.html#a6b455a7e89f8a891cd7e3b66d1b17b67',1,'atca_temp_key']]], - ['value',['value',['../a03687.html#a9d39af90116e75f8805942afa953046f',1,'atca_temp_key']]], - ['verify_5fother_5fdata',['verify_other_data',['../a03755.html#a04c0e9b276020bed4ed3d7d670ed3881',1,'atca_sign_internal_in_out']]], - ['version_5finfo',['version_info',['../a03771.html#aea79a9ccd71a91f69bb5773f43350f14',1,'memory_parameters']]], - ['vid',['vid',['../a03555.html#a98780fe4ab562a61abfd7870ea0910c3',1,'ATCAIfaceCfg']]] + ['update_5fcount',['update_count',['../a01134.html#a4a25483bf435220f212cbe8f0327b0a6',1,'atca_sign_internal_in_out']]], + ['usart_5finstance',['usart_instance',['../a01054.html#ad1dd3236df177255a91b568170b70a74',1,'atcaSWImaster::usart_instance()'],['../a01054.html#a2d29ab9b8f0842ee9a2906302b20011d',1,'atcaSWImaster::usart_instance()']]], + ['usart_5fswi',['USART_SWI',['../a01054.html#a7758bb1b871f6094e6d2f0c2ce10b18c',1,'atcaSWImaster']]], + ['use_5fflag',['use_flag',['../a01134.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05',1,'atca_sign_internal_in_out']]] ]; diff --git a/docs/html/search/variables_15.js b/docs/html/search/variables_15.js index b41df5d76..33f1cccb0 100644 --- a/docs/html/search/variables_15.js +++ b/docs/html/search/variables_15.js @@ -1,9 +1,8 @@ var searchData= [ - ['wake_5fdelay',['wake_delay',['../a03555.html#a058e797431a238154c5347fa26982044',1,'ATCAIfaceCfg']]], - ['warranties',['WARRANTIES',['../a00533.html#a8c193cd81f81696b59e5c6e5bb38d91f',1,'license.txt']]], - ['warranty',['WARRANTY',['../a00533.html#a01d4ec73d916d67d085f3e63d1fdbd4b',1,'license.txt']]], - ['wordsize',['wordsize',['../a03555.html#ae696a833509f858d17988acdb1deb161',1,'ATCAIfaceCfg']]], - ['write_5fbufhandle',['write_bufHandle',['../a00383.html#a26a598d8070b8e4859fceb58f4212f78',1,'hal_pic32mz2048efm_i2c.c']]], - ['write_5fhandle',['write_handle',['../a03659.html#af11a0103eb96a026ea6782bfcad7548e',1,'cdc_device::write_handle()'],['../a03667.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0',1,'hid_device::write_handle()'],['../a03667.html#af11a0103eb96a026ea6782bfcad7548e',1,'hid_device::write_handle()']]] + ['valid',['valid',['../a01066.html#a6b455a7e89f8a891cd7e3b66d1b17b67',1,'atca_temp_key']]], + ['value',['value',['../a01066.html#a9d39af90116e75f8805942afa953046f',1,'atca_temp_key']]], + ['verify_5fother_5fdata',['verify_other_data',['../a01134.html#a04c0e9b276020bed4ed3d7d670ed3881',1,'atca_sign_internal_in_out']]], + ['version_5finfo',['version_info',['../a01150.html#aea79a9ccd71a91f69bb5773f43350f14',1,'memory_parameters']]], + ['vid',['vid',['../a00930.html#a98780fe4ab562a61abfd7870ea0910c3',1,'ATCAIfaceCfg']]] ]; diff --git a/docs/html/search/variables_16.js b/docs/html/search/variables_16.js index f75c4ec84..88bd7bbdc 100644 --- a/docs/html/search/variables_16.js +++ b/docs/html/search/variables_16.js @@ -1,5 +1,9 @@ var searchData= [ - ['zero',['zero',['../a03538.html#ga876993158b491f4626155b468ffb6edc',1,'atca_nonce_in_out']]], - ['zone',['zone',['../a03591.html#a107ad412023faa68c4ac0c7cfd921a02',1,'atcacert_device_loc_s::zone()'],['../a03723.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_gen_dig_in_out::zone()'],['../a03727.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_write_mac_in_out::zone()']]] + ['wake_5fdelay',['wake_delay',['../a00930.html#a058e797431a238154c5347fa26982044',1,'ATCAIfaceCfg']]], + ['warranties',['WARRANTIES',['../a00554.html#a8c193cd81f81696b59e5c6e5bb38d91f',1,'license.txt']]], + ['warranty',['WARRANTY',['../a00554.html#a01d4ec73d916d67d085f3e63d1fdbd4b',1,'license.txt']]], + ['wordsize',['wordsize',['../a00930.html#ae696a833509f858d17988acdb1deb161',1,'ATCAIfaceCfg']]], + ['write_5fbufhandle',['write_bufHandle',['../a00404.html#a26a598d8070b8e4859fceb58f4212f78',1,'hal_pic32mz2048efm_i2c.c']]], + ['write_5fhandle',['write_handle',['../a01038.html#af11a0103eb96a026ea6782bfcad7548e',1,'cdc_device::write_handle()'],['../a01046.html#ad0e471ff3d3f7c4ea0a7cc3e10e6b1b0',1,'hid_device::write_handle()'],['../a01046.html#af11a0103eb96a026ea6782bfcad7548e',1,'hid_device::write_handle()']]] ]; diff --git a/docs/html/search/variables_17.html b/docs/html/search/variables_17.html new file mode 100644 index 000000000..6a71407b9 --- /dev/null +++ b/docs/html/search/variables_17.html @@ -0,0 +1,30 @@ + + + + + + + + + +
        +
        Loading...
        +
        + +
        Searching...
        +
        No Matches
        + +
        + + diff --git a/docs/html/search/variables_17.js b/docs/html/search/variables_17.js new file mode 100644 index 000000000..4ef61bb7f --- /dev/null +++ b/docs/html/search/variables_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../a01002.html#a9c1e7c3354912a5ef370b17e583c48f7',1,'atca_aes_gcm_ctx']]] +]; diff --git a/docs/html/search/variables_18.html b/docs/html/search/variables_18.html new file mode 100644 index 000000000..9f6ccdde7 --- /dev/null +++ b/docs/html/search/variables_18.html @@ -0,0 +1,30 @@ + + + + + + + + + +
        +
        Loading...
        +
        + +
        Searching...
        +
        No Matches
        + +
        + + diff --git a/docs/html/search/variables_18.js b/docs/html/search/variables_18.js new file mode 100644 index 000000000..a28990095 --- /dev/null +++ b/docs/html/search/variables_18.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zero',['zero',['../a00913.html#ga876993158b491f4626155b468ffb6edc',1,'atca_nonce_in_out']]], + ['zone',['zone',['../a00966.html#a107ad412023faa68c4ac0c7cfd921a02',1,'atcacert_device_loc_s::zone()'],['../a01102.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_gen_dig_in_out::zone()'],['../a01106.html#ac746c3d65092170bfaf5b0d9950d8438',1,'atca_write_mac_in_out::zone()']]] +]; diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js index 07d23aaf2..4c21f08fc 100644 --- a/docs/html/search/variables_2.js +++ b/docs/html/search/variables_2.js @@ -1,13 +1,13 @@ var searchData= [ - ['baud',['baud',['../a03555.html#ac6e5ec63505c02923d71f7409cdbf1d1',1,'ATCAIfaceCfg']]], - ['block',['block',['../a03615.html#adae27798b73271394b86837502dfd853',1,'atca_aes_cmac_ctx::block()'],['../a03623.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'atca_sha256_ctx::block()'],['../a03627.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'hw_sha256_ctx::block()'],['../a03643.html#a0559c245b725b5b78057620e9677211e',1,'sw_sha256_ctx::block()']]], - ['block_5fsize',['block_size',['../a03615.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_aes_cmac_ctx::block_size()'],['../a03623.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_sha256_ctx::block_size()'],['../a03627.html#a9e3fb1e50a1c71b2337df296222d9553',1,'hw_sha256_ctx::block_size()'],['../a03643.html#a9e3fb1e50a1c71b2337df296222d9553',1,'sw_sha256_ctx::block_size()']]], - ['buf',['buf',['../a03639.html#afa9986c74d11cc23893e2de2a505cafe',1,'CL_HashContext::buf()'],['../a03759.html#a1fe855c208bc17a51a4d34fefdb2d5b1',1,'atca_jwt_t::buf()']]], - ['buflen',['buflen',['../a03759.html#a892366b22e8ea42d95e49308022eef4d',1,'atca_jwt_t']]], - ['bus',['bus',['../a03555.html#a5262d4a80e6a0b6dce6fd57d4656786d',1,'ATCAIfaceCfg']]], - ['bus_5findex',['bus_index',['../a03655.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaI2Cmaster::bus_index()'],['../a03675.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaSWImaster::bus_index()']]], - ['bytecount',['byteCount',['../a03639.html#a7dd834dde7d653957f91657aca4eb124',1,'CL_HashContext']]], - ['bytecounthi',['byteCountHi',['../a03639.html#a4f18b15c445fd0f55a0bf182e173d563',1,'CL_HashContext']]], - ['bytes_5ftransferred',['bytes_transferred',['../a00383.html#a705bf15f5ef9124f654f128ea30af884',1,'hal_pic32mz2048efm_i2c.c']]] + ['baud',['baud',['../a00930.html#ac6e5ec63505c02923d71f7409cdbf1d1',1,'ATCAIfaceCfg']]], + ['block',['block',['../a00990.html#adae27798b73271394b86837502dfd853',1,'atca_aes_cmac_ctx::block()'],['../a00998.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'atca_sha256_ctx::block()'],['../a01006.html#a407f9109b29f2f3a4c9f7d1de450ad41',1,'hw_sha256_ctx::block()'],['../a01022.html#a0559c245b725b5b78057620e9677211e',1,'sw_sha256_ctx::block()']]], + ['block_5fsize',['block_size',['../a00990.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_aes_cmac_ctx::block_size()'],['../a00998.html#a9e3fb1e50a1c71b2337df296222d9553',1,'atca_sha256_ctx::block_size()'],['../a01006.html#a9e3fb1e50a1c71b2337df296222d9553',1,'hw_sha256_ctx::block_size()'],['../a01022.html#a9e3fb1e50a1c71b2337df296222d9553',1,'sw_sha256_ctx::block_size()']]], + ['buf',['buf',['../a01018.html#afa9986c74d11cc23893e2de2a505cafe',1,'CL_HashContext::buf()'],['../a01138.html#a1fe855c208bc17a51a4d34fefdb2d5b1',1,'atca_jwt_t::buf()']]], + ['buflen',['buflen',['../a01138.html#a892366b22e8ea42d95e49308022eef4d',1,'atca_jwt_t']]], + ['bus',['bus',['../a00930.html#a5262d4a80e6a0b6dce6fd57d4656786d',1,'ATCAIfaceCfg']]], + ['bus_5findex',['bus_index',['../a01034.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaI2Cmaster::bus_index()'],['../a01054.html#af5c011e6c2e8d49675f7029e8ec2c0a6',1,'atcaSWImaster::bus_index()']]], + ['bytecount',['byteCount',['../a01018.html#a7dd834dde7d653957f91657aca4eb124',1,'CL_HashContext']]], + ['bytecounthi',['byteCountHi',['../a01018.html#a4f18b15c445fd0f55a0bf182e173d563',1,'CL_HashContext']]], + ['bytes_5ftransferred',['bytes_transferred',['../a00404.html#a705bf15f5ef9124f654f128ea30af884',1,'hal_pic32mz2048efm_i2c.c']]] ]; diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js index db4726319..46110d342 100644 --- a/docs/html/search/variables_3.js +++ b/docs/html/search/variables_3.js @@ -1,38 +1,40 @@ var searchData= [ - ['ca_5fcert_5fdef',['ca_cert_def',['../a03603.html#aa5cb3f21e0d4d77567550388a7f08768',1,'atcacert_def_s']]], - ['caused',['CAUSED',['../a00533.html#a767219a61a50c898b274065be1807045',1,'license.txt']]], - ['cbc_5fctx',['cbc_ctx',['../a03615.html#a9246ae6d7229247b3e9b5e540a26ac05',1,'atca_aes_cmac_ctx']]], - ['cert',['cert',['../a03607.html#aa09eb68c2656a44748cad406cf960f7c',1,'atcacert_build_state_s']]], - ['cert_5fdef',['cert_def',['../a03607.html#abaf4bb65d962f53a31b943c663eaf3b9',1,'atcacert_build_state_s']]], - ['cert_5felements',['cert_elements',['../a03603.html#aa9a44f95411d86a78a93e650a9c19f53',1,'atcacert_def_s']]], - ['cert_5felements_5fcount',['cert_elements_count',['../a03603.html#afe2b347e101c9f7be9f73b8fda53de29',1,'atcacert_def_s']]], - ['cert_5floc',['cert_loc',['../a03599.html#af74e55b0689356f989d8330ae3072376',1,'atcacert_cert_element_s']]], - ['cert_5fsize',['cert_size',['../a03607.html#a083f29531821a0ef698b452cb2b7f5b4',1,'atcacert_build_state_s']]], - ['cert_5fsn_5fdev_5floc',['cert_sn_dev_loc',['../a03603.html#ab02a37cdd6671ab98d0124c5b91623b0',1,'atcacert_def_s']]], - ['cert_5ftemplate',['cert_template',['../a03603.html#acb91631744ba06809269dc2f137c835c',1,'atcacert_def_s']]], - ['cert_5ftemplate_5fsize',['cert_template_size',['../a03603.html#a67c40218f646b70740c0d2027eb152a0',1,'atcacert_def_s']]], - ['cfg_5fateccx08a_5fi2c_5fdefault',['cfg_ateccx08a_i2c_default',['../a03530.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c'],['../a03530.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fkitcdc_5fdefault',['cfg_ateccx08a_kitcdc_default',['../a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c'],['../a03530.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fkithid_5fdefault',['cfg_ateccx08a_kithid_default',['../a03530.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c'],['../a03530.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c']]], - ['cfg_5fateccx08a_5fswi_5fdefault',['cfg_ateccx08a_swi_default',['../a03530.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c'],['../a03530.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fi2c_5fdefault',['cfg_atsha204a_i2c_default',['../a03530.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c'],['../a03530.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fkitcdc_5fdefault',['cfg_atsha204a_kitcdc_default',['../a03530.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c'],['../a03530.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fkithid_5fdefault',['cfg_atsha204a_kithid_default',['../a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c'],['../a03530.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c']]], - ['cfg_5fatsha204a_5fswi_5fdefault',['cfg_atsha204a_swi_default',['../a03530.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c'],['../a03530.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c']]], - ['cfg_5fdata',['cfg_data',['../a03555.html#a97e106cc7267316cf40988744b231111',1,'ATCAIfaceCfg']]], - ['chain_5fid',['chain_id',['../a03603.html#af383252a42d77882d0f3aac7f6ee5048',1,'atcacert_def_s']]], - ['challenge',['challenge',['../a03538.html#ga88d82c85f774fa04ccf768e566fec194',1,'atca_mac_in_out']]], - ['ciphertext',['ciphertext',['../a03611.html#a984a9b23546b1bab664b3a3e721830b7',1,'atca_aes_cbc_ctx']]], - ['client_5fchal',['client_chal',['../a03743.html#a218f1c30c4a21b348dbe1817a2c14896',1,'atca_check_mac_in_out']]], - ['client_5fresp',['client_resp',['../a03743.html#a430a448768d687a94e3daaa00dce63ce',1,'atca_check_mac_in_out']]], - ['clock_5fdivider',['clock_divider',['../a03543.html#a380510ad0d2dbde608f38387436db3bc',1,'atca_command']]], - ['comp_5fcert_5fdev_5floc',['comp_cert_dev_loc',['../a03603.html#a2d5a033a5aa1227c536ec1aa71a84fa5',1,'atcacert_def_s']]], - ['conf',['conf',['../a00332.html#aa09ddc709367c497fc081a29aa2d12fe',1,'hal_esp32_i2c.c']]], - ['contract',['CONTRACT',['../a00533.html#a348ab46a13fa6aa8fa90037913b92d6c',1,'license.txt']]], - ['count',['count',['../a03591.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_device_loc_s::count()'],['../a03595.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_cert_loc_s::count()']]], - ['counter_5fsize',['counter_size',['../a03619.html#ab645bb8a04ce16b6ab3c843dd4d1c177',1,'atca_aes_ctr_ctx']]], - ['crypto_5fdata',['crypto_data',['../a03538.html#ga4155a23e70d1bf07de5d316efebeaee7',1,'atca_decrypt_in_out']]], - ['cur',['cur',['../a03759.html#aee7e8f6f5f1a4b5b402473cf99d3042a',1,'atca_jwt_t']]], - ['curve_5ftype',['curve_type',['../a03538.html#ga9be4eee4ac6c9248a824d093f165839e',1,'atca_verify_in_out']]] + ['ca_5fcert_5fdef',['ca_cert_def',['../a00978.html#aa5cb3f21e0d4d77567550388a7f08768',1,'atcacert_def_s']]], + ['caused',['CAUSED',['../a00554.html#a767219a61a50c898b274065be1807045',1,'license.txt']]], + ['cb',['cb',['../a00994.html#a5af729786916ea6a413d85fb8bba87f1',1,'atca_aes_ctr_ctx::cb()'],['../a01002.html#a5af729786916ea6a413d85fb8bba87f1',1,'atca_aes_gcm_ctx::cb()']]], + ['cbc_5fctx',['cbc_ctx',['../a00990.html#a9246ae6d7229247b3e9b5e540a26ac05',1,'atca_aes_cmac_ctx']]], + ['cert',['cert',['../a00982.html#aa09eb68c2656a44748cad406cf960f7c',1,'atcacert_build_state_s']]], + ['cert_5fdef',['cert_def',['../a00982.html#abaf4bb65d962f53a31b943c663eaf3b9',1,'atcacert_build_state_s']]], + ['cert_5felements',['cert_elements',['../a00978.html#aa9a44f95411d86a78a93e650a9c19f53',1,'atcacert_def_s']]], + ['cert_5felements_5fcount',['cert_elements_count',['../a00978.html#afe2b347e101c9f7be9f73b8fda53de29',1,'atcacert_def_s']]], + ['cert_5floc',['cert_loc',['../a00974.html#af74e55b0689356f989d8330ae3072376',1,'atcacert_cert_element_s']]], + ['cert_5fsize',['cert_size',['../a00982.html#a083f29531821a0ef698b452cb2b7f5b4',1,'atcacert_build_state_s']]], + ['cert_5fsn_5fdev_5floc',['cert_sn_dev_loc',['../a00978.html#ab02a37cdd6671ab98d0124c5b91623b0',1,'atcacert_def_s']]], + ['cert_5ftemplate',['cert_template',['../a00978.html#acb91631744ba06809269dc2f137c835c',1,'atcacert_def_s']]], + ['cert_5ftemplate_5fsize',['cert_template_size',['../a00978.html#a67c40218f646b70740c0d2027eb152a0',1,'atcacert_def_s']]], + ['cfg_5fateccx08a_5fi2c_5fdefault',['cfg_ateccx08a_i2c_default',['../a00905.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c'],['../a00905.html#gafcb056718eb34ec3a612d550208e49cc',1,'cfg_ateccx08a_i2c_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fkitcdc_5fdefault',['cfg_ateccx08a_kitcdc_default',['../a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c'],['../a00905.html#ga8fb19127e7fc7cfbaa619ba41bccc4b3',1,'cfg_ateccx08a_kitcdc_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fkithid_5fdefault',['cfg_ateccx08a_kithid_default',['../a00905.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c'],['../a00905.html#ga1f5e0890694189d4ce70f19b207eb070',1,'cfg_ateccx08a_kithid_default(): atca_cfgs.c']]], + ['cfg_5fateccx08a_5fswi_5fdefault',['cfg_ateccx08a_swi_default',['../a00905.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c'],['../a00905.html#ga5624aa554e1964981b794e2295b9432c',1,'cfg_ateccx08a_swi_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fi2c_5fdefault',['cfg_atsha204a_i2c_default',['../a00905.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c'],['../a00905.html#ga9fe83141d8e44bf623e624a72901832c',1,'cfg_atsha204a_i2c_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fkitcdc_5fdefault',['cfg_atsha204a_kitcdc_default',['../a00905.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c'],['../a00905.html#ga010430b93521c09efec9e5913ce769c1',1,'cfg_atsha204a_kitcdc_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fkithid_5fdefault',['cfg_atsha204a_kithid_default',['../a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c'],['../a00905.html#gac6a0b1f7ea398eee53d1e4243a617c6c',1,'cfg_atsha204a_kithid_default(): atca_cfgs.c']]], + ['cfg_5fatsha204a_5fswi_5fdefault',['cfg_atsha204a_swi_default',['../a00905.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c'],['../a00905.html#gae5e766a819c7920470b456238cbef70d',1,'cfg_atsha204a_swi_default(): atca_cfgs.c']]], + ['cfg_5fdata',['cfg_data',['../a00930.html#a97e106cc7267316cf40988744b231111',1,'ATCAIfaceCfg']]], + ['chain_5fid',['chain_id',['../a00978.html#af383252a42d77882d0f3aac7f6ee5048',1,'atcacert_def_s']]], + ['challenge',['challenge',['../a00913.html#ga88d82c85f774fa04ccf768e566fec194',1,'atca_mac_in_out']]], + ['ciphertext',['ciphertext',['../a00986.html#a984a9b23546b1bab664b3a3e721830b7',1,'atca_aes_cbc_ctx']]], + ['ciphertext_5fblock',['ciphertext_block',['../a01002.html#aa63a85c57bd002717a92339b122ada8d',1,'atca_aes_gcm_ctx']]], + ['client_5fchal',['client_chal',['../a01122.html#a218f1c30c4a21b348dbe1817a2c14896',1,'atca_check_mac_in_out']]], + ['client_5fresp',['client_resp',['../a01122.html#a430a448768d687a94e3daaa00dce63ce',1,'atca_check_mac_in_out']]], + ['clock_5fdivider',['clock_divider',['../a00918.html#a380510ad0d2dbde608f38387436db3bc',1,'atca_command']]], + ['comp_5fcert_5fdev_5floc',['comp_cert_dev_loc',['../a00978.html#a2d5a033a5aa1227c536ec1aa71a84fa5',1,'atcacert_def_s']]], + ['conf',['conf',['../a00353.html#aa09ddc709367c497fc081a29aa2d12fe',1,'hal_esp32_i2c.c']]], + ['contract',['CONTRACT',['../a00554.html#a348ab46a13fa6aa8fa90037913b92d6c',1,'license.txt']]], + ['count',['count',['../a00966.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_device_loc_s::count()'],['../a00970.html#af6a39bfc7e1dc3b6f9c997c1c43fa996',1,'atcacert_cert_loc_s::count()']]], + ['counter_5fsize',['counter_size',['../a00994.html#ab645bb8a04ce16b6ab3c843dd4d1c177',1,'atca_aes_ctr_ctx']]], + ['crypto_5fdata',['crypto_data',['../a00913.html#ga4155a23e70d1bf07de5d316efebeaee7',1,'atca_decrypt_in_out']]], + ['cur',['cur',['../a01138.html#aee7e8f6f5f1a4b5b402473cf99d3042a',1,'atca_jwt_t']]], + ['curve_5ftype',['curve_type',['../a00913.html#ga9be4eee4ac6c9248a824d093f165839e',1,'atca_verify_in_out']]] ]; diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js index ee8b64f61..bc811f959 100644 --- a/docs/html/search/variables_4.js +++ b/docs/html/search/variables_4.js @@ -1,17 +1,17 @@ var searchData= [ - ['damage',['DAMAGE',['../a00533.html#a59659ff8104ef667d9a7379e83ede67d',1,'license.txt']]], - ['data',['data',['../a03547.html#a0a6faa98b4d6b0b87ec0127daee17d11',1,'ATCAPacket::data()'],['../a03699.html#abe222f6d3581e7920dcad5306cc906a8',1,'atca_io_decrypt_in_out::data()']]], - ['data_5fsize',['data_size',['../a03699.html#ad6bc120bffc64dfc5230863a8ba96596',1,'atca_io_decrypt_in_out']]], - ['debug_5fcount',['Debug_count',['../a00383.html#a38131fc613147c3d91d5fe9ae0eee285',1,'hal_pic32mz2048efm_i2c.c']]], - ['dev',['dev',['../a03537.html#gabe78755474c1323a5ac7b3dd6d03dedf',1,'hal_linux_kit_cdc.c']]], - ['device_5floc',['device_loc',['../a03599.html#aa36729eb861afe13bb70974147bc403b',1,'atcacert_cert_element_s']]], - ['device_5fsn',['device_sn',['../a03607.html#a5aa8a40126b53aa3748ba0d00de61e60',1,'atcacert_build_state_s']]], - ['devtype',['devtype',['../a03555.html#a05f2d72f4feff51d21be443c82d02192',1,'ATCAIfaceCfg']]], - ['digest',['digest',['../a03707.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_enc_in_out::digest()'],['../a03711.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_mac_in_out::digest()'],['../a03755.html#a0b448fbaa0c4f1770b7c3f53acf265c5',1,'atca_sign_internal_in_out::digest()']]], - ['digest_5fenc',['digest_enc',['../a03707.html#aa9a9b371e24a757dba2cf1f87d03b31e',1,'atca_secureboot_enc_in_out']]], - ['direct',['DIRECT',['../a00533.html#a5aaa90c35cbddf1720721fc22614a8f5',1,'license.txt']]], - ['drvi2cmasterhandle',['drvI2CMasterHandle',['../a00383.html#afcc15120f09517ad5ab3a7afd8ebaa94',1,'hal_pic32mz2048efm_i2c.c']]], - ['drvi2cmasterhandle1',['drvI2CMasterHandle1',['../a00383.html#a4f5480efebde3ee25a51b1635b33d5f8',1,'hal_pic32mz2048efm_i2c.c']]], - ['dt',['dt',['../a03543.html#aebea355958c50f7d6a7d946f33ddc0aa',1,'atca_command']]] + ['damage',['DAMAGE',['../a00554.html#a59659ff8104ef667d9a7379e83ede67d',1,'license.txt']]], + ['data',['data',['../a00922.html#a0a6faa98b4d6b0b87ec0127daee17d11',1,'ATCAPacket::data()'],['../a01078.html#abe222f6d3581e7920dcad5306cc906a8',1,'atca_io_decrypt_in_out::data()']]], + ['data_5fsize',['data_size',['../a01002.html#ab670c6c21aced4765ecd6b29283f22b0',1,'atca_aes_gcm_ctx::data_size()'],['../a01078.html#ad6bc120bffc64dfc5230863a8ba96596',1,'atca_io_decrypt_in_out::data_size()']]], + ['debug_5fcount',['Debug_count',['../a00404.html#a38131fc613147c3d91d5fe9ae0eee285',1,'hal_pic32mz2048efm_i2c.c']]], + ['dev',['dev',['../a00912.html#gabe78755474c1323a5ac7b3dd6d03dedf',1,'hal_linux_kit_cdc.c']]], + ['device_5floc',['device_loc',['../a00974.html#aa36729eb861afe13bb70974147bc403b',1,'atcacert_cert_element_s']]], + ['device_5fsn',['device_sn',['../a00982.html#a5aa8a40126b53aa3748ba0d00de61e60',1,'atcacert_build_state_s']]], + ['devtype',['devtype',['../a00930.html#a05f2d72f4feff51d21be443c82d02192',1,'ATCAIfaceCfg']]], + ['digest',['digest',['../a01086.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_enc_in_out::digest()'],['../a01090.html#aff3a2b64b0d86058508f766de59438d1',1,'atca_secureboot_mac_in_out::digest()'],['../a01134.html#a0b448fbaa0c4f1770b7c3f53acf265c5',1,'atca_sign_internal_in_out::digest()']]], + ['digest_5fenc',['digest_enc',['../a01086.html#aa9a9b371e24a757dba2cf1f87d03b31e',1,'atca_secureboot_enc_in_out']]], + ['direct',['DIRECT',['../a00554.html#a5aaa90c35cbddf1720721fc22614a8f5',1,'license.txt']]], + ['drvi2cmasterhandle',['drvI2CMasterHandle',['../a00404.html#afcc15120f09517ad5ab3a7afd8ebaa94',1,'hal_pic32mz2048efm_i2c.c']]], + ['drvi2cmasterhandle1',['drvI2CMasterHandle1',['../a00404.html#a4f5480efebde3ee25a51b1635b33d5f8',1,'hal_pic32mz2048efm_i2c.c']]], + ['dt',['dt',['../a00918.html#aebea355958c50f7d6a7d946f33ddc0aa',1,'atca_command']]] ]; diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js index bc2cbd0fd..5bcdcac4b 100644 --- a/docs/html/search/variables_5.js +++ b/docs/html/search/variables_5.js @@ -1,10 +1,11 @@ var searchData= [ - ['encrypted_5fdata',['encrypted_data',['../a03727.html#a8c2a094baeab96152cea462ba9677887',1,'atca_write_mac_in_out']]], - ['exectime',['execTime',['../a03547.html#a7f16544e2e38e2a389b69be0a7156986',1,'ATCAPacket']]], - ['execution_5ftime_5fmsec',['execution_time_msec',['../a03543.html#a77632045612dbd0a5ac4488567c14dd3',1,'atca_command']]], - ['exemplary',['EXEMPLARY',['../a00533.html#a5a3bf7ca4157019835218d3ba8a5e515',1,'license.txt']]], - ['expire_5fdate_5fformat',['expire_date_format',['../a03603.html#a6367c516be990bdce86047b5d9acda14',1,'atcacert_def_s']]], - ['expire_5fyears',['expire_years',['../a03603.html#a7dcbb1ab3db4003c7f2414e262853e6d',1,'atcacert_def_s']]], - ['express',['EXPRESS',['../a00533.html#a7484f792d939c92f72320fa1744f3c2a',1,'license.txt']]] + ['enc_5fcb',['enc_cb',['../a01002.html#a021e62aff4a11dd8a3d2dcc9f39b961a',1,'atca_aes_gcm_ctx']]], + ['encrypted_5fdata',['encrypted_data',['../a01106.html#a8c2a094baeab96152cea462ba9677887',1,'atca_write_mac_in_out']]], + ['exectime',['execTime',['../a00922.html#a7f16544e2e38e2a389b69be0a7156986',1,'ATCAPacket']]], + ['execution_5ftime_5fmsec',['execution_time_msec',['../a00918.html#a77632045612dbd0a5ac4488567c14dd3',1,'atca_command']]], + ['exemplary',['EXEMPLARY',['../a00554.html#a5a3bf7ca4157019835218d3ba8a5e515',1,'license.txt']]], + ['expire_5fdate_5fformat',['expire_date_format',['../a00978.html#a6367c516be990bdce86047b5d9acda14',1,'atcacert_def_s']]], + ['expire_5fyears',['expire_years',['../a00978.html#a7dcbb1ab3db4003c7f2414e262853e6d',1,'atcacert_def_s']]], + ['express',['EXPRESS',['../a00554.html#a7484f792d939c92f72320fa1744f3c2a',1,'license.txt']]] ]; diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js index 1717fb60b..342018c0c 100644 --- a/docs/html/search/variables_6.js +++ b/docs/html/search/variables_6.js @@ -1,7 +1,7 @@ var searchData= [ - ['fees',['FEES',['../a00533.html#a11b6063b69a4388ba8d13c727308b330',1,'license.txt']]], - ['for_5finvalidate',['for_invalidate',['../a03755.html#ac3544274ceb4f8950b3a5fe6640be634',1,'atca_sign_internal_in_out']]], - ['forms',['forms',['../a00533.html#a516e32a554a49b0ef605e4ea3eb68048',1,'license.txt']]], - ['foundation',['Foundation',['../a00533.html#a6b83833564ea423ec5340bb9b27fa3c7',1,'license.txt']]] + ['fees',['FEES',['../a00554.html#a11b6063b69a4388ba8d13c727308b330',1,'license.txt']]], + ['for_5finvalidate',['for_invalidate',['../a01134.html#ac3544274ceb4f8950b3a5fe6640be634',1,'atca_sign_internal_in_out']]], + ['forms',['forms',['../a00554.html#a516e32a554a49b0ef605e4ea3eb68048',1,'license.txt']]], + ['foundation',['Foundation',['../a00554.html#a6b83833564ea423ec5340bb9b27fa3c7',1,'license.txt']]] ]; diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js index 2d3b545e5..cd0960dd1 100644 --- a/docs/html/search/variables_7.js +++ b/docs/html/search/variables_7.js @@ -1,6 +1,6 @@ var searchData= [ - ['gen_5fdig_5fdata',['gen_dig_data',['../a03687.html#a0ea476753a7de128cb33adb56e0692c6',1,'atca_temp_key']]], - ['gen_5fkey_5fdata',['gen_key_data',['../a03687.html#a1f0f70b7f0590654fde170e1e392b4f7',1,'atca_temp_key']]], - ['guid',['guid',['../a03555.html#af6dd59cf5b43526a4c6ccd515042af73',1,'ATCAIfaceCfg']]] + ['gen_5fdig_5fdata',['gen_dig_data',['../a01066.html#a0ea476753a7de128cb33adb56e0692c6',1,'atca_temp_key']]], + ['gen_5fkey_5fdata',['gen_key_data',['../a01066.html#a1f0f70b7f0590654fde170e1e392b4f7',1,'atca_temp_key']]], + ['guid',['guid',['../a00930.html#af6dd59cf5b43526a4c6ccd515042af73',1,'ATCAIfaceCfg']]] ]; diff --git a/docs/html/search/variables_8.js b/docs/html/search/variables_8.js index d9c0d8ad1..292ae755f 100644 --- a/docs/html/search/variables_8.js +++ b/docs/html/search/variables_8.js @@ -1,15 +1,15 @@ var searchData= [ - ['h',['h',['../a03639.html#a015ca0a234558a1a0dbfc1e92f547ac0',1,'CL_HashContext']]], - ['hal_5fdata',['hal_data',['../a03583.html#ad33508455720b78cc0fc880cb3f9885e',1,'atca_iface::hal_data()'],['../a03647.html#ad33508455720b78cc0fc880cb3f9885e',1,'ATCAHAL_t::hal_data()']]], - ['halidle',['halidle',['../a03555.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5',1,'ATCAIfaceCfg::halidle()'],['../a03647.html#a3939b643c7f807fc8fe8abcf18e99196',1,'ATCAHAL_t::halidle()']]], - ['halinit',['halinit',['../a03555.html#a3baf2be3a5e7c59688ede3ffa734f1e1',1,'ATCAIfaceCfg::halinit()'],['../a03647.html#aa020e68c9d18f83f205981fa57107b3c',1,'ATCAHAL_t::halinit()']]], - ['halpostinit',['halpostinit',['../a03555.html#a82498c9417816ef35f75ea8249a3f10a',1,'ATCAIfaceCfg::halpostinit()'],['../a03647.html#af174424ba7b2d19a74c72f8b4198c26b',1,'ATCAHAL_t::halpostinit()']]], - ['halreceive',['halreceive',['../a03555.html#a18decbd259932bfe1f787dd3d94ee29f',1,'ATCAIfaceCfg::halreceive()'],['../a03647.html#af95136769fcc864880463d4dcab0c11c',1,'ATCAHAL_t::halreceive()']]], - ['halrelease',['halrelease',['../a03555.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAIfaceCfg::halrelease()'],['../a03647.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAHAL_t::halrelease()']]], - ['halsend',['halsend',['../a03555.html#a3aa29f6db8565f010adbe6b11e203d53',1,'ATCAIfaceCfg::halsend()'],['../a03647.html#a6fb3aee6375216c53ef1e5a9df01e074',1,'ATCAHAL_t::halsend()']]], - ['halsleep',['halsleep',['../a03555.html#a7add390e5c5e2d9c8f6dadc842a3726e',1,'ATCAIfaceCfg::halsleep()'],['../a03647.html#ad2f432748c4d8efe98ec42d5cd1552b5',1,'ATCAHAL_t::halsleep()']]], - ['halwake',['halwake',['../a03555.html#a357fd8307ec04fe3026830316fc3b043',1,'ATCAIfaceCfg::halwake()'],['../a03647.html#a033c21278fef7771916378cbcf726ae6',1,'ATCAHAL_t::halwake()']]], - ['hash',['hash',['../a03643.html#a135f34ef1efee1401582f12744220dbb',1,'sw_sha256_ctx']]], - ['hashed_5fkey',['hashed_key',['../a03707.html#a4e3f2b3f58d04cbc9d85d936b039170e',1,'atca_secureboot_enc_in_out::hashed_key()'],['../a03711.html#a1f1ddb903087eec963d0faf82a3283a4',1,'atca_secureboot_mac_in_out::hashed_key()']]] + ['h',['h',['../a01002.html#aabae58f8680f6b319b78afa08d7a29d1',1,'atca_aes_gcm_ctx::h()'],['../a01018.html#a015ca0a234558a1a0dbfc1e92f547ac0',1,'CL_HashContext::h()']]], + ['hal_5fdata',['hal_data',['../a00958.html#ad33508455720b78cc0fc880cb3f9885e',1,'atca_iface::hal_data()'],['../a01026.html#ad33508455720b78cc0fc880cb3f9885e',1,'ATCAHAL_t::hal_data()']]], + ['halidle',['halidle',['../a00930.html#a5f5c7d0dbeca09760ddfbd0f4041d3c5',1,'ATCAIfaceCfg::halidle()'],['../a01026.html#a3939b643c7f807fc8fe8abcf18e99196',1,'ATCAHAL_t::halidle()']]], + ['halinit',['halinit',['../a00930.html#a3baf2be3a5e7c59688ede3ffa734f1e1',1,'ATCAIfaceCfg::halinit()'],['../a01026.html#aa020e68c9d18f83f205981fa57107b3c',1,'ATCAHAL_t::halinit()']]], + ['halpostinit',['halpostinit',['../a00930.html#a82498c9417816ef35f75ea8249a3f10a',1,'ATCAIfaceCfg::halpostinit()'],['../a01026.html#af174424ba7b2d19a74c72f8b4198c26b',1,'ATCAHAL_t::halpostinit()']]], + ['halreceive',['halreceive',['../a00930.html#a18decbd259932bfe1f787dd3d94ee29f',1,'ATCAIfaceCfg::halreceive()'],['../a01026.html#af95136769fcc864880463d4dcab0c11c',1,'ATCAHAL_t::halreceive()']]], + ['halrelease',['halrelease',['../a00930.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAIfaceCfg::halrelease()'],['../a01026.html#a5eb439f0ede23956fde8cd72f41b85ba',1,'ATCAHAL_t::halrelease()']]], + ['halsend',['halsend',['../a00930.html#a3aa29f6db8565f010adbe6b11e203d53',1,'ATCAIfaceCfg::halsend()'],['../a01026.html#a6fb3aee6375216c53ef1e5a9df01e074',1,'ATCAHAL_t::halsend()']]], + ['halsleep',['halsleep',['../a00930.html#a7add390e5c5e2d9c8f6dadc842a3726e',1,'ATCAIfaceCfg::halsleep()'],['../a01026.html#ad2f432748c4d8efe98ec42d5cd1552b5',1,'ATCAHAL_t::halsleep()']]], + ['halwake',['halwake',['../a00930.html#a357fd8307ec04fe3026830316fc3b043',1,'ATCAIfaceCfg::halwake()'],['../a01026.html#a033c21278fef7771916378cbcf726ae6',1,'ATCAHAL_t::halwake()']]], + ['hash',['hash',['../a01022.html#a135f34ef1efee1401582f12744220dbb',1,'sw_sha256_ctx']]], + ['hashed_5fkey',['hashed_key',['../a01086.html#a4e3f2b3f58d04cbc9d85d936b039170e',1,'atca_secureboot_enc_in_out::hashed_key()'],['../a01090.html#a1f1ddb903087eec963d0faf82a3283a4',1,'atca_secureboot_mac_in_out::hashed_key()']]] ]; diff --git a/docs/html/search/variables_9.js b/docs/html/search/variables_9.js index 2b5cbe60e..c37034f55 100644 --- a/docs/html/search/variables_9.js +++ b/docs/html/search/variables_9.js @@ -1,28 +1,27 @@ var searchData= [ - ['i2c_5fbus_5fref_5fct',['i2c_bus_ref_ct',['../a00332.html#aa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_esp32_i2c.c'],['../a03537.html#gaa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_linux_i2c_userspace.c']]], - ['i2c_5fbuses_5fdefault',['i2c_buses_default',['../a00476.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c'],['../a00479.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c']]], - ['i2c_5ffile',['i2c_file',['../a03655.html#a386ecc3f01d8b317bc512cab194d844f',1,'atcaI2Cmaster']]], - ['i2c_5fhal_5fdata',['i2c_hal_data',['../a00332.html#a95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_esp32_i2c.c'],['../a03537.html#ga95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_linux_i2c_userspace.c']]], - ['i2c_5fmaster_5finstance',['i2c_master_instance',['../a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#a335b4a621ab538c5a42160a5a14c161f',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a03655.html#ad60966bca127551f6271719dd9921045',1,'atcaI2Cmaster::i2c_master_instance()']]], - ['i2c_5fsercom',['i2c_sercom',['../a03655.html#af47d648cf53d85c997e715a25fea0372',1,'atcaI2Cmaster::i2c_sercom()'],['../a03655.html#a0d97fa67bd4aa20fd2835fa5c8076061',1,'atcaI2Cmaster::i2c_sercom()']]], - ['i2cdriverinit',['i2cDriverInit',['../a03671.html#ae40d3e07534bf6cb2e78c329983048c7',1,'DRV_I2C_Object']]], - ['i2cdriverinstance',['i2cDriverInstance',['../a03671.html#af8b2d2e531312c0b6adda321a50fabc7',1,'DRV_I2C_Object']]], - ['i2cdriverinstanceindex',['i2cDriverInstanceIndex',['../a03671.html#a61f012e6351d468a23da071e8ee588b6',1,'DRV_I2C_Object']]], - ['id',['id',['../a03599.html#a0b1ca4dcd178907e4151c7132e3b55f5',1,'atcacert_cert_element_s::id()'],['../a03655.html#a7441ef0865bcb3db9b8064dd7375c1ea',1,'atcaI2Cmaster::id()'],['../a03655.html#a10c34d148db33a5f64c3730a163fb7a7',1,'atcaI2Cmaster::id()']]], - ['idx',['idx',['../a03555.html#ae40354a1051342eb5a9db005715dcfa9',1,'ATCAIfaceCfg']]], - ['iface_5ftype',['iface_type',['../a03555.html#a3d0753b214d2a12df80f22b56bfc6e71',1,'ATCAIfaceCfg']]], - ['incidental',['INCIDENTAL',['../a00533.html#a672c9264e9de75bce6ab2cb4d5bde5c1',1,'license.txt']]], - ['including',['INCLUDING',['../a00533.html#a3e9c2f2beba8585ea947b758fe1a127d',1,'license.txt']]], - ['indirect',['INDIRECT',['../a00533.html#ad8724d922f0e30d3010a431017c0aaaa',1,'license.txt']]], - ['infringement',['INFRINGEMENT',['../a00533.html#a7c4fbd85a126d156dfee161e8fd6681a',1,'license.txt']]], - ['input_5fdata',['input_data',['../a03727.html#a699b6e4448b505a2664025ccca3522f5',1,'atca_write_mac_in_out']]], - ['io_5fkey',['io_key',['../a03699.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_io_decrypt_in_out::io_key()'],['../a03703.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_verify_mac::io_key()'],['../a03707.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_secureboot_enc_in_out::io_key()']]], - ['is_5f64',['is_64',['../a03687.html#a3f6d684924e3635e6e57441b66b98978',1,'atca_temp_key']]], - ['is_5fdevice_5fsn',['is_device_sn',['../a03607.html#a3969ddf030fd0524b62c572070bb3edc',1,'atcacert_build_state_s']]], - ['is_5fgenkey',['is_genkey',['../a03591.html#ab0cedc80cd8670d02eee4b6e31500f5f',1,'atcacert_device_loc_s']]], - ['is_5fkey_5fnomac',['is_key_nomac',['../a03723.html#a6ab45b7847bf9d25cc2be99b11641e5f',1,'atca_gen_dig_in_out']]], - ['is_5fslot_5flocked',['is_slot_locked',['../a03755.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8',1,'atca_sign_internal_in_out']]], - ['issue_5fdate_5fformat',['issue_date_format',['../a03603.html#a61f951f9c4366391012057d591888f32',1,'atcacert_def_s']]], - ['iv',['iv',['../a03619.html#a31dd3906237011822f43dcb64fe58e39',1,'atca_aes_ctr_ctx']]] + ['i2c_5fbus_5fref_5fct',['i2c_bus_ref_ct',['../a00353.html#aa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_esp32_i2c.c'],['../a00912.html#gaa7deec7f5d89dfb4f9746d050b0926f9',1,'i2c_bus_ref_ct(): hal_linux_i2c_userspace.c']]], + ['i2c_5fbuses_5fdefault',['i2c_buses_default',['../a00497.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c'],['../a00500.html#ad2e9f2387bb528f37bceb48cd88af3d0',1,'i2c_buses_default(): i2c_bitbang_samd21.c']]], + ['i2c_5ffile',['i2c_file',['../a01034.html#a386ecc3f01d8b317bc512cab194d844f',1,'atcaI2Cmaster']]], + ['i2c_5fhal_5fdata',['i2c_hal_data',['../a00353.html#a95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_esp32_i2c.c'],['../a00912.html#ga95dac4460cd54b4b073285ebc79d215b',1,'i2c_hal_data(): hal_linux_i2c_userspace.c']]], + ['i2c_5fmaster_5finstance',['i2c_master_instance',['../a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#a335b4a621ab538c5a42160a5a14c161f',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#a6fa5d175fefe82a0c13cc0f7afbf5593',1,'atcaI2Cmaster::i2c_master_instance()'],['../a01034.html#ad60966bca127551f6271719dd9921045',1,'atcaI2Cmaster::i2c_master_instance()']]], + ['i2c_5fsercom',['i2c_sercom',['../a01034.html#af47d648cf53d85c997e715a25fea0372',1,'atcaI2Cmaster::i2c_sercom()'],['../a01034.html#a0d97fa67bd4aa20fd2835fa5c8076061',1,'atcaI2Cmaster::i2c_sercom()']]], + ['i2cdriverinit',['i2cDriverInit',['../a01050.html#ae40d3e07534bf6cb2e78c329983048c7',1,'DRV_I2C_Object']]], + ['i2cdriverinstance',['i2cDriverInstance',['../a01050.html#af8b2d2e531312c0b6adda321a50fabc7',1,'DRV_I2C_Object']]], + ['i2cdriverinstanceindex',['i2cDriverInstanceIndex',['../a01050.html#a61f012e6351d468a23da071e8ee588b6',1,'DRV_I2C_Object']]], + ['id',['id',['../a00974.html#a0b1ca4dcd178907e4151c7132e3b55f5',1,'atcacert_cert_element_s::id()'],['../a01034.html#a7441ef0865bcb3db9b8064dd7375c1ea',1,'atcaI2Cmaster::id()'],['../a01034.html#a10c34d148db33a5f64c3730a163fb7a7',1,'atcaI2Cmaster::id()']]], + ['idx',['idx',['../a00930.html#ae40354a1051342eb5a9db005715dcfa9',1,'ATCAIfaceCfg']]], + ['iface_5ftype',['iface_type',['../a00930.html#a3d0753b214d2a12df80f22b56bfc6e71',1,'ATCAIfaceCfg']]], + ['incidental',['INCIDENTAL',['../a00554.html#a672c9264e9de75bce6ab2cb4d5bde5c1',1,'license.txt']]], + ['including',['INCLUDING',['../a00554.html#a3e9c2f2beba8585ea947b758fe1a127d',1,'license.txt']]], + ['indirect',['INDIRECT',['../a00554.html#ad8724d922f0e30d3010a431017c0aaaa',1,'license.txt']]], + ['infringement',['INFRINGEMENT',['../a00554.html#a7c4fbd85a126d156dfee161e8fd6681a',1,'license.txt']]], + ['input_5fdata',['input_data',['../a01106.html#a699b6e4448b505a2664025ccca3522f5',1,'atca_write_mac_in_out']]], + ['io_5fkey',['io_key',['../a01078.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_io_decrypt_in_out::io_key()'],['../a01082.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_verify_mac::io_key()'],['../a01086.html#a130c5ab3a3f978b77641faa7813aa5d2',1,'atca_secureboot_enc_in_out::io_key()']]], + ['is_5f64',['is_64',['../a01066.html#a3f6d684924e3635e6e57441b66b98978',1,'atca_temp_key']]], + ['is_5fdevice_5fsn',['is_device_sn',['../a00982.html#a3969ddf030fd0524b62c572070bb3edc',1,'atcacert_build_state_s']]], + ['is_5fgenkey',['is_genkey',['../a00966.html#ab0cedc80cd8670d02eee4b6e31500f5f',1,'atcacert_device_loc_s']]], + ['is_5fkey_5fnomac',['is_key_nomac',['../a01102.html#a6ab45b7847bf9d25cc2be99b11641e5f',1,'atca_gen_dig_in_out']]], + ['is_5fslot_5flocked',['is_slot_locked',['../a01134.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8',1,'atca_sign_internal_in_out']]], + ['issue_5fdate_5fformat',['issue_date_format',['../a00978.html#a61f951f9c4366391012057d591888f32',1,'atcacert_def_s']]] ]; diff --git a/docs/html/search/variables_a.js b/docs/html/search/variables_a.js index 3377bfe40..c389d6b05 100644 --- a/docs/html/search/variables_a.js +++ b/docs/html/search/variables_a.js @@ -1,8 +1,4 @@ var searchData= [ - ['key',['key',['../a03538.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_mac_in_out::key()'],['../a03538.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_hmac_in_out::key()']]], - ['key_5fblock',['key_block',['../a03611.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_cbc_ctx::key_block()'],['../a03619.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_ctr_ctx::key_block()']]], - ['key_5fconfig',['key_config',['../a03755.html#af209160ffa65b538728640eb34e4be75',1,'atca_sign_internal_in_out']]], - ['key_5fid',['key_id',['../a03611.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_cbc_ctx::key_id()'],['../a03619.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_ctr_ctx::key_id()'],['../a03687.html#ae687014ee9436f24d700229432e7edfd',1,'atca_temp_key::key_id()'],['../a03703.html#ac21eed4200889cc115d16a781871d01c',1,'atca_verify_mac::key_id()'],['../a03538.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_mac_in_out::key_id()'],['../a03538.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_hmac_in_out::key_id()'],['../a03723.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_dig_in_out::key_id()'],['../a03727.html#ac21eed4200889cc115d16a781871d01c',1,'atca_write_mac_in_out::key_id()'],['../a03743.html#ac21eed4200889cc115d16a781871d01c',1,'atca_check_mac_in_out::key_id()'],['../a03751.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_key_in_out::key_id()'],['../a03755.html#ac21eed4200889cc115d16a781871d01c',1,'atca_sign_internal_in_out::key_id()']]], - ['kits',['kits',['../a03651.html#a20e678da3f77a9aabd9cb97d5340e502',1,'atcahid::kits()'],['../a03663.html#a90743aa58e9f430c381d56eb373edef4',1,'atcacdc::kits()'],['../a03651.html#aa09aaf9e2fbb91f0cef6b473135d4628',1,'atcahid::kits()']]] + ['j0',['j0',['../a01002.html#adf8d225c61055fd7e514ede2b7d9af91',1,'atca_aes_gcm_ctx']]] ]; diff --git a/docs/html/search/variables_b.js b/docs/html/search/variables_b.js index c125b4f2e..07825bb56 100644 --- a/docs/html/search/variables_b.js +++ b/docs/html/search/variables_b.js @@ -1,7 +1,8 @@ var searchData= [ - ['law',['LAW',['../a00533.html#ae7b3211c089ceb4e0613690bd035fcc8',1,'license.txt']]], - ['liability',['LIABILITY',['../a00533.html#a6ddcff3b4469da51f9bad85dbf0386c2',1,'license.txt']]], - ['license',['license',['../a00533.html#a3b16060f9e1484bd07cd5e162e2eddf4',1,'license(): license.txt'],['../a00533.html#a355539e51bed3008068dfe985e226ab8',1,'License(): license.txt']]], - ['loss',['LOSS',['../a00533.html#a23c8d68a0c8d14f113b15a3b62d8e7b5',1,'license.txt']]] + ['key',['key',['../a00913.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_mac_in_out::key()'],['../a00913.html#gab0d96f9d852c2058c2546a1338e87544',1,'atca_hmac_in_out::key()']]], + ['key_5fblock',['key_block',['../a00986.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_cbc_ctx::key_block()'],['../a00994.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_ctr_ctx::key_block()'],['../a01002.html#a2ec310210422989027a46428a61fb1c1',1,'atca_aes_gcm_ctx::key_block()']]], + ['key_5fconfig',['key_config',['../a01134.html#af209160ffa65b538728640eb34e4be75',1,'atca_sign_internal_in_out']]], + ['key_5fid',['key_id',['../a00986.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_cbc_ctx::key_id()'],['../a00994.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_ctr_ctx::key_id()'],['../a01002.html#ac21eed4200889cc115d16a781871d01c',1,'atca_aes_gcm_ctx::key_id()'],['../a01066.html#ae687014ee9436f24d700229432e7edfd',1,'atca_temp_key::key_id()'],['../a01082.html#ac21eed4200889cc115d16a781871d01c',1,'atca_verify_mac::key_id()'],['../a00913.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_mac_in_out::key_id()'],['../a00913.html#ga3eedc11953a89e931ede529eb72592ac',1,'atca_hmac_in_out::key_id()'],['../a01102.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_dig_in_out::key_id()'],['../a01106.html#ac21eed4200889cc115d16a781871d01c',1,'atca_write_mac_in_out::key_id()'],['../a01122.html#ac21eed4200889cc115d16a781871d01c',1,'atca_check_mac_in_out::key_id()'],['../a01130.html#ac21eed4200889cc115d16a781871d01c',1,'atca_gen_key_in_out::key_id()'],['../a01134.html#ac21eed4200889cc115d16a781871d01c',1,'atca_sign_internal_in_out::key_id()']]], + ['kits',['kits',['../a01030.html#a20e678da3f77a9aabd9cb97d5340e502',1,'atcahid::kits()'],['../a01042.html#a90743aa58e9f430c381d56eb373edef4',1,'atcacdc::kits()'],['../a01030.html#aa09aaf9e2fbb91f0cef6b473135d4628',1,'atcahid::kits()']]] ]; diff --git a/docs/html/search/variables_c.js b/docs/html/search/variables_c.js index facdb92c6..c242e423c 100644 --- a/docs/html/search/variables_c.js +++ b/docs/html/search/variables_c.js @@ -1,17 +1,7 @@ var searchData= [ - ['mac',['mac',['../a03703.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_verify_mac::mac()'],['../a03711.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_secureboot_mac_in_out::mac()'],['../a03735.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_derive_key_mac_in_out::mac()']]], - ['max_5fcert_5fsize',['max_cert_size',['../a03607.html#abbc4bbcc72558a31f830df7df2df53b8',1,'atcacert_build_state_s']]], - ['mcommands',['mCommands',['../a03551.html#aac7a3ed180ba0fcf0d86f7b54ebc1379',1,'atca_device']]], - ['memory_5fparams',['memory_params',['../a03767.html#a42beed23912c5ea5307c11701c6883ab',1,'secure_boot_parameters']]], - ['memory_5fsize',['memory_size',['../a03771.html#afa720d7b457a80ef9f27d644a51ad157',1,'memory_parameters']]], - ['merchantability',['MERCHANTABILITY',['../a00533.html#a5dab97277add1c9e20634df7532f7258',1,'license.txt']]], - ['message',['message',['../a03755.html#a35f4a3225daf3021decdc4ecea74fa46',1,'atca_sign_internal_in_out']]], - ['met',['met',['../a00533.html#a1c8fbe2bd2de295687cf40862de52243',1,'license.txt']]], - ['miface',['mIface',['../a03551.html#aca75c68806e47e95144dc86a3f50d236',1,'atca_device']]], - ['mifacecfg',['mIfaceCFG',['../a03583.html#abdd7b8bd26139998d9da63a4fa562735',1,'atca_iface']]], - ['mode',['mode',['../a03691.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_include_data_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_nonce_in_out::mode()'],['../a03703.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_verify_mac::mode()'],['../a03711.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_secureboot_mac_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_mac_in_out::mode()'],['../a03538.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_hmac_in_out::mode()'],['../a03731.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_in_out::mode()'],['../a03735.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_mac_in_out::mode()'],['../a03743.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_check_mac_in_out::mode()'],['../a03751.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_gen_key_in_out::mode()'],['../a03755.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_sign_internal_in_out::mode()']]], - ['modification',['modification',['../a00533.html#ac4b912b8b14f5271ee23393f63704703',1,'license.txt']]], - ['msg_5fdig_5fbuf',['msg_dig_buf',['../a03703.html#abb42a6a187e06500b79b8bdbf097ef1c',1,'atca_verify_mac']]], - ['mtype',['mType',['../a03583.html#ab4f4855cbadf7c7d2d3fb019eded7c8a',1,'atca_iface']]] + ['law',['LAW',['../a00554.html#ae7b3211c089ceb4e0613690bd035fcc8',1,'license.txt']]], + ['liability',['LIABILITY',['../a00554.html#a6ddcff3b4469da51f9bad85dbf0386c2',1,'license.txt']]], + ['license',['license',['../a00554.html#a3b16060f9e1484bd07cd5e162e2eddf4',1,'license(): license.txt'],['../a00554.html#a355539e51bed3008068dfe985e226ab8',1,'License(): license.txt']]], + ['loss',['LOSS',['../a00554.html#a23c8d68a0c8d14f113b15a3b62d8e7b5',1,'license.txt']]] ]; diff --git a/docs/html/search/variables_d.js b/docs/html/search/variables_d.js index 6ac6c3b76..3ef1e28c4 100644 --- a/docs/html/search/variables_d.js +++ b/docs/html/search/variables_d.js @@ -1,8 +1,17 @@ var searchData= [ - ['no_5fmac_5fflag',['no_mac_flag',['../a03687.html#a7e432dd218a88686e01e0c43cda30d2b',1,'atca_temp_key']]], - ['not',['not',['../a00533.html#a0512e77e510c7e2d84a2817fbe4987d5',1,'license.txt']]], - ['notice',['notice',['../a00533.html#a7977b24631cbfb00c68825ecb3a3a349',1,'license.txt']]], - ['num_5fin',['num_in',['../a03538.html#ga02a9d64ea363dc3b231b8cc0b317de8a',1,'atca_nonce_in_out']]], - ['num_5fkits_5ffound',['num_kits_found',['../a03651.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcahid::num_kits_found()'],['../a03663.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcacdc::num_kits_found()']]] + ['mac',['mac',['../a01082.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_verify_mac::mac()'],['../a01090.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_secureboot_mac_in_out::mac()'],['../a01114.html#aa5a9ad86915dfcef6db90b858690212a',1,'atca_derive_key_mac_in_out::mac()']]], + ['max_5fcert_5fsize',['max_cert_size',['../a00982.html#abbc4bbcc72558a31f830df7df2df53b8',1,'atcacert_build_state_s']]], + ['mcommands',['mCommands',['../a00926.html#aac7a3ed180ba0fcf0d86f7b54ebc1379',1,'atca_device']]], + ['memory_5fparams',['memory_params',['../a01146.html#a42beed23912c5ea5307c11701c6883ab',1,'secure_boot_parameters']]], + ['memory_5fsize',['memory_size',['../a01150.html#afa720d7b457a80ef9f27d644a51ad157',1,'memory_parameters']]], + ['merchantability',['MERCHANTABILITY',['../a00554.html#a5dab97277add1c9e20634df7532f7258',1,'license.txt']]], + ['message',['message',['../a01134.html#a35f4a3225daf3021decdc4ecea74fa46',1,'atca_sign_internal_in_out']]], + ['met',['met',['../a00554.html#a1c8fbe2bd2de295687cf40862de52243',1,'license.txt']]], + ['miface',['mIface',['../a00926.html#aca75c68806e47e95144dc86a3f50d236',1,'atca_device']]], + ['mifacecfg',['mIfaceCFG',['../a00958.html#abdd7b8bd26139998d9da63a4fa562735',1,'atca_iface']]], + ['mode',['mode',['../a01070.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_include_data_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_nonce_in_out::mode()'],['../a01082.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_verify_mac::mode()'],['../a01090.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_secureboot_mac_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_mac_in_out::mode()'],['../a00913.html#ga1a6b6fb557d8d37d59700faf4e4c9167',1,'atca_hmac_in_out::mode()'],['../a01110.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_in_out::mode()'],['../a01114.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_derive_key_mac_in_out::mode()'],['../a01122.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_check_mac_in_out::mode()'],['../a01130.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_gen_key_in_out::mode()'],['../a01134.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'atca_sign_internal_in_out::mode()']]], + ['modification',['modification',['../a00554.html#ac4b912b8b14f5271ee23393f63704703',1,'license.txt']]], + ['msg_5fdig_5fbuf',['msg_dig_buf',['../a01082.html#abb42a6a187e06500b79b8bdbf097ef1c',1,'atca_verify_mac']]], + ['mtype',['mType',['../a00958.html#ab4f4855cbadf7c7d2d3fb019eded7c8a',1,'atca_iface']]] ]; diff --git a/docs/html/search/variables_e.js b/docs/html/search/variables_e.js index 0cdf2d138..cd74fd949 100644 --- a/docs/html/search/variables_e.js +++ b/docs/html/search/variables_e.js @@ -1,9 +1,8 @@ var searchData= [ - ['offset',['offset',['../a03591.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_device_loc_s::offset()'],['../a03595.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_cert_loc_s::offset()']]], - ['opcode',['opcode',['../a03547.html#a5c1b56e6bccc2a95dbddf1a08e56e87d',1,'ATCAPacket']]], - ['other_5fdata',['other_data',['../a03703.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_verify_mac::other_data()'],['../a03723.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_dig_in_out::other_data()'],['../a03743.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_check_mac_in_out::other_data()'],['../a03751.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_key_in_out::other_data()']]], - ['otp',['otp',['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_include_data_in_out::otp()'],['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_mac_in_out::otp()'],['../a03538.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_hmac_in_out::otp()'],['../a03743.html#a4510889ef4b42470bf1a1d4e940a19a9',1,'atca_check_mac_in_out::otp()']]], - ['ott',['Ott',['../a00533.html#a6767a8d558623ea6d78553dad356c0de',1,'license.txt']]], - ['out_5fnonce',['out_nonce',['../a03699.html#a70a057043fcc9f4dc22455f6df43d710',1,'atca_io_decrypt_in_out']]] + ['no_5fmac_5fflag',['no_mac_flag',['../a01066.html#a7e432dd218a88686e01e0c43cda30d2b',1,'atca_temp_key']]], + ['not',['not',['../a00554.html#a0512e77e510c7e2d84a2817fbe4987d5',1,'license.txt']]], + ['notice',['notice',['../a00554.html#a7977b24631cbfb00c68825ecb3a3a349',1,'license.txt']]], + ['num_5fin',['num_in',['../a00913.html#ga02a9d64ea363dc3b231b8cc0b317de8a',1,'atca_nonce_in_out']]], + ['num_5fkits_5ffound',['num_kits_found',['../a01030.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcahid::num_kits_found()'],['../a01042.html#a9bb0ee74044865538adfcc5d5ae8f621',1,'atcacdc::num_kits_found()']]] ]; diff --git a/docs/html/search/variables_f.js b/docs/html/search/variables_f.js index 502f6cba2..de458f4ef 100644 --- a/docs/html/search/variables_f.js +++ b/docs/html/search/variables_f.js @@ -1,20 +1,9 @@ var searchData= [ - ['p_5ftemp',['p_temp',['../a03538.html#gad87f95f0faf0c6fdfe94040efcb14860',1,'atca_include_data_in_out']]], - ['packetsize',['packetsize',['../a03555.html#aba242bb3690d4d5a7de01474f94cb4ab',1,'ATCAIfaceCfg']]], - ['pad',['pad',['../a03631.html#a06a3e722d630d33450465af7c41fa708',1,'atcac_sha1_ctx::pad()'],['../a03635.html#a517ae98c637466c44dc7e26a3abccf02',1,'atcac_sha2_256_ctx::pad()']]], - ['param1',['param1',['../a03547.html#aec4226da1b99c821237b6805c4e31333',1,'ATCAPacket']]], - ['param2',['param2',['../a03547.html#a16a7565b150a9c17a39c80fc932b9514',1,'ATCAPacket::param2()'],['../a03711.html#a16a7565b150a9c17a39c80fc932b9514',1,'atca_secureboot_mac_in_out::param2()']]], - ['parent_5fkey',['parent_key',['../a03731.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_in_out::parent_key()'],['../a03735.html#a000599eef5677ed1279b025c42ae260e',1,'atca_derive_key_mac_in_out::parent_key()']]], - ['parity',['parity',['../a03555.html#aa0e72b59c63431c62f5b5eba36a65d17',1,'ATCAIfaceCfg']]], - ['pid',['pid',['../a03555.html#aec32162d9dc3fde2c76d766af522dae5',1,'ATCAIfaceCfg']]], - ['pin_5fconf',['pin_conf',['../a03537.html#gaab85cb460831e8b7e4d3a5315b31c596',1,'swi_uart_samd21_asf.c']]], - ['pin_5fscl',['pin_scl',['../a03655.html#a01c1392fd38975adfd6c1c7849b3fa50',1,'atcaI2Cmaster::pin_scl()'],['../a03679.html#acddd0c9305a0f679828010052db4f184',1,'I2CBuses::pin_scl()'],['../a00476.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c'],['../a00479.html#a30ad301ad2a35d50b2e4284a58b82b67',1,'pin_scl(): i2c_bitbang_samd21.c']]], - ['pin_5fsda',['pin_sda',['../a03655.html#ada591700ce06dd3a6bb9722a6eba38c4',1,'atcaI2Cmaster::pin_sda()'],['../a03675.html#afd6d53ef6b697533839248b40bc97861',1,'atcaSWImaster::pin_sda()'],['../a03679.html#a396018ddf66ce0e1263ed2b4729dc9b9',1,'I2CBuses::pin_sda()'],['../a03683.html#a7d0970077e95bd9d8ed8aac6b3e115ee',1,'SWIBuses::pin_sda()'],['../a00476.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c'],['../a00479.html#afd6d53ef6b697533839248b40bc97861',1,'pin_sda(): i2c_bitbang_samd21.c']]], - ['port',['port',['../a03555.html#a63c89c04d1feae07ca35558055155ffb',1,'ATCAIfaceCfg']]], - ['private_5fkey_5fslot',['private_key_slot',['../a03603.html#a641e13598992fc536e70b55cc8ee2ea5',1,'atcacert_def_s']]], - ['public_5fkey',['public_key',['../a03538.html#gacea547aa606ca17f8da337a1b58972a1',1,'atca_verify_in_out::public_key()'],['../a03751.html#a122aff75e4ff5cd19542117ba3fdb855',1,'atca_gen_key_in_out::public_key()']]], - ['public_5fkey_5fdev_5floc',['public_key_dev_loc',['../a03603.html#accd31930a2e1ff0b8122cbaa202127d3',1,'atcacert_def_s']]], - ['public_5fkey_5fsize',['public_key_size',['../a03751.html#aeaa21ee86ed67c665d190be7d12293c7',1,'atca_gen_key_in_out']]], - ['punitive',['PUNITIVE',['../a00533.html#ae35656295ea76cd15f566ddf5c9781a3',1,'license.txt']]] + ['offset',['offset',['../a00966.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_device_loc_s::offset()'],['../a00970.html#ac681806181c80437cfab37335f62ff39',1,'atcacert_cert_loc_s::offset()']]], + ['opcode',['opcode',['../a00922.html#a5c1b56e6bccc2a95dbddf1a08e56e87d',1,'ATCAPacket']]], + ['other_5fdata',['other_data',['../a01082.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_verify_mac::other_data()'],['../a01102.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_dig_in_out::other_data()'],['../a01122.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_check_mac_in_out::other_data()'],['../a01130.html#ac76ac607fd679316fc17b16039a86b9c',1,'atca_gen_key_in_out::other_data()']]], + ['otp',['otp',['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_include_data_in_out::otp()'],['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_mac_in_out::otp()'],['../a00913.html#ga8712cb73a4d6b370658d8bc9a77fba3e',1,'atca_hmac_in_out::otp()'],['../a01122.html#a4510889ef4b42470bf1a1d4e940a19a9',1,'atca_check_mac_in_out::otp()']]], + ['ott',['Ott',['../a00554.html#a6767a8d558623ea6d78553dad356c0de',1,'license.txt']]], + ['out_5fnonce',['out_nonce',['../a01078.html#a70a057043fcc9f4dc22455f6df43d710',1,'atca_io_decrypt_in_out']]] ]; diff --git a/lib/atca_compiler.h b/lib/atca_compiler.h index c7cc6fa2e..a28d4eaca 100644 --- a/lib/atca_compiler.h +++ b/lib/atca_compiler.h @@ -33,12 +33,34 @@ #if defined(__clang__) /* Clang/LLVM. ---------------------------------------------- */ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define ATCA_UINT32_HOST_TO_BE(x) (x) +#define ATCA_UINT32_BE_TO_HOST(x) (x) +#define ATCA_UINT64_HOST_TO_BE(x) (x) +#define ATCA_UINT64_BE_TO_HOST(x) (x) +#else +#define ATCA_UINT32_HOST_TO_BE(x) __builtin_bswap32(x) +#define ATCA_UINT32_BE_TO_HOST(x) __builtin_bswap32(x) +#define ATCA_UINT64_HOST_TO_BE(x) __builtin_bswap64(x) +#define ATCA_UINT64_BE_TO_HOST(x) __builtin_bswap64(x) +#endif #elif defined(__ICC) || defined(__INTEL_COMPILER) /* Intel ICC/ICPC. ------------------------------------------ */ #elif defined(__GNUC__) || defined(__GNUG__) /* GNU GCC/G++. --------------------------------------------- */ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define ATCA_UINT32_HOST_TO_BE(x) (x) +#define ATCA_UINT32_BE_TO_HOST(x) (x) +#define ATCA_UINT64_HOST_TO_BE(x) (x) +#define ATCA_UINT64_BE_TO_HOST(x) (x) +#else +#define ATCA_UINT32_HOST_TO_BE(x) __builtin_bswap32(x) +#define ATCA_UINT32_BE_TO_HOST(x) __builtin_bswap32(x) +#define ATCA_UINT64_HOST_TO_BE(x) __builtin_bswap64(x) +#define ATCA_UINT64_BE_TO_HOST(x) __builtin_bswap64(x) +#endif #elif defined(__HP_cc) || defined(__HP_aCC) /* Hewlett-Packard C/aC++. ---------------------------------- */ @@ -48,6 +70,12 @@ #elif defined(_MSC_VER) /* Microsoft Visual Studio. --------------------------------- */ +// MSVC is usually always little-endian architecture +#include +#define ATCA_UINT32_HOST_TO_BE(x) _byteswap_ulong(x) +#define ATCA_UINT32_BE_TO_HOST(x) _byteswap_ulong(x) +#define ATCA_UINT64_HOST_TO_BE(x) _byteswap_uint64(x) +#define ATCA_UINT64_BE_TO_HOST(x) _byteswap_uint64(x) #elif defined(__PGI) /* Portland Group PGCC/PGCPP. ------------------------------- */ @@ -57,4 +85,4 @@ #endif -#endif /* ATCA_COMPILER_H_ */ \ No newline at end of file +#endif /* ATCA_COMPILER_H_ */ diff --git a/lib/atcacert/atcacert_pem.h b/lib/atcacert/atcacert_pem.h index dda10aed4..9e216a41f 100644 --- a/lib/atcacert/atcacert_pem.h +++ b/lib/atcacert/atcacert_pem.h @@ -30,6 +30,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + #define PEM_CERT_BEGIN "-----BEGIN CERTIFICATE-----" #define PEM_CERT_END "-----END CERTIFICATE-----" #define PEM_CSR_BEGIN "-----BEGIN CERTIFICATE REQUEST-----" @@ -115,4 +119,8 @@ int atcacert_encode_pem_csr(const uint8_t* der_csr, size_t der_csr_size, char* p */ int atcacert_decode_pem_csr(const char* pem_csr, size_t pem_csr_size, uint8_t* der_csr, size_t* der_csr_size); +#ifdef __cplusplus +} +#endif + #endif \ No newline at end of file diff --git a/lib/basic/atca_basic.c b/lib/basic/atca_basic.c index 5300bd312..3b73e833c 100644 --- a/lib/basic/atca_basic.c +++ b/lib/basic/atca_basic.c @@ -30,7 +30,7 @@ #include "atca_basic.h" #include "host/atca_host.h" -const char atca_version[] = { "20181025" }; // change for each release, yyyymmdd +const char atca_version[] = { "20190104" }; // change for each release, yyyymmdd ATCADevice _gDevice = NULL; #ifdef ATCA_NO_HEAP struct atca_command g_atcab_command; diff --git a/lib/basic/atca_basic.h b/lib/basic/atca_basic.h index d7575fd5a..95ebb150b 100644 --- a/lib/basic/atca_basic.h +++ b/lib/basic/atca_basic.h @@ -46,8 +46,11 @@ extern "C" { #endif -#define BLOCK_NUMBER(a) (a / 32) -#define WORD_OFFSET(a) ((a % 32) / 4) +#define BLOCK_NUMBER(a) (a / 32) +#define WORD_OFFSET(a) ((a % 32) / 4) + +#define ATCA_AES_GCM_IV_STD_LENGTH 12 + extern ATCADevice _gDevice; @@ -97,7 +100,7 @@ typedef struct atca_aes_ctr_ctx { uint16_t key_id; //!< Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. uint8_t key_block; //!< Index of the 16-byte block to use within the key location for the actual key. - uint8_t iv[AES_DATA_SIZE]; //!< Initialization vector, comprises of nonce + count value. (16 bytes) + uint8_t cb[AES_DATA_SIZE]; //!< Counter block, comprises of nonce + count value (16 bytes). uint8_t counter_size; //!< Size of counter in the initialization vector. }atca_aes_ctr_ctx_t; @@ -106,6 +109,7 @@ ATCA_STATUS atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, ui ATCA_STATUS atcab_aes_ctr_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* input, uint8_t* output); ATCA_STATUS atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext); ATCA_STATUS atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext); +ATCA_STATUS atcab_aes_ctr_increment(atca_aes_ctr_ctx_t* ctx); // CheckMAC command functions ATCA_STATUS atcab_checkmac(uint8_t mode, uint16_t key_id, const uint8_t *challenge, const uint8_t *response, const uint8_t *other_data); diff --git a/lib/basic/atca_basic_aes.c b/lib/basic/atca_basic_aes.c index 0353d222a..3d52fe058 100644 --- a/lib/basic/atca_basic_aes.c +++ b/lib/basic/atca_basic_aes.c @@ -34,6 +34,9 @@ */ #include "atca_basic.h" #include "atca_execution.h" +#ifdef _WIN32 +#include +#endif /** \brief Compute the AES-128 encrypt, decrypt, or GFM calculation. @@ -148,459 +151,3 @@ ATCA_STATUS atcab_aes_gfm(const uint8_t* h, const uint8_t* input, uint8_t* outpu // KeyID is ignored for GFM mode return atcab_aes(AES_MODE_GFM, 0x0000, aes_in, output); } - -/** \brief Initialize context for AES CBC operation. - * - * \param[in] ctx AES CBC context to be initialized - * \param[in] key_id Key location. Can either be a slot number or - * ATCA_TEMPKEY_KEYID for TempKey. - * \param[in] key_block Index of the 16-byte block to use within the key - * location for the actual key. - * \param[in] iv Initialization vector (16 bytes). - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cbc_init(atca_aes_cbc_ctx_t* ctx, uint16_t key_id, uint8_t key_block, const uint8_t* iv) -{ - if (ctx == NULL || iv == NULL) - { - return ATCA_BAD_PARAM; - } - - memset(ctx, 0, sizeof(*ctx)); - ctx->key_id = key_id; - ctx->key_block = key_block; - memcpy(ctx->ciphertext, iv, sizeof(ctx->ciphertext)); - - return ATCA_SUCCESS; -} - -/** \brief Encrypt a block of data using CBC mode and a key within the - * ATECC608A. atcab_aes_cbc_init() should be called before the - * first use of this function. - * - * \param[in] ctx AES CBC context. - * \param[in] plaintext Plaintext to be encrypted (16 bytes). - * \param[out] ciphertext Encrypted data is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext) -{ - uint8_t input[AES_DATA_SIZE]; - int i; - ATCA_STATUS status = ATCA_SUCCESS; - - if (ctx == NULL || plaintext == NULL || ciphertext == NULL) - { - return ATCA_BAD_PARAM; - } - - // XOR plaintext with previous block's ciphertext to get input value to block encrypt - for (i = 0; i < AES_DATA_SIZE; i++) - { - input[i] = plaintext[i] ^ ctx->ciphertext[i]; - } - - // Block encrypt of input data - status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, input, ciphertext); - if (status != ATCA_SUCCESS) - { - return status; - } - - // Save copy of ciphertext for next block operation - memcpy(ctx->ciphertext, ciphertext, AES_DATA_SIZE); - - return status; -} - -/** \brief Decrypt a block of data using CBC mode and a key within the - * ATECC608A. atcab_aes_cbc_init() should be called before the - * first use of this function. - * - * \param[in] ctx AES CBC context. - * \param[in] ciphertext Ciphertext to be decrypted (16 bytes). - * \param[out] plaintext Decrypted data is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext) -{ - uint8_t output[AES_DATA_SIZE]; - int i; - ATCA_STATUS status = ATCA_SUCCESS; - - if (ctx == NULL || ciphertext == NULL || plaintext == NULL) - { - return ATCA_BAD_PARAM; - } - - // Block decrypt of ciphertext - status = atcab_aes_decrypt(ctx->key_id, ctx->key_block, ciphertext, output); - if (status != ATCA_SUCCESS) - { - return status; - } - - // XOR output with previous block's ciphertext to get plaintext - for (i = 0; i < AES_DATA_SIZE; i++) - { - plaintext[i] = output[i] ^ ctx->ciphertext[i]; - } - - // Save copy of ciphertext for next block operation - memcpy(ctx->ciphertext, ciphertext, AES_DATA_SIZE); - - return status; -} - -static const uint8_t g_aes_zero_block[AES_DATA_SIZE] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -/** \brief Initialize a CMAC calculation using an AES-128 key in the ATECC608A. - * - * \param[in] ctx AES-128 CMAC context. - * \param[in] key_id Key location. Can either be a slot number or - * ATCA_TEMPKEY_KEYID for TempKey. - * \param[in] key_block Index of the 16-byte block to use within the key - * location for the actual key. - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cmac_init(atca_aes_cmac_ctx_t* ctx, uint16_t key_id, uint8_t key_block) -{ - if (ctx == NULL) - { - return ATCA_BAD_PARAM; - } - memset(ctx, 0, sizeof(*ctx)); - // IV for CMAC CBC calculations is all zeros - return atcab_aes_cbc_init(&ctx->cbc_ctx, key_id, key_block, g_aes_zero_block); -} - -/** \brief Add data to an initialized CMAC calculation. - * - * \param[in] ctx AES-128 CMAC context. - * \param[in] data Data to be added. - * \param[in] data_size Size of the data to be added in bytes. - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cmac_update(atca_aes_cmac_ctx_t* ctx, const uint8_t* data, uint32_t data_size) -{ - uint32_t rem_size = AES_DATA_SIZE - ctx->block_size; - uint32_t copy_size = data_size > rem_size ? rem_size : data_size; - ATCA_STATUS status = ATCA_SUCCESS; - uint8_t ciphertext[AES_DATA_SIZE]; - uint32_t block_count; - uint32_t i; - - if (ctx == NULL || (data == NULL && data_size > 0)) - { - return ATCA_BAD_PARAM; - } - - memcpy(&ctx->block[ctx->block_size], data, copy_size); - - if (ctx->block_size + data_size < AES_DATA_SIZE + 1) - { - // The last block of a CMAC operation is handled specially, so we don't - // process a complete block unless we know there's data afterwards. - ctx->block_size += data_size; - return ATCA_SUCCESS; - } - - // Process the current block - status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, ctx->block, ciphertext); - if (status != ATCA_SUCCESS) - { - return status; - } - - // Process any additional blocks - data_size -= copy_size; // Adjust to the remaining message bytes - block_count = data_size / AES_DATA_SIZE; - if (block_count > 0 && data_size % AES_DATA_SIZE == 0) - { - block_count--; // Don't process last block because it may need special handling - } - for (i = 0; i < block_count; i++) - { - status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, &data[copy_size + i * AES_DATA_SIZE], ciphertext); - if (status != ATCA_SUCCESS) - { - return status; - } - data_size -= AES_DATA_SIZE; - } - - // Save any remaining data - ctx->block_size = data_size; - memcpy(ctx->block, &data[copy_size + block_count * AES_DATA_SIZE], ctx->block_size); - - return ATCA_SUCCESS; -} - -/** \brief Left shift an MSB buffer by 1 bit. - * - * \param[inout] data Data to left shift. - * \param[in] data_size Size of data in bytes. - */ -static void left_shift_one(uint8_t* data, size_t data_size) -{ - size_t i; - - for (i = 0; i < data_size; i++) - { - data[i] = data[i] << 1; - if (i + 1 < data_size && data[i + 1] & 0x80) - { - data[i] |= 0x01; // Next byte has a bit that needs to be shifted into this one - } - } -} - -/** \brief Finish a CMAC operation returning the CMAC value. - * - * \param[in] ctx AES-128 CMAC context. - * \param[out] cmac CMAC is returned here. - * \param[in] cmac_size Size of CMAC requested in bytes (max 16 bytes). - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_cmac_finish(atca_aes_cmac_ctx_t* ctx, uint8_t* cmac, uint32_t cmac_size) -{ - uint32_t i; - uint8_t subkey[AES_DATA_SIZE]; - ATCA_STATUS status = ATCA_SUCCESS; - bool is_msb_one; - uint8_t cmac_full[AES_DATA_SIZE]; - - if (ctx == NULL || cmac == NULL || cmac_size > AES_DATA_SIZE) - { - return ATCA_BAD_PARAM; - } - - // Calculate L as AES Encrypt of an all zero block - status = atcab_aes_encrypt(ctx->cbc_ctx.key_id, ctx->cbc_ctx.key_block, g_aes_zero_block, subkey); - if (status != ATCA_SUCCESS) - { - return status; - } - - // Calculate subkey 1 - is_msb_one = (subkey[0] & 0x80); - left_shift_one(subkey, sizeof(subkey)); // L << 1 - if (is_msb_one) - { - subkey[AES_DATA_SIZE - 1] ^= 0x87; // (L << 1) XOR R128 - } - - if (ctx->block_size != AES_DATA_SIZE) - { - // Data is not a complete block, we calculate subkey 2 - is_msb_one = (subkey[0] & 0x80); - left_shift_one(subkey, sizeof(subkey)); // K1 << 1 - if (is_msb_one) - { - subkey[AES_DATA_SIZE - 1] ^= 0x87; // (K1 << 1) XOR R128 - } - - // Pad out an incomplete block starting with a 1 bit, followed by zeros - for (i = 0; i < AES_DATA_SIZE - ctx->block_size; i++) - { - ctx->block[ctx->block_size + i] = (i == 0 ? 0x80 : 0x00); - } - } - - // XOR last block with subkey - for (i = 0; i < AES_DATA_SIZE; i++) - { - ctx->block[i] ^= subkey[i]; - } - - // Process last block - status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, ctx->block, cmac_full); - if (status != ATCA_SUCCESS) - { - return status; - } - - memcpy(cmac, cmac_full, cmac_size); - - return ATCA_SUCCESS; -} - -/** \brief Initialize context for AES CTR operation with an existing IV, which - * is common when start a decrypt operation. - * - * The IV is a combination of nonce (left-field) and big-endian counter - * (right-field). The counter_size field sets the size of the counter and the - * remaining bytes are assumed to be the nonce. - * - * \param[in] ctx AES CTR context to be initialized. - * \param[in] key_id Key location. Can either be a slot number or - * ATCA_TEMPKEY_KEYID for TempKey. - * \param[in] key_block Index of the 16-byte block to use within the key - * location for the actual key. - * \param[in] counter_size Size of counter in IV in bytes. 4 bytes is a - * common size. - * \param[in] iv Initialization vector (concatenation of nonce and - * counter) 16 bytes. - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_ctr_init(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t* iv) -{ - if (ctx == NULL || iv == NULL || counter_size > AES_DATA_SIZE) - { - return ATCA_BAD_PARAM; - } - memset(ctx, 0, sizeof(*ctx)); - ctx->key_id = key_id; - ctx->key_block = key_block; - ctx->counter_size = counter_size; - memcpy(ctx->iv, iv, AES_DATA_SIZE); - - return ATCA_SUCCESS; -} - -/** \brief Initialize context for AES CTR operation with a random nonce and - * counter set to 0 as the IV, which is common when starting an - * encrypt operation. - * - * The IV is a combination of nonce (left-field) and big-endian counter - * (right-field). The counter_size field sets the size of the counter and the - * remaining bytes are assumed to be the nonce. - * - * \param[in] ctx AES CTR context to be initialized. - * \param[in] key_id Key location. Can either be a slot number or - * ATCA_TEMPKEY_KEYID for TempKey. - * \param[in] key_block Index of the 16-byte block to use within the key - * location for the actual key. - * \param[in] counter_size Size of counter in IV in bytes. 4 bytes is a - * common size. - * \param[out] iv Initialization vector (concatenation of nonce and - * counter) is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, otherwise an error code. - */ -ATCA_STATUS atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t* iv) -{ - ATCA_STATUS status = ATCA_SUCCESS; - - if (ctx == NULL || iv == NULL || counter_size > AES_DATA_SIZE) - { - return ATCA_BAD_PARAM; - } - memset(ctx, 0, sizeof(*ctx)); - ctx->key_id = key_id; - ctx->key_block = key_block; - ctx->counter_size = counter_size; - - // Generate random nonce - uint8_t nonce_size = AES_DATA_SIZE - ctx->counter_size; - if (nonce_size != 0) - { - uint8_t random_nonce[32]; - status = atcab_random(random_nonce); - if (status != ATCA_SUCCESS) - { - return status; - } - memcpy(iv, random_nonce, nonce_size); - } - memcpy(ctx->iv, iv, AES_DATA_SIZE); - - return ATCA_SUCCESS; -} - -/** \brief Process a block of data using CTR mode and a key within the - * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() - * should be called before the first use of this function. - * - * \param[in] ctx AES CTR context structure. - * \param[in] input Input data to be processed (16 bytes). - * \param[out] output Output data is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, - * otherwise an error code. - */ -ATCA_STATUS atcab_aes_ctr_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* input, uint8_t* output) -{ - uint8_t i; - ATCA_STATUS status = ATCA_SUCCESS; - uint8_t encrypted_counter[AES_DATA_SIZE]; - - if (ctx == NULL || input == NULL || output == NULL) - { - return ATCA_BAD_PARAM; - } - - // Block encrypt of IV (128 bits) - status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, ctx->iv, encrypted_counter); - if (status != ATCA_SUCCESS) - { - return status; - } - - // XOR output of AES encrypt with input to get output - for (i = 0; i < AES_DATA_SIZE; i++) - { - output[i] = encrypted_counter[i] ^ input[i]; - } - - // Increment the big-endian counter value - // The range checks for AES_DATA_SIZE catches a corrupted counter_size - // that's larger than AES_DATA_SIZE and prevents buffer overrun on the iv - // buffer. - for (i = 0; i < ctx->counter_size && i < AES_DATA_SIZE; i++) - { - // Counter is right-aligned in the iv buffer - if (++(ctx->iv[AES_DATA_SIZE - i - 1]) != 0) - { - break; - } - } - if (i >= ctx->counter_size || i >= AES_DATA_SIZE) - { - return ATCA_INVALID_SIZE; // Counter overflowed - } - - return status; -} - -/** \brief Encrypt a block of data using CTR mode and a key within the - * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() - * should be called before the first use of this function. - * - * \param[in] ctx AES CTR context structure. - * \param[in] plaintext Plaintext to be encrypted (16 bytes). - * \param[out] ciphertext Encrypted data is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, - * otherwise an error code. - */ -ATCA_STATUS atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext) -{ - return atcab_aes_ctr_block(ctx, plaintext, ciphertext); -} - -/** \brief Decrypt a block of data using CTR mode and a key within the - * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() - * should be called before the first use of this function. - * - * \param[in] ctx AES CTR context structure. - * \param[in] ciphertext Ciphertext to be decrypted (16 bytes). - * \param[out] plaintext Decrypted data is returned here (16 bytes). - * - * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, - * otherwise an error code. - */ -ATCA_STATUS atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext) -{ - return atcab_aes_ctr_block(ctx, ciphertext, plaintext); -} \ No newline at end of file diff --git a/lib/basic/atca_basic_aes_cbc.c b/lib/basic/atca_basic_aes_cbc.c new file mode 100644 index 000000000..ffbef5399 --- /dev/null +++ b/lib/basic/atca_basic_aes_cbc.c @@ -0,0 +1,144 @@ +/** + * \file + * \brief CryptoAuthLib Basic API methods for AES CBC mode. + * + * The AES command supports 128-bit AES encryption or decryption of small + * messages or data packets in ECB mode. Also can perform GFM (Galois Field + * Multiply) calculation in support of AES-GCM. + * + * \note List of devices that support this command - ATECC608A. Refer to device + * datasheet for full details. + * + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include "atca_basic.h" +#ifdef _WIN32 +#include +#endif + +/** \brief Initialize context for AES CBC operation. + * + * \param[in] ctx AES CBC context to be initialized + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the key + * location for the actual key. + * \param[in] iv Initialization vector (16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cbc_init(atca_aes_cbc_ctx_t* ctx, uint16_t key_id, uint8_t key_block, const uint8_t* iv) +{ + if (ctx == NULL || iv == NULL) + { + return ATCA_BAD_PARAM; + } + + memset(ctx, 0, sizeof(*ctx)); + ctx->key_id = key_id; + ctx->key_block = key_block; + memcpy(ctx->ciphertext, iv, sizeof(ctx->ciphertext)); + + return ATCA_SUCCESS; +} + +/** \brief Encrypt a block of data using CBC mode and a key within the + * ATECC608A. atcab_aes_cbc_init() should be called before the + * first use of this function. + * + * \param[in] ctx AES CBC context. + * \param[in] plaintext Plaintext to be encrypted (16 bytes). + * \param[out] ciphertext Encrypted data is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cbc_encrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext) +{ + uint8_t input[AES_DATA_SIZE]; + int i; + ATCA_STATUS status = ATCA_SUCCESS; + + if (ctx == NULL || plaintext == NULL || ciphertext == NULL) + { + return ATCA_BAD_PARAM; + } + + // XOR plaintext with previous block's ciphertext to get input value to block encrypt + for (i = 0; i < AES_DATA_SIZE; i++) + { + input[i] = plaintext[i] ^ ctx->ciphertext[i]; + } + + // Block encrypt of input data + status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, input, ciphertext); + if (status != ATCA_SUCCESS) + { + return status; + } + + // Save copy of ciphertext for next block operation + memcpy(ctx->ciphertext, ciphertext, AES_DATA_SIZE); + + return status; +} + +/** \brief Decrypt a block of data using CBC mode and a key within the + * ATECC608A. atcab_aes_cbc_init() should be called before the + * first use of this function. + * + * \param[in] ctx AES CBC context. + * \param[in] ciphertext Ciphertext to be decrypted (16 bytes). + * \param[out] plaintext Decrypted data is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cbc_decrypt_block(atca_aes_cbc_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext) +{ + uint8_t output[AES_DATA_SIZE]; + int i; + ATCA_STATUS status = ATCA_SUCCESS; + + if (ctx == NULL || ciphertext == NULL || plaintext == NULL) + { + return ATCA_BAD_PARAM; + } + + // Block decrypt of ciphertext + status = atcab_aes_decrypt(ctx->key_id, ctx->key_block, ciphertext, output); + if (status != ATCA_SUCCESS) + { + return status; + } + + // XOR output with previous block's ciphertext to get plaintext + for (i = 0; i < AES_DATA_SIZE; i++) + { + plaintext[i] = output[i] ^ ctx->ciphertext[i]; + } + + // Save copy of ciphertext for next block operation + memcpy(ctx->ciphertext, ciphertext, AES_DATA_SIZE); + + return status; +} diff --git a/lib/basic/atca_basic_aes_cmac.c b/lib/basic/atca_basic_aes_cmac.c new file mode 100644 index 000000000..44bf1ce17 --- /dev/null +++ b/lib/basic/atca_basic_aes_cmac.c @@ -0,0 +1,218 @@ +/** + * \file + * \brief CryptoAuthLib Basic API methods for AES CBC_MAC mode. + * + * The AES command supports 128-bit AES encryption or decryption of small + * messages or data packets in ECB mode. Also can perform GFM (Galois Field + * Multiply) calculation in support of AES-GCM. + * + * \note List of devices that support this command - ATECC608A. Refer to device + * datasheet for full details. + * + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include "atca_basic.h" +#ifdef _WIN32 +#include +#endif + +static const uint8_t g_aes_zero_block[AES_DATA_SIZE] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/** \brief Initialize a CMAC calculation using an AES-128 key in the ATECC608A. + * + * \param[in] ctx AES-128 CMAC context. + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the key + * location for the actual key. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cmac_init(atca_aes_cmac_ctx_t* ctx, uint16_t key_id, uint8_t key_block) +{ + if (ctx == NULL) + { + return ATCA_BAD_PARAM; + } + memset(ctx, 0, sizeof(*ctx)); + // IV for CMAC CBC calculations is all zeros + return atcab_aes_cbc_init(&ctx->cbc_ctx, key_id, key_block, g_aes_zero_block); +} + +/** \brief Add data to an initialized CMAC calculation. + * + * \param[in] ctx AES-128 CMAC context. + * \param[in] data Data to be added. + * \param[in] data_size Size of the data to be added in bytes. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cmac_update(atca_aes_cmac_ctx_t* ctx, const uint8_t* data, uint32_t data_size) +{ + uint32_t rem_size = AES_DATA_SIZE - ctx->block_size; + uint32_t copy_size = data_size > rem_size ? rem_size : data_size; + ATCA_STATUS status = ATCA_SUCCESS; + uint8_t ciphertext[AES_DATA_SIZE]; + uint32_t block_count; + uint32_t i; + + if (ctx == NULL || (data == NULL && data_size > 0)) + { + return ATCA_BAD_PARAM; + } + + memcpy(&ctx->block[ctx->block_size], data, copy_size); + + if (ctx->block_size + data_size < AES_DATA_SIZE + 1) + { + // The last block of a CMAC operation is handled specially, so we don't + // process a complete block unless we know there's data afterwards. + ctx->block_size += data_size; + return ATCA_SUCCESS; + } + + // Process the current block + status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, ctx->block, ciphertext); + if (status != ATCA_SUCCESS) + { + return status; + } + + // Process any additional blocks + data_size -= copy_size; // Adjust to the remaining message bytes + block_count = data_size / AES_DATA_SIZE; + if (block_count > 0 && data_size % AES_DATA_SIZE == 0) + { + block_count--; // Don't process last block because it may need special handling + } + for (i = 0; i < block_count; i++) + { + status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, &data[copy_size + i * AES_DATA_SIZE], ciphertext); + if (status != ATCA_SUCCESS) + { + return status; + } + data_size -= AES_DATA_SIZE; + } + + // Save any remaining data + ctx->block_size = data_size; + memcpy(ctx->block, &data[copy_size + block_count * AES_DATA_SIZE], ctx->block_size); + + return ATCA_SUCCESS; +} + +/** \brief Left shift an MSB buffer by 1 bit. + * + * \param[inout] data Data to left shift. + * \param[in] data_size Size of data in bytes. + */ +static void left_shift_one(uint8_t* data, size_t data_size) +{ + size_t i; + + for (i = 0; i < data_size; i++) + { + data[i] = data[i] << 1; + if (i + 1 < data_size && data[i + 1] & 0x80) + { + data[i] |= 0x01; // Next byte has a bit that needs to be shifted into this one + } + } +} + +/** \brief Finish a CMAC operation returning the CMAC value. + * + * \param[in] ctx AES-128 CMAC context. + * \param[out] cmac CMAC is returned here. + * \param[in] cmac_size Size of CMAC requested in bytes (max 16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_cmac_finish(atca_aes_cmac_ctx_t* ctx, uint8_t* cmac, uint32_t cmac_size) +{ + uint32_t i; + uint8_t subkey[AES_DATA_SIZE]; + ATCA_STATUS status = ATCA_SUCCESS; + bool is_msb_one; + uint8_t cmac_full[AES_DATA_SIZE]; + + if (ctx == NULL || cmac == NULL || cmac_size > AES_DATA_SIZE) + { + return ATCA_BAD_PARAM; + } + + // Calculate L as AES Encrypt of an all zero block + status = atcab_aes_encrypt(ctx->cbc_ctx.key_id, ctx->cbc_ctx.key_block, g_aes_zero_block, subkey); + if (status != ATCA_SUCCESS) + { + return status; + } + + // Calculate subkey 1 + is_msb_one = (subkey[0] & 0x80); + left_shift_one(subkey, sizeof(subkey)); // L << 1 + if (is_msb_one) + { + subkey[AES_DATA_SIZE - 1] ^= 0x87; // (L << 1) XOR R128 + } + + if (ctx->block_size != AES_DATA_SIZE) + { + // Data is not a complete block, we calculate subkey 2 + is_msb_one = (subkey[0] & 0x80); + left_shift_one(subkey, sizeof(subkey)); // K1 << 1 + if (is_msb_one) + { + subkey[AES_DATA_SIZE - 1] ^= 0x87; // (K1 << 1) XOR R128 + } + + // Pad out an incomplete block starting with a 1 bit, followed by zeros + for (i = 0; i < AES_DATA_SIZE - ctx->block_size; i++) + { + ctx->block[ctx->block_size + i] = (i == 0 ? 0x80 : 0x00); + } + } + + // XOR last block with subkey + for (i = 0; i < AES_DATA_SIZE; i++) + { + ctx->block[i] ^= subkey[i]; + } + + // Process last block + status = atcab_aes_cbc_encrypt_block(&ctx->cbc_ctx, ctx->block, cmac_full); + if (status != ATCA_SUCCESS) + { + return status; + } + + memcpy(cmac, cmac_full, cmac_size); + + return ATCA_SUCCESS; +} + diff --git a/lib/basic/atca_basic_aes_ctr.c b/lib/basic/atca_basic_aes_ctr.c new file mode 100644 index 000000000..ba931a383 --- /dev/null +++ b/lib/basic/atca_basic_aes_ctr.c @@ -0,0 +1,229 @@ +/** + * \file + * \brief CryptoAuthLib Basic API methods for AES CTR mode. + * + * The AES command supports 128-bit AES encryption or decryption of small + * messages or data packets in ECB mode. Also can perform GFM (Galois Field + * Multiply) calculation in support of AES-GCM. + * + * \note List of devices that support this command - ATECC608A. Refer to device + * datasheet for full details. + * + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include "basic/atca_basic.h" + +/** \brief Initialize context for AES CTR operation with an existing IV, which + * is common when start a decrypt operation. + * + * The IV is a combination of nonce (left-field) and big-endian counter + * (right-field). The counter_size field sets the size of the counter and the + * remaining bytes are assumed to be the nonce. + * + * \param[in] ctx AES CTR context to be initialized. + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the key + * location for the actual key. + * \param[in] counter_size Size of counter in IV in bytes. 4 bytes is a + * common size. + * \param[in] iv Initialization vector (concatenation of nonce and + * counter) 16 bytes. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_init(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, const uint8_t* iv) +{ + if (ctx == NULL || iv == NULL || counter_size > AES_DATA_SIZE) + { + return ATCA_BAD_PARAM; + } + memset(ctx, 0, sizeof(*ctx)); + ctx->key_id = key_id; + ctx->key_block = key_block; + ctx->counter_size = counter_size; + memcpy(ctx->cb, iv, AES_DATA_SIZE); + + return ATCA_SUCCESS; +} + +/** \brief Initialize context for AES CTR operation with a random nonce and + * counter set to 0 as the IV, which is common when starting an + * encrypt operation. + * + * The IV is a combination of nonce (left-field) and big-endian counter + * (right-field). The counter_size field sets the size of the counter and the + * remaining bytes are assumed to be the nonce. + * + * \param[in] ctx AES CTR context to be initialized. + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the key + * location for the actual key. + * \param[in] counter_size Size of counter in IV in bytes. 4 bytes is a + * common size. + * \param[out] iv Initialization vector (concatenation of nonce and + * counter) is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_init_rand(atca_aes_ctr_ctx_t* ctx, uint16_t key_id, uint8_t key_block, uint8_t counter_size, uint8_t* iv) +{ + ATCA_STATUS status = ATCA_SUCCESS; + + if (ctx == NULL || iv == NULL || counter_size > AES_DATA_SIZE) + { + return ATCA_BAD_PARAM; + } + memset(ctx, 0, sizeof(*ctx)); + ctx->key_id = key_id; + ctx->key_block = key_block; + ctx->counter_size = counter_size; + + // Generate random nonce + uint8_t nonce_size = AES_DATA_SIZE - ctx->counter_size; + if (nonce_size != 0) + { + uint8_t random_nonce[32]; + status = atcab_random(random_nonce); + if (status != ATCA_SUCCESS) + { + return status; + } + memcpy(iv, random_nonce, nonce_size); + } + memcpy(ctx->cb, iv, AES_DATA_SIZE); + + return ATCA_SUCCESS; +} + +/** \brief Increments AES CTR counter value. + * + * \param[in,out] ctx AES CTR context + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_increment(atca_aes_ctr_ctx_t* ctx) +{ + size_t i; + + if (ctx == NULL || ctx->counter_size > AES_DATA_SIZE) + { + return ATCA_BAD_PARAM; + } + + // Increment the big-endian counter value + for (i = 0; i < ctx->counter_size; i++) + { + // Counter is right-aligned in buffer + if (++(ctx->cb[AES_DATA_SIZE - i - 1]) != 0) + { + break; + } + } + if (i >= ctx->counter_size) + { + // Counter overflowed + memset(&ctx->cb[AES_DATA_SIZE - ctx->counter_size], 0, ctx->counter_size); + } + + return ATCA_SUCCESS; +} + +/** \brief Process a block of data using CTR mode and a key within the + * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() + * should be called before the first use of this function. + * + * \param[in] ctx AES CTR context structure. + * \param[in] input Input data to be processed (16 bytes). + * \param[out] output Output data is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, + * otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* input, uint8_t* output) +{ + uint8_t i; + ATCA_STATUS status = ATCA_SUCCESS; + uint8_t encrypted_counter[AES_DATA_SIZE]; + + if (ctx == NULL || input == NULL || output == NULL) + { + return ATCA_BAD_PARAM; + } + + // Block encrypt of counter block (128 bits) + status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, ctx->cb, encrypted_counter); + if (status != ATCA_SUCCESS) + { + return status; + } + + // XOR output of AES encrypt with input to get output + for (i = 0; i < AES_DATA_SIZE; i++) + { + output[i] = encrypted_counter[i] ^ input[i]; + } + + status = atcab_aes_ctr_increment(ctx); + if (status != ATCA_SUCCESS) + { + return status; + } + + return status; +} + +/** \brief Encrypt a block of data using CTR mode and a key within the + * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() + * should be called before the first use of this function. + * + * \param[in] ctx AES CTR context structure. + * \param[in] plaintext Plaintext to be encrypted (16 bytes). + * \param[out] ciphertext Encrypted data is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, + * otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_encrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* plaintext, uint8_t* ciphertext) +{ + return atcab_aes_ctr_block(ctx, plaintext, ciphertext); +} + +/** \brief Decrypt a block of data using CTR mode and a key within the + * ATECC608A device. atcab_aes_ctr_init() or atcab_aes_ctr_init_rand() + * should be called before the first use of this function. + * + * \param[in] ctx AES CTR context structure. + * \param[in] ciphertext Ciphertext to be decrypted (16 bytes). + * \param[out] plaintext Decrypted data is returned here (16 bytes). + * + * \return ATCA_SUCCESS on success, ATCA_INVALID_SIZE on counter overflow, + * otherwise an error code. + */ +ATCA_STATUS atcab_aes_ctr_decrypt_block(atca_aes_ctr_ctx_t* ctx, const uint8_t* ciphertext, uint8_t* plaintext) +{ + return atcab_aes_ctr_block(ctx, ciphertext, plaintext); +} + diff --git a/lib/basic/atca_basic_aes_gcm.c b/lib/basic/atca_basic_aes_gcm.c new file mode 100644 index 000000000..c5d5f15d5 --- /dev/null +++ b/lib/basic/atca_basic_aes_gcm.c @@ -0,0 +1,577 @@ +/** + * \file + * \brief CryptoAuthLib Basic API methods for AES GCM mode. + * + * The AES command supports 128-bit AES encryption or decryption of small + * messages or data packets in ECB mode. Also can perform GFM (Galois Field + * Multiply) calculation in support of AES-GCM. + * + * \note List of devices that support this command - ATECC608A. Refer to device + * datasheet for full details. + * + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include "atca_basic_aes_gcm.h" +#include "atca_compiler.h" + +const char* atca_basic_aes_gcm_version = "1.0"; + +/** \brief Performs running GHASH calculations using the current hash value, + * hash subkey, and data received. In case of partial blocks, the last + * block is padded with zeros to get the output. + * + * \param[in] h Subkey to use in GHASH calculations. + * \param[in] data Input data to hash. + * \param[in] data_size Data size in bytes. + * \param[in,out] y As input, current hash value. As output, the new + * hash output. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +static ATCA_STATUS atcab_aes_ghash(const uint8_t* h, const uint8_t* data, size_t data_size, uint8_t* y) +{ + ATCA_STATUS status; + uint8_t pad_bytes[AES_DATA_SIZE]; + size_t xor_index; + + if (h == NULL || data == NULL || y == NULL) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + if (data_size == 0) + { + return ATCA_SUCCESS; + } + + while (data_size / AES_DATA_SIZE) + { + for (xor_index = 0; xor_index < AES_DATA_SIZE; xor_index++) + { + y[xor_index] ^= *data++; + } + + if (ATCA_SUCCESS != (status = atcab_aes_gfm(h, y, y))) + { + RETURN(status, "GHASH GFM (full block) failed"); + } + + data_size -= AES_DATA_SIZE; + } + + if (data_size) + { + memcpy(pad_bytes, data, data_size); + memset(&pad_bytes[data_size], 0, sizeof(pad_bytes) - data_size); + + for (xor_index = 0; xor_index < AES_DATA_SIZE; xor_index++) + { + y[xor_index] ^= pad_bytes[xor_index]; + } + + if (ATCA_SUCCESS != (status = atcab_aes_gfm(h, y, y))) + { + RETURN(status, "GHASH GFM (partial block) failed"); + } + } + + return ATCA_SUCCESS; +} + +/** \brief Increments AES GCM counter value. + * + * \param[in,out] cb AES GCM counter block to be incremented + * (16 bytes). + * \param[in] counter_size Counter size in bytes. Should be 4 for GCM. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +static ATCA_STATUS atcab_aes_gcm_increment(uint8_t* cb, size_t counter_size) +{ + size_t i; + + if (cb == NULL) + { + return ATCA_BAD_PARAM; + } + + // Not converting to uint32_t and incrementing as there may be alignment + // issues with the cb buffer + + // Increment the big-endian counter value + for (i = 0; i < counter_size; i++) + { + // Counter is right-aligned in buffer + if (++(cb[AES_DATA_SIZE - i - 1]) != 0) + { + break; + } + } + if (i >= counter_size) + { + // Counter overflowed + memset(&cb[AES_DATA_SIZE - counter_size], 0, counter_size); + } + + return ATCA_SUCCESS; +} + +/** \brief Initialize context for AES GCM operation with an existing IV, which + * is common when starting a decrypt operation. + * + * \param[in] ctx AES GCM context to be initialized. + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the key + * location for the actual key. + * \param[in] iv Initialization vector. + * \param[in] iv_size Size of IV in bytes. Standard is 12 bytes. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_init(atca_aes_gcm_ctx_t* ctx, uint16_t key_id, uint8_t key_block, const uint8_t* iv, size_t iv_size) +{ + ATCA_STATUS status; + uint8_t ghash_data[AES_DATA_SIZE]; + uint32_t length; + + if (ctx == NULL || iv == NULL || iv_size == 0) + { + RETURN(ATCA_BAD_PARAM, "GCM init failed; Either null pointer or 0 iv_size"); + } + + memset(ctx, 0, sizeof(*ctx)); + + //Calculate H = CIPHK(0^128) + if (ATCA_SUCCESS != (status = atcab_aes_encrypt(key_id, key_block, ctx->h, ctx->h))) + { + RETURN(status, "GCM - H failed"); + } + + //Calculate J0 + if (iv_size == ATCA_AES_GCM_IV_STD_LENGTH) + { + //J0 = IV || 0^31 ||1. + memcpy(ctx->j0, iv, iv_size); + ctx->j0[AES_DATA_SIZE - 1] = 0x01; + } + else + { + //J0=GHASH(H, IV||0^(s+64)||[len(IV)]64) + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, iv, iv_size, ctx->j0))) + { + RETURN(status, "GCM - J0 (IV) failed"); + } + + memset(ghash_data, 0, AES_DATA_SIZE); + length = ATCA_UINT32_HOST_TO_BE((uint32_t)(iv_size * 8)); + memcpy(&ghash_data[12], &length, sizeof(length)); + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ghash_data, sizeof(ghash_data), ctx->j0))) + { + RETURN(status, "GCM - J0 (IV Size) failed"); + } + } + + ctx->key_id = key_id; + ctx->key_block = key_block; + memcpy(ctx->cb, ctx->j0, AES_DATA_SIZE); + + if (ATCA_SUCCESS != (status = atcab_aes_gcm_increment(ctx->cb, 4))) + { + RETURN(status, "GCM CTR increment failed"); + } + + return ATCA_SUCCESS; +} + +/** \brief Initialize context for AES GCM operation with a IV composed of a + * random and optional fixed(free) field, which is common when + * starting an encrypt operation. + * + * \param[in] ctx AES CTR context to be initialized. + * \param[in] key_id Key location. Can either be a slot number or + * ATCA_TEMPKEY_KEYID for TempKey. + * \param[in] key_block Index of the 16-byte block to use within the + * key location for the actual key. + * \param[in] rand_size Size of the random field in bytes. Minimum and + * recommended size is 12 bytes. Max is 32 bytes. + * \param[in] free_field Fixed data to include in the IV after the + * random field. Can be NULL if not used. + * \param[in] free_field_size Size of the free field in bytes. + * \param[out] iv Initialization vector is returned here. Its + * size will be rand_size and free_field_size + * combined. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t* ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, + const uint8_t* free_field, size_t free_field_size, uint8_t* iv) +{ + ATCA_STATUS status; + uint8_t random[RANDOM_NUM_SIZE]; + + if (ctx == NULL || iv == NULL || (free_field_size > 0 && free_field == NULL)) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + // 800-38D 8.2.2 specifies a minimum rand_field size of 12 bytes (96 bits) + if (rand_size < 12 || rand_size > RANDOM_NUM_SIZE) + { + RETURN(ATCA_BAD_PARAM, "Bad rand_size"); + } + + if (ATCA_SUCCESS != (status = atcab_random(random))) + { + RETURN(status, "GCM init rand - Random Generation failed"); + } + memcpy(iv, random, rand_size); + memcpy(&iv[rand_size], free_field, free_field_size); + + if (ATCA_SUCCESS != (status = atcab_aes_gcm_init(ctx, key_id, key_block, iv, rand_size + free_field_size))) + { + RETURN(status, "GCM init failed"); + } + + return ATCA_SUCCESS; +} + +/** \brief Process Additional Authenticated Data (AAD) using GCM mode and a + * key within the ATECC608A device. + * + * This can be called multiple times. atcab_aes_gcm_init() or + * atcab_aes_gcm_init_rand() should be called before the first use of this + * function. When there is AAD to include, this should be called before + * atcab_aes_gcm_encrypt_update() or atcab_aes_gcm_decrypt_update(). + * + * \param[in] ctx AES GCM context + * \param[in] aad Additional authenticated data to be added + * \param[in] aad_size Size of aad in bytes + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* aad, uint32_t aad_size) +{ + ATCA_STATUS status; + uint32_t block_count; + uint32_t rem_size; + uint32_t copy_size; + + if (ctx == NULL || (aad_size > 0 && aad == NULL)) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + + if (aad_size == 0) + { + return ATCA_SUCCESS; + } + + rem_size = AES_DATA_SIZE - (uint32_t)ctx->partial_aad_size; + copy_size = aad_size > rem_size ? rem_size : aad_size; + + // Copy data into current block + memcpy(&ctx->partial_aad[ctx->partial_aad_size], aad, copy_size); + + if (ctx->partial_aad_size + aad_size < AES_DATA_SIZE) + { + // Not enough data to finish off the current block + ctx->partial_aad_size += aad_size; + return ATCA_SUCCESS; + } + + // Process the current block + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ctx->partial_aad, AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (AAD) failed"); + } + + // Process any additional blocks + aad_size -= copy_size; // Adjust to the remaining aad bytes + block_count = aad_size / AES_DATA_SIZE; + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, &aad[copy_size], block_count * AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (AAD) failed"); + } + + // Save any remaining data + ctx->aad_size += (block_count + 1) * AES_DATA_SIZE; + ctx->partial_aad_size = aad_size % AES_DATA_SIZE; + memcpy(ctx->partial_aad, &aad[copy_size + block_count * AES_DATA_SIZE], ctx->partial_aad_size); + + return ATCA_SUCCESS; +} + +/** \brief Process data using GCM mode and a key within the ATECC608A device. + * atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called + * before the first use of this function. + * + * \param[in] ctx AES GCM context structure. + * \param[in] input Data to be processed. + * \param[in] input_size Size of input in bytes. + * \param[out] output Output data is returned here. + * \param[in] is_encrypt Encrypt operation if true, otherwise decrypt. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +static ATCA_STATUS atcab_aes_gcm_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* input, uint32_t input_size, + uint8_t* output, bool is_encrypt) +{ + ATCA_STATUS status; + uint32_t data_idx; + uint32_t i; + + if (ctx == NULL || (input_size > 0 && (input == NULL || output == NULL))) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + + if (ctx->partial_aad_size > 0) + { + // We have a partial block of AAD that needs to be added + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ctx->partial_aad, ctx->partial_aad_size, ctx->y))) + { + RETURN(status, "GCM - S (AAD partial) failed"); + } + ctx->aad_size += ctx->partial_aad_size; + ctx->partial_aad_size = 0; + } + + if (input_size == 0) + { + // Nothing to do + return ATCA_SUCCESS; + } + + data_idx = 0; + while (data_idx < input_size) + { + if (ctx->data_size % AES_DATA_SIZE == 0) + { + // Need to calculate next encrypted counter block + if (ATCA_SUCCESS != (status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, ctx->cb, ctx->enc_cb))) + { + RETURN(status, "AES GCM CB encrypt failed"); + } + + // Increment counter + if (ATCA_SUCCESS != (status = atcab_aes_gcm_increment(ctx->cb, 4))) + { + RETURN(status, "AES GCM counter increment failed"); + } + } + + // Process data with current encrypted counter block + for (i = ctx->data_size % AES_DATA_SIZE; i < AES_DATA_SIZE && data_idx < input_size; i++, data_idx++) + { + output[data_idx] = input[data_idx] ^ ctx->enc_cb[i]; + // Save the current ciphertext block depending on whether this is an encrypt or decrypt operation + ctx->ciphertext_block[i] = is_encrypt ? output[data_idx] : input[data_idx]; + ctx->data_size += 1; + } + + if (ctx->data_size % AES_DATA_SIZE == 0) + { + // Calculate running hash with completed block + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ctx->ciphertext_block, AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (data) failed"); + } + } + } + + return ATCA_SUCCESS; +} + +/** \brief Encrypt data using GCM mode and a key within the ATECC608A device. + * atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called + * before the first use of this function. + * + * \param[in] ctx AES GCM context structure. + * \param[in] plaintext Plaintext to be encrypted (16 bytes). + * \param[in] plaintext_size Size of plaintext in bytes. + * \param[out] ciphertext Encrypted data is returned here. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* plaintext, uint32_t plaintext_size, uint8_t* ciphertext) +{ + return atcab_aes_gcm_update(ctx, plaintext, plaintext_size, ciphertext, true); +} + +/** \brief Complete GCM operation to generate the authentication tag. + * + * It calculates output block (S) by including AAD size and data size, then + * calculates the tag. This should be called last in a encrypt/decrypt + * operation. + * + * \param[in] ctx AES GCM context structure. + * \param[out] tag Authentication tag is returned here. + * \param[in] tag_size Required size for the tag. Must be 12 to 16 bytes. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +static ATCA_STATUS atcab_aes_gcm_calc_auth_tag(atca_aes_gcm_ctx_t* ctx, uint8_t* tag, size_t tag_size) +{ + ATCA_STATUS status; + size_t xor_index; + uint8_t temp_data[AES_DATA_SIZE]; + uint64_t length; + + if (ctx == NULL || tag == NULL) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + // 800-38D 5.2.1.2 specifies these tags sizes + if (tag_size < 12 || tag_size > 16) + { + RETURN(ATCA_BAD_PARAM, "Invalid tag size"); + } + + memset(temp_data, 0, AES_DATA_SIZE); + length = ATCA_UINT64_HOST_TO_BE(((uint64_t)ctx->aad_size) * 8); + memcpy(&temp_data[0], &length, sizeof(length)); + length = ATCA_UINT64_HOST_TO_BE(((uint64_t)ctx->data_size) * 8); + memcpy(&temp_data[8], &length, sizeof(length)); + + //S = GHASH(H, [len(A)]64 || [len(C)]64)) + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, temp_data, AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (lengths) failed"); + } + + //T = GCTR(J0, S) + if (ATCA_SUCCESS != (status = atcab_aes_encrypt(ctx->key_id, ctx->key_block, ctx->j0, temp_data))) + { + RETURN(status, "Tag GCTR Encryption failed"); + } + + for (xor_index = 0; xor_index < tag_size; xor_index++) + { + tag[xor_index] = temp_data[xor_index] ^ ctx->y[xor_index]; + } + + return ATCA_SUCCESS; +} + +/** \brief Complete a GCM encrypt operation returning the authentication tag. + * + * \param[in] ctx AES GCM context structure. + * \param[out] tag Authentication tag is returned here. + * \param[in] tag_size Tag size in bytes (12 to 16 bytes). + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t* ctx, uint8_t* tag, size_t tag_size) +{ + ATCA_STATUS status; + + if (ctx == NULL) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + + if (ctx->partial_aad_size > 0) + { + // Incomplete AAD with no encrypted data, need to complete AAD hash + if (ATCA_SUCCESS != (status = atcab_aes_gcm_update(ctx, NULL, 0, NULL, true))) + { + RETURN(status, "GCM - S (AAD) failed"); + } + } + + // Update hash with any partial block of ciphertext + //S = GHASH(H, C || 0^u) + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ctx->ciphertext_block, ctx->data_size % AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (C - encrypt update) failed"); + } + + if (ATCA_SUCCESS != (status = atcab_aes_gcm_calc_auth_tag(ctx, tag, tag_size))) + { + RETURN(status, "GCM encrypt tag calculation failed"); + } + + return ATCA_SUCCESS; +} + +/** \brief Decrypt data using GCM mode and a key within the ATECC608A device. + * atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called + * before the first use of this function. + * + * \param[in] ctx AES GCM context structure. + * \param[in] ciphertext Ciphertext to be decrypted. + * \param[in] ciphertext_size Size of ciphertext in bytes. + * \param[out] plaintext Decrypted data is returned here. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* ciphertext, uint32_t ciphertext_size, uint8_t* plaintext) +{ + return atcab_aes_gcm_update(ctx, ciphertext, ciphertext_size, plaintext, false); +} + +/** \brief Complete a GCM decrypt operation verifying the authentication tag. + * + * \param[in] ctx AES GCM context structure. + * \param[in] tag Expected authentication tag. + * \param[in] tag_size Size of tag in bytes (12 to 16 bytes). + * \param[out] is_verified Returns whether or not the tag verified. + * + * \return ATCA_SUCCESS on success, otherwise an error code. + */ +ATCA_STATUS atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t* ctx, const uint8_t* tag, size_t tag_size, bool* is_verified) +{ + ATCA_STATUS status; + uint8_t calc_tag[AES_DATA_SIZE]; + + if (ctx == NULL || is_verified == NULL) + { + RETURN(ATCA_BAD_PARAM, "Null pointer"); + } + *is_verified = false; + + if (ctx->partial_aad_size > 0) + { + // Incomplete AAD with no decrypted data, need to complete AAD hash + if (ATCA_SUCCESS != (status = atcab_aes_gcm_update(ctx, NULL, 0, NULL, false))) + { + RETURN(status, "GCM - S (AAD) failed"); + } + } + + // Update hash with any partial block of ciphertext + //S = GHASH(H, C || 0^u) + if (ATCA_SUCCESS != (status = atcab_aes_ghash(ctx->h, ctx->ciphertext_block, ctx->data_size % AES_DATA_SIZE, ctx->y))) + { + RETURN(status, "GCM - S (C - encrypt update) failed"); + } + + if (ATCA_SUCCESS != (status = atcab_aes_gcm_calc_auth_tag(ctx, calc_tag, tag_size))) + { + RETURN(status, "Tag calculation failed"); + } + + *is_verified = (memcmp(calc_tag, tag, tag_size) == 0); + + return ATCA_SUCCESS; +} diff --git a/lib/basic/atca_basic_aes_gcm.h b/lib/basic/atca_basic_aes_gcm.h new file mode 100644 index 000000000..b1e044f35 --- /dev/null +++ b/lib/basic/atca_basic_aes_gcm.h @@ -0,0 +1,61 @@ +/** + * \file + * \brief Unity tests for the cryptoauthlib AES GCM functions. + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#ifndef ATCA_BASIC_AES_GCM_H_ +#define ATCA_BASIC_AES_GCM_H_ + +#include "cryptoauthlib.h" + +extern const char* atca_basic_aes_gcm_version; + +/** Context structure for AES GCM operations. + */ +typedef struct atca_aes_gcm_ctx +{ + uint16_t key_id; //!< Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. + uint8_t key_block; //!< Index of the 16-byte block to use within the key location for the actual key. + uint8_t cb[AES_DATA_SIZE]; //!< Counter block, comprises of nonce + count value (16 bytes). + uint32_t data_size; //!< Size of the data being encrypted/decrypted in bytes. + uint32_t aad_size; //!< Size of the additional authenticated data in bytes. + uint8_t h[AES_DATA_SIZE]; //!< Subkey for ghash functions in GCM. + uint8_t j0[AES_DATA_SIZE]; //!< Precounter block generated from IV. + uint8_t y[AES_DATA_SIZE]; //!< Current GHASH output + uint8_t partial_aad[AES_DATA_SIZE]; //!< Partial blocks of data waiting to be processed + uint32_t partial_aad_size; //!< Amount of data in the partial block buffer + uint8_t enc_cb[AES_DATA_SIZE]; //!< Last encrypted counter block + uint8_t ciphertext_block[AES_DATA_SIZE]; //!< Last ciphertext block +} atca_aes_gcm_ctx_t; + +ATCA_STATUS atcab_aes_gcm_init(atca_aes_gcm_ctx_t* ctx, uint16_t key_id, uint8_t key_block, const uint8_t* iv, size_t iv_size); +ATCA_STATUS atcab_aes_gcm_init_rand(atca_aes_gcm_ctx_t* ctx, uint16_t key_id, uint8_t key_block, size_t rand_size, + const uint8_t* free_field, size_t free_field_size, uint8_t* iv); +ATCA_STATUS atcab_aes_gcm_aad_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* aad, uint32_t aad_size); +ATCA_STATUS atcab_aes_gcm_encrypt_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* plaintext, uint32_t plaintext_size, uint8_t* ciphertext); +ATCA_STATUS atcab_aes_gcm_encrypt_finish(atca_aes_gcm_ctx_t* ctx, uint8_t* tag, size_t tag_size); +ATCA_STATUS atcab_aes_gcm_decrypt_update(atca_aes_gcm_ctx_t* ctx, const uint8_t* ciphertext, uint32_t ciphertext_size, uint8_t* plaintext); +ATCA_STATUS atcab_aes_gcm_decrypt_finish(atca_aes_gcm_ctx_t* ctx, const uint8_t* tag, size_t tag_size, bool* is_verified); + +#endif \ No newline at end of file diff --git a/lib/crypto/hashes/sha1_routines.h b/lib/crypto/hashes/sha1_routines.h index c9a56e21b..28f35ccb7 100644 --- a/lib/crypto/hashes/sha1_routines.h +++ b/lib/crypto/hashes/sha1_routines.h @@ -66,6 +66,10 @@ #define _NOP() #endif +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { U32 h[20 / 4]; // Ensure it's word aligned @@ -82,5 +86,9 @@ void CL_hashUpdate(CL_HashContext *ctx, const U8 *src, int nbytes); void CL_hashFinal(CL_HashContext *ctx, U8 *dest); void CL_hash(U8 *msg, int msgBytes, U8 *dest); +#ifdef __cplusplus +} +#endif + #endif // __SHA1_ROUTINES_DOT_H__ diff --git a/lib/hal/swi_uart_start.c b/lib/hal/swi_uart_start.c index c863f02bc..e1056d15f 100644 --- a/lib/hal/swi_uart_start.c +++ b/lib/hal/swi_uart_start.c @@ -109,16 +109,16 @@ void swi_uart_mode(ATCASWIMaster_t *instance, uint8_t mode) // Set baudrate to 230400 usart_sync_set_baud_rate(&(instance->USART_SWI), USART_BAUD_RATE(230400, instance->sercom_core_freq)); // Disable Receiver - hri_sercomusart_clear_CTRLB_RXEN_bit(&(instance->USART_SWI.device.hw)); - hri_sercomusart_set_CTRLB_TXEN_bit(&(instance->USART_SWI.device.hw)); + hri_sercomusart_clear_CTRLB_RXEN_bit(instance->USART_SWI.device.hw); + hri_sercomusart_set_CTRLB_TXEN_bit(instance->USART_SWI.device.hw); } else if (mode == RECEIVE_MODE) { // Set baudrate to 160000 usart_sync_set_baud_rate(&(instance->USART_SWI), USART_BAUD_RATE(170000, instance->sercom_core_freq)); // Enable Receiver - hri_sercomusart_clear_CTRLB_TXEN_bit(&(instance->USART_SWI.device.hw)); - hri_sercomusart_set_CTRLB_RXEN_bit(&(instance->USART_SWI.device.hw)); + hri_sercomusart_clear_CTRLB_TXEN_bit(instance->USART_SWI.device.hw); + hri_sercomusart_set_CTRLB_RXEN_bit(instance->USART_SWI.device.hw); } usart_sync_enable(&(instance->USART_SWI)); instance->bus_index &= 0x07; diff --git a/lib/jwt/atca_jwt.h b/lib/jwt/atca_jwt.h index b433a810e..a5fe231a5 100644 --- a/lib/jwt/atca_jwt.h +++ b/lib/jwt/atca_jwt.h @@ -34,6 +34,10 @@ #include "cryptoauthlib.h" +#ifdef __cplusplus +extern "C" { +#endif + /** \brief Structure to hold metadata information about the jwt being built */ typedef struct { @@ -50,5 +54,8 @@ void atca_jwt_check_payload_start(atca_jwt_t* jwt); ATCA_STATUS atca_jwt_verify(const char* buf, uint16_t buflen, const uint8_t* pubkey); /** @} */ +#ifdef __cplusplus +} +#endif #endif /* ATCA_JWT_H_ */ diff --git a/python/README.md b/python/README.md index 51f1224ef..faabff282 100644 --- a/python/README.md +++ b/python/README.md @@ -37,7 +37,7 @@ Microchip cryptoauthlib product page: ## Supported hardware - [AT88CK101](http://www.microchip.com/DevelopmentTools/ProductDetails/AT88CK101SK-MAH-XPRO) -- [CryptoAuth-XSTK]() +- [CryptoAuthentication SOIC XPRO Starter Kit (DM320109)](https://www.microchip.com/developmenttools/ProductDetails/DM320109) ## Supported devices The family of devices supported currently are: diff --git a/python/cryptoauthlib/atcab.py b/python/cryptoauthlib/atcab.py index 7bc3365d3..90a00a8a9 100644 --- a/python/cryptoauthlib/atcab.py +++ b/python/cryptoauthlib/atcab.py @@ -57,10 +57,23 @@ class atca_sha256_ctx(Structure): ("block_size", c_uint32), ("block", c_char*64*2)] +class atca_aes_gcm_ctx(Structure): + """Context structure for AES GCM operations""" + _fields_ = [("key_id", c_uint16), + ("key_block", c_uint8), + ("cb", c_char*16), + ("data_size", c_uint32), + ("aad_size", c_uint32), + ("h", c_char*16), + ("j0", c_char*16), + ("y", c_char*16), + ("partial_aad", c_char*16), + ("partial_aad_size", c_uint32), + ("enc_cb", c_char*16), + ("ciphertext_block", c_char*16)] class atca_hmac_sha256_ctx_t(atca_sha256_ctx): """HMAC-SHA256 context""" - pass def atcab_init(iface_cfg): @@ -423,6 +436,168 @@ def atcab_aes_ctr_decrypt_block(ctx, ciphertext, plaintext): return status +def atcab_aes_gcm_init(ctx, key_id, key_block, iv, iv_size): + """ + Initialize context for AES GCM operation with an existing IV, which + is common when starting a decrypt operation. + + Args: + ctx AES GCM context to be initialized. + key_id Key location. Can either be a slot number or + ATCA_TEMPKEY_KEYID for TempKey. + key_block Index of the 16-byte block to use within the key + location for the actual key. + iv Initialization vector. + iv_size Size of IV in bytes. Standard is 12 bytes. + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + status = get_cryptoauthlib().atcab_aes_gcm_init(byref(ctx), key_id, key_block, bytes(iv), iv_size) + return status + +def atcab_aes_gcm_init_rand(ctx, key_id, key_block, rand_size, free_field, free_field_size, iv): + """ + Initialize context for AES GCM operation with a IV composed of a + random and optional fixed(free) field, which is common when + starting an encrypt operation. + + Args: + ctx AES CTR context to be initialized. + key_id Key location. Can either be a slot number or + ATCA_TEMPKEY_KEYID for TempKey. + key_block Index of the 16-byte block to use within the + key location for the actual key. + rand_size Size of the random field in bytes. Minimum and + recommended size is 12 bytes. Max is 32 bytes. + free_field Fixed data to include in the IV after the + random field. Can be NULL if not used. + free_field_size Size of the free field in bytes. + iv Initialization vector is returned here. Its + size will be rand_size and free_field_size + combined. + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + c_iv = create_string_buffer(16) + if not isinstance(iv, bytearray): + status = Status.ATCA_BAD_PARAM + else: + status = get_cryptoauthlib().atcab_aes_gcm_init_rand(byref(ctx), key_id, key_block, rand_size, + bytes(free_field), free_field_size, byref(c_iv)) + iv[0:] = bytes(c_iv.raw) + return status + +def atcab_aes_gcm_aad_update(ctx, aad, aad_size): + """ + Process Additional Authenticated Data (AAD) using GCM mode and a + key within the ATECC608A device. + + This can be called multiple times. atcab_aes_gcm_init() or + atcab_aes_gcm_init_rand() should be called before the first use of this + function. When there is AAD to include, this should be called before + atcab_aes_gcm_encrypt_update() or atcab_aes_gcm_decrypt_update(). + + Args: + ctx AES GCM context + aad Additional authenticated data to be added + aad_size Size of aad in bytes + + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + status = get_cryptoauthlib().atcab_aes_gcm_aad_update(byref(ctx), bytes(aad), aad_size) + return status + +def atcab_aes_gcm_encrypt_update(ctx, plaintext, plaintext_size, ciphertext): + """ + Encrypt data using GCM mode and a key within the ATECC608A device. + atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called + before the first use of this function. + + Args: + ctx AES GCM context structure. + plaintext Plaintext to be encrypted (16 bytes). + plaintext_size Size of plaintext in bytes. + ciphertext Encrypted data is returned here. + + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + c_ciphertext = create_string_buffer(plaintext_size) + if not isinstance(ciphertext, bytearray): + status = Status.ATCA_BAD_PARAM + else: + status = get_cryptoauthlib().atcab_aes_gcm_encrypt_update(byref(ctx), + bytes(plaintext), plaintext_size, byref(c_ciphertext)) + ciphertext[0:] = bytes(c_ciphertext.raw) + return status + +def atcab_aes_gcm_encrypt_finish(ctx, tag, tag_size): + """ + Complete a GCM encrypt operation returning the authentication tag. + + Args: + ctx AES GCM context structure. + tag Authentication tag is returned here. + tag_size Tag size in bytes (12 to 16 bytes). + + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + c_tag = create_string_buffer(tag_size) + if not isinstance(tag, bytearray): + status = Status.ATCA_BAD_PARAM + else: + status = get_cryptoauthlib().atcab_aes_gcm_encrypt_finish(byref(ctx), byref(c_tag), tag_size) + tag[0:] = bytes(c_tag.raw) + return status + +def atcab_aes_gcm_decrypt_update(ctx, ciphertext, ciphertext_size, plaintext): + """ + Decrypt data using GCM mode and a key within the ATECC608A device. + atcab_aes_gcm_init() or atcab_aes_gcm_init_rand() should be called + before the first use of this function. + + Args: + ctx AES GCM context structure. + ciphertext Ciphertext to be decrypted. + ciphertext_size Size of ciphertext in bytes. + plaintext Decrypted data is returned here. + + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + c_plaintext = create_string_buffer(ciphertext_size) + if not isinstance(plaintext, bytearray): + status = Status.ATCA_BAD_PARAM + else: + status = get_cryptoauthlib().atcab_aes_gcm_decrypt_update(byref(ctx), bytes(ciphertext), + ciphertext_size, byref(c_plaintext)) + plaintext[0:] = bytes(c_plaintext.raw) + return status + +def atcab_aes_gcm_decrypt_finish(ctx, tag, tag_size, is_verified): + """ + Complete a GCM decrypt operation verifying the authentication tag. + + Args: + ctx AES GCM context structure. + tag Expected authentication tag. + tag_size Size of tag in bytes (12 to 16 bytes). + is_verified Returns whether or not the tag verified. + + Returns: + ATCA_SUCCESS on success, otherwise an error code. + """ + if not isinstance(is_verified, AtcaReference): + status = Status.ATCA_BAD_PARAM + else: + c_is_verified = c_uint8(is_verified.value) + status = get_cryptoauthlib().atcab_aes_gcm_decrypt_finish(byref(ctx), bytes(tag), + tag_size, byref(c_is_verified)) + is_verified.value = c_is_verified.value + return status + # CryptoAuthLib Basic API methods for CheckMAC command. # # The CheckMac command calculates a MAC response that would have been @@ -2552,5 +2727,6 @@ def atcab_write_config_counter(counter_id, counter_value): # Make module import * safe - keep at the end of the file -__all__ = ['atca_aes_cbc_ctx', 'atca_aes_cmac_ctx', 'atca_aes_ctr_ctx', 'atca_sha256_ctx', 'atca_hmac_sha256_ctx_t'] +__all__ = ['atca_aes_cbc_ctx', 'atca_aes_cmac_ctx', 'atca_aes_ctr_ctx', + 'atca_aes_gcm_ctx', 'atca_sha256_ctx', 'atca_hmac_sha256_ctx_t'] __all__ += [x for x in dir() if x.startswith(__name__.split('.')[-1])] diff --git a/python/tests/cryptoauthlib_mock.py b/python/tests/cryptoauthlib_mock.py index e01d5ceb8..1ae3e724c 100644 --- a/python/tests/cryptoauthlib_mock.py +++ b/python/tests/cryptoauthlib_mock.py @@ -283,6 +283,148 @@ def atcab_aes_ctr_decrypt_block(self, ctx, ciphertext, plaintext): return Status.ATCA_SUCCESS + #--------------------------------------------------------------------# + # atcab_aes_gcm_init(ctx, key_id, key_block, iv, iv_size): + + def atcab_aes_gcm_init(self, ctx, key_id, key_block, iv, iv_size): + + if not isinstance(key_id, int): + raise TypeError + + if not isinstance(key_block, int): + raise TypeError + + if not isinstance(iv, bytes): + raise TypeError + + if not isinstance(iv_size, int): + raise TypeError + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_init_rand(ctx, key_id, key_block, rand_size, free_field, free_field_size, iv): + r_iv = create_string_buffer(16) + r_iv.value = bytes(bytearray([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07])) + + def atcab_aes_gcm_init_rand(self, ctx, key_id, key_block, rand_size, free_field, free_field_size, iv): + + if not isinstance(key_id, int): + raise TypeError + + if not isinstance(key_block, int): + raise TypeError + + if not isinstance(rand_size, int): + raise TypeError + + if not isinstance(free_field, bytes): + raise TypeError + + if not isinstance(free_field_size, int): + raise TypeError + + if not isinstance(iv, c_ptr): + raise TypeError + + memmove(cast(iv, c_void_p).value, cast(byref(self.r_iv), c_void_p).value, len(self.r_iv)) + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_aad_update(ctx, aad, aad_size): + + def atcab_aes_gcm_aad_update(self, ctx, aad, aad_size): + + if not isinstance(aad, bytes): + raise TypeError + + if not isinstance(aad_size, int): + raise TypeError + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_encrypt_update(ctx, plaintext, plaintext_size, ciphertext): + r_ciphertext = create_string_buffer(16) + r_ciphertext.value = bytes(bytearray([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07])) + + def atcab_aes_gcm_encrypt_update(self, ctx, plaintext, plaintext_size, ciphertext): + + if not isinstance(plaintext, bytes): + raise TypeError + + if not isinstance(plaintext_size, int): + raise TypeError + + if not isinstance(ciphertext, c_ptr): + raise TypeError + + memmove(cast(ciphertext, c_void_p).value, cast(byref(self.r_ciphertext), c_void_p).value, len(self.r_ciphertext)) + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_encrypt_finish(ctx, tag, tag_size): + r_tag = create_string_buffer(16) + r_tag.value = bytes(bytearray([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07])) + + def atcab_aes_gcm_encrypt_finish(self, ctx, tag, tag_size): + + if not isinstance(tag_size, int): + raise TypeError + + if not isinstance(tag, c_ptr): + raise TypeError + + memmove(cast(tag, c_void_p).value, cast(byref(self.r_tag), c_void_p).value, tag_size) + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_decrypt_update(ctx, ciphertext, ciphertext_size, plaintext): + + def atcab_aes_gcm_decrypt_update(self, ctx, ciphertext, ciphertext_size, plaintext): + + r_plaintext= create_string_buffer(16) + r_plaintext.value = bytes(bytearray([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07])) + + if not isinstance(ciphertext_size, int): + raise TypeError + + if not isinstance(ciphertext, bytes): + raise TypeError + + if not isinstance(plaintext, c_ptr): + raise TypeError + + memmove(cast(plaintext, c_void_p).value, cast(byref(self.r_plaintext), c_void_p).value, len(self.r_plaintext)) + + return Status.ATCA_SUCCESS + + #--------------------------------------------------------------------# + # atcab_aes_gcm_decrypt_finish(ctx, tag, tag_size, is_verified): + r_is_verified = c_uint8() + r_is_verified.value = 1 + def atcab_aes_gcm_decrypt_finish(self, ctx, tag, tag_size, is_verified): + + if not isinstance(tag, bytes): + raise TypeError + + if not isinstance(tag_size, int): + raise TypeError + + if not isinstance(is_verified, c_ptr): + raise TypeError + + memmove(cast(is_verified, c_void_p).value, cast(byref(self.r_is_verified), c_void_p).value, 1) + + return Status.ATCA_SUCCESS + #--------------------------------------------------------------------# # atcab_checkmac(mode, key_id, challenge, response, other_data): diff --git a/python/tests/test_atcab.py b/python/tests/test_atcab.py index dc2c06776..d05bb9f7e 100644 --- a/python/tests/test_atcab.py +++ b/python/tests/test_atcab.py @@ -153,6 +153,63 @@ def test_atcab_aes_ctr_decrypt_block(test_init): assert atcab_aes_ctr_decrypt_block(ctx, ciphertext, plaintext) == Status.ATCA_SUCCESS assert plaintext == bytearray(atcab_mock.r_aes_ctr_output) +def test_atcab_aes_gcm_init(test_init): + ctx = atca_aes_gcm_ctx() + key_id = 2 + key_block = 2 + iv = bytearray(16) + iv_size = len(iv) + assert atcab_aes_gcm_init(ctx, key_id, key_block, iv, iv_size) == Status.ATCA_SUCCESS + +def test_atcab_aes_gcm_init_rand(test_init): + ctx = atca_aes_gcm_ctx() + key_id = 2 + key_block = 2 + rand_size = 11 + free_field = bytearray(12) + free_field_size = len(free_field) + iv = bytearray(16) + assert atcab_aes_gcm_init_rand(ctx, key_id, key_block, rand_size, free_field, free_field_size, iv) == Status.ATCA_SUCCESS + assert iv == bytearray(atcab_mock.r_iv) + +def test_atcab_aes_gcm_aad_update(test_init): + ctx = atca_aes_gcm_ctx() + aad = bytearray(16) + aad_size = len(aad) + assert atcab_aes_gcm_aad_update(ctx, aad, aad_size) == Status.ATCA_SUCCESS + +def test_atcab_aes_gcm_encrypt_update(test_init): + ctx = atca_aes_gcm_ctx() + plaintext = bytearray(16) + plaintext_size = len(plaintext) + ciphertext = bytearray(16) + assert atcab_aes_gcm_encrypt_update(ctx, plaintext, plaintext_size, ciphertext) == Status.ATCA_SUCCESS + assert ciphertext == bytearray(atcab_mock.r_ciphertext) + +def test_atcab_aes_gcm_encrypt_finish(test_init): + ctx = atca_aes_gcm_ctx() + tag = bytearray(16) + tag_size = 16 + assert atcab_aes_gcm_encrypt_finish(ctx, tag, tag_size) == Status.ATCA_SUCCESS + assert tag == bytearray(atcab_mock.r_tag) + +def test_atcab_aes_gcm_decrypt_update(test_init): + ctx = atca_aes_gcm_ctx() + ciphertext = bytearray(16) + ciphertext_size = len(ciphertext) + plaintext = bytearray(16) + assert atcab_aes_gcm_decrypt_update(ctx, ciphertext, ciphertext_size, plaintext) == Status.ATCA_SUCCESS + assert plaintext == bytearray(atcab_mock.r_plaintext) + +def test_atcab_aes_gcm_decrypt_finish(test_init): + ctx = atca_aes_gcm_ctx() + tag = bytearray(16) + tag_size = len(tag) + is_verified = AtcaReference(2) + assert atcab_aes_gcm_decrypt_finish(ctx, tag, tag_size, is_verified) == Status.ATCA_SUCCESS + assert is_verified.value == atcab_mock.r_is_verified.value + + # ---------------ATCA_BASIC_CHECKMAC-------------- def test_atcab_checkmac(test_init): diff --git a/test/aes_gcm_cavp_vectors/gcmDecrypt128.req b/test/aes_gcm_cavp_vectors/gcmDecrypt128.req new file mode 100644 index 000000000..5c75f8887 --- /dev/null +++ b/test/aes_gcm_cavp_vectors/gcmDecrypt128.req @@ -0,0 +1,2781 @@ +# CAVS 21.4 +# GCM Decrypt with keysize 128 test information for Microchip ATECC608A +# Generated on Fri Nov 2 14:53:12 2018 + + + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 32962462b82301a024e5814ec62b24e0 +IV = 4a5c1d2c87891f7c815168d8 +CT = +AAD = +Tag = e2678e9ecf355190519bbf9f9755358c + +Count = 1 +Key = 556ec7efe8637a0d9fda29cb6b2a96a7 +IV = e599bffb6777febc181eb562 +CT = +AAD = +Tag = 3b1074bab4dc694ff9f8a85bec627844 + +Count = 2 +Key = c8ef2705fd3178da4969a0c5e630ddd6 +IV = 8efb6f00bfbbc5df9679a574 +CT = +AAD = +Tag = ca9a40a5d4494abb1d9250c3c23a6792 + +Count = 3 +Key = 988052d213f69bb131cc69a3b4a9f42f +IV = 2c8a82fd8949a43c1773c33a +CT = +AAD = +Tag = f387f1c53f39ae18117ca16587a7468f + +Count = 4 +Key = 3a6532d52f66e45c95d3e100c753c86b +IV = cb5e3062b59cf5e9987be505 +CT = +AAD = +Tag = 20a6453969db6affe7086efcc55e3b80 + +Count = 5 +Key = 71f8e649253c54652a831406875a6520 +IV = 4d9cc4076c20cc171771cbb9 +CT = +AAD = +Tag = efd321d38e5c14a66d3a3e391abd7ba8 + +Count = 6 +Key = 4e99d6f0ffc14d6bc2ef381ab112660f +IV = 1557ab67f88e1a3c5e506163 +CT = +AAD = +Tag = ff83508270e949cdc1dbd4fb2372c115 + +Count = 7 +Key = 3ddf23fb819503694785c578ef988417 +IV = cf0371b60ea76de8d25d5e92 +CT = +AAD = +Tag = dcb7d20d0fe8e577f3dc1818e15124fc + +Count = 8 +Key = 56b82308e57e0fa12a3d6eb63c814604 +IV = e67e4820b55d3c5287cd9fc2 +CT = +AAD = +Tag = f6ac45d84091ddff36fbd2392c447a6e + +Count = 9 +Key = 92ec92d783a19e4e82b83bfe75388ac6 +IV = d5a68253d95ba621c76934e9 +CT = +AAD = +Tag = 1adb554b51fa951147dc5b111b26c5be + +Count = 10 +Key = 24cb949ff0ffb1214ff5a17291ddddb1 +IV = 7ac5f333d95898d52ac49563 +CT = +AAD = +Tag = 96c3631df922a7b54ad77af61d2b6761 + +Count = 11 +Key = a3210145cacb4ddb569b278a768c3475 +IV = 68585327a43e925d9c9f3703 +CT = +AAD = +Tag = 20b3a06102c41256446493113451d31c + +Count = 12 +Key = 7fa6eb198ce1ea799adac9d98fc6020c +IV = ff73b529b1a3bfff3ebf3f2c +CT = +AAD = +Tag = ac915deff877f56459aee8b7c19d5854 + +Count = 13 +Key = aeea0dae5b67e96d687c4a1d9b64be2a +IV = 0ce4296c23817cd92e85426b +CT = +AAD = +Tag = 7b6d6d3b71237a1e185cf3c71dce105e + +Count = 14 +Key = 2acf584ed9a7aa689ac55fa15b9921ac +IV = 43c55fa38165ad4a8c55f622 +CT = +AAD = +Tag = 3e5bdad309eca17e26e941548c40862c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 79ea16d40b9fc06bf0a80f8d2b3f603b +IV = df81a6699207c399bf177534 +CT = +AAD = afd8b674733be0d11c879a4491b660b4 +Tag = 1a49989b7de7e6c1e7fb621e283dfafc + +Count = 1 +Key = 8d0ebf1c5ded2851494a90883b72bcd9 +IV = 446b6e374bffb6cf73babda7 +CT = +AAD = a7f84656c45cb756df3bb177277a8d85 +Tag = b17bf32f531c88be56ead0d0f1523017 + +Count = 2 +Key = 0cdeabdb3df53ef782d1a31ae64d9fab +IV = a48862787a204e8f2018ab93 +CT = +AAD = e2bcf3291447136672a5e9d782e7270c +Tag = b6f77ee56f796bcff482b0e3e3ea9bf2 + +Count = 3 +Key = 55cfb22ec6a1e2ab067965993041e12c +IV = db48f5179fefd5cf153055b2 +CT = +AAD = 0457ba1074539a1fda19d9cd494d7828 +Tag = a16aa4294f1843855ecbc8e7e9188cc0 + +Count = 4 +Key = 4ab7bbd660b1d2ceb00970027eb2165e +IV = de7150ed03faec9bfd693a92 +CT = +AAD = 5cfdbcbd887ccb0e6a70e8b07c07a033 +Tag = deca8344b3790adb2c19ed6a3d68cd83 + +Count = 5 +Key = 37c02d83a4ba6e1dfc8fd25f62575498 +IV = e40ad0829a9a3ba0efc3b604 +CT = +AAD = c65c1f0e50d4522083b508bc77b849e4 +Tag = 5a7c6baccd44a17755049ba5dc59c5a3 + +Count = 6 +Key = cf01dc354d458c4fb6fee369ef6ec515 +IV = b7939fb9f44596d0b4da701d +CT = +AAD = dcd031cfea782a23a563065a52b7d25f +Tag = 046d04385a5abab3c0930360fa01038b + +Count = 7 +Key = 231265810ce9df71040a8b6ef61eb8c9 +IV = c7acb683580abca8216585a0 +CT = +AAD = 200b9b5385b510b04bdd468bf9565db9 +Tag = f91cd1cdac2d01b85d53a2cc48942ded + +Count = 8 +Key = d04b4eee3c77afa971536b2615d7343a +IV = 0d5fc054b2f19f76ed85bd17 +CT = +AAD = 1c9cb4193765598a7fab3a161c31f3fa +Tag = 950e289b816a57a24772bff3dc6b4e19 + +Count = 9 +Key = 080b4d0ca781bbb3cbc4b45fce7efcfc +IV = b91e659a2370beb19f4358a3 +CT = +AAD = d048150562b2adc9775a07c39f3e5437 +Tag = 61ffe3dc8b3eb7298464ec8b399bb577 + +Count = 10 +Key = 154103fed2fc8af396d0e5e008cd77d3 +IV = 2cc194f55aba65daf615b45f +CT = +AAD = 381acf789f4001b404faebcba3bd610c +Tag = 3d1f7ee7062fb079da8eef12883d98d7 + +Count = 11 +Key = 282e95aedf61ae36ac8d579eb68251ba +IV = 6a2d832dd45153bf54529453 +CT = +AAD = 259eabc889d76f2d5d12e4d2060dda20 +Tag = e66a22bf8403e89f771aebd735d9b172 + +Count = 12 +Key = 1c1b38bc2dc6213f2e3ded326e90279c +IV = ea7eda226d732e2b7b74482a +CT = +AAD = c608d516566c3134c42b8ff1764b48bf +Tag = 1938f054bb69afe55086001dd2d8554e + +Count = 13 +Key = 4e79982d67185e0770358a10c6c37a26 +IV = 307f6cf44453a257c7649577 +CT = +AAD = 947d5440ffc9a9a690507aaf1952f011 +Tag = 96fbc9e94a636445e505a9ed4fad3505 + +Count = 14 +Key = 38812c94e26ee009d081f621ce562623 +IV = d757641639ccdffd93da4901 +CT = +AAD = 77341187073e640126f6426a49af64f9 +Tag = 3459fd532a279379a9565aeb53c981ea + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 0a9eedcda8b1b08ab684e5a4896c49b8 +IV = 1f2d608c7c7c594c590e8224 +CT = +AAD = 3a1110b6f5a040e9804cb91b946f6160f18d7c211cbf88a761056978f83672f52d6c4d2e4f7666a8b05fdc3185d675460888a55ebc0e4b2e5c53b3dda66810f3 +Tag = c1264d1e7111b5f6ffd0c02f0c69739c + +Count = 1 +Key = da02f9b7c641bcda73dee838e0abcd30 +IV = c748f43b9d0b427d409af3e2 +CT = +AAD = 33a1aeb29ae6e417f13cc42dda1c585f8d6fafe17841aa1cd565ddeb20719128c36b1f05bfaa5bad1203a4343295576c2e990c8a3ecb3190de688e243104a4f3 +Tag = 09b7f6028208e15217dedffec2dc4ae8 + +Count = 2 +Key = ca4c26f62e212a57b01afdbf1780bc4f +IV = 9f575441e5a689e0d56a68e8 +CT = +AAD = 566bf90fbe2826a37586ce8d94bfd4d26f54bfda83798a57806ccc370aaf858137fbfd4b0f8abf50267ad544afa0349ada952992c7d02aa6020296d44ff0bf51 +Tag = 6aa9b61d81a4fd14967ae04e216017fe + +Count = 3 +Key = 3b0eaf74432c097d3054e7be770928f1 +IV = 0afd85a645f06de57eecc99f +CT = +AAD = 713f564c4ba9683eb1cfe1904194cbdc1b9b97695aa909a66fd7a54ce96340064edc539d27dce2a0a1055d5dde69ce43027a2485595a636517979e52c4f49259 +Tag = fcec06aa0268f7a10481fae1a8792025 + +Count = 4 +Key = 1c3470e96291eabd8dc00acbb97e8381 +IV = 7065d9e64dba88de72da1dd1 +CT = +AAD = 7f89734a1deb6aaa890e05cbd97d624d79ffc24c6641aafd31793ea61f14ff85c6c4c520174f84aa0fbb16f967994b21b4701e71225a0b3c247957f0eb8df156 +Tag = de855e91b98a3ed819c9717529206400 + +Count = 5 +Key = 690be8d0f8fdbe5867bd6ac5589b4d91 +IV = 6805a312c7b27ecb0b232e9a +CT = +AAD = fe736d6775487ef2d58fc671a28a4e95975d60683cbe3b6944fc3b061394d5dd7df323de49573d6c5afe7488aefe8c644f0f861cb64fb295d5b6738dd97eae0b +Tag = 0e9f950eea4cddfb7a5f4649d3a2e7e9 + +Count = 6 +Key = 6b940f7b8af170a2c983f252cd983a5f +IV = fe37a95d4a07d3cce86778de +CT = +AAD = 0fedf7745cf4597ed50dd9b90496479938fd77a99f648bcdf1d291efb5250312dcedfc0f5be80da5799cab4ca05fb8668c632f1001ff62662117d6c5c590ccd7 +Tag = 7118023acdba00f6109c59cf8b1c0911 + +Count = 7 +Key = 70357964c3d77b2f34395bcb5f139d55 +IV = 760ea0acde0328d900d1c473 +CT = +AAD = f509a3d9750da98e3234d11fc8f2316196e20f776f1809d998f02e9665ae273fb52ebb0c78caed11e1bba52282873a89882b4793b31336c310e650d925a76f13 +Tag = f96401180060901874704d4a4831f083 + +Count = 8 +Key = e8075271dba52291ee026ff8c5738873 +IV = 6bf7afccafd22dc05e604dbc +CT = +AAD = 824327b7bc3f344eb083e2bf4dc8d3e9c43cf4dfba4c3c82d6ba1fe7b9cb4bbe8747acb364dab0ae073f4c41eea56a12d02ccd9c8123e2967026786c95ad46e4 +Tag = 386503221aa565aa7122784b4fe41c9e + +Count = 9 +Key = c0469f8ea408423806149b197418e9ff +IV = 1fed064274225a0d1f96c835 +CT = +AAD = fdb0b23b09a43833e4c3168a14aacddcb87dbd4e16dc5f3489bff9e9ad5ed9191e0af2c2c09288f7cd4bbbf76c3fcbf4b739a6e670c93d7fc2961c01275d25c9 +Tag = 0d66865965ab9beb8dddcb7035651572 + +Count = 10 +Key = cc507cd6565d359e2fc9689f26113f91 +IV = d68a8dcef2391dc448d559d4 +CT = +AAD = 532512ded21fe70f9268dbd9ec2fdb6b16151c58aa1430a4b3052b917c49f998e1f082e44448cbc5ee58f7bda3cc0d1507ce808c349b337679c567d2e9287929 +Tag = 90ab966179bb82c3b60e92fa79f82849 + +Count = 11 +Key = ad4d079c2a4be70594fa506b6b46615f +IV = fa58ec59a0e16b81d12e43c1 +CT = +AAD = 6ed76db048716c8363c5b5c252e42057eee1b60d39d4dec75a8a2409fd63f08f43778426d1b50b65e5ca7e10d440bc8a35f4ca9827e55c6c18d054e573c571c1 +Tag = 1108e1927bc4771a0bd23066738edba8 + +Count = 12 +Key = edb480446a27774fa15ed3cf1ef0dd3b +IV = 9185195d9fb7ea22f51cdb24 +CT = +AAD = ecb9419b0ff5d26bf57823d4a03534caa8aa9d44d7b893cc18a467c732269a90efccf5ddd879ffffaf2dc3b17c9a7c2ebfa1da420bb3cf93203d3136666bf102 +Tag = 0b7bb23b8bd05389fb3b31239d17cc64 + +Count = 13 +Key = a6ea3cea7da88d6b852f97ae1f1dc7e3 +IV = 249209ed7feb356e3dd6f63a +CT = +AAD = 63d92abd7f220ee45cb560bc1a8ab50e99c35e0cbaeadcce528954d36147d2db41f4caf34c4c0efaa857ab4b698a362154534f92fc5450d5a6543806e9d1ef99 +Tag = 05477fd35396fb4c9dd1ee5be54c5816 + +Count = 14 +Key = 760dd9e48134ec83f20b133d021f1c13 +IV = 16092348f4f5a936ba7367f4 +CT = +AAD = 7662a0d32b83cb8ba417e10ca65739f6129165e611a526077625318c8966bfd86f95bce173316d5b78745ca1e3ba4ff990ca99b58140e3234d4ae695de6436ce +Tag = 8f864420f7ead5c6d9ce769daec0020f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = 74fffc6dc6435dd835a99dfaec6ce9eb +IV = 450bcc2339472228410c6490 +CT = +AAD = ed94862d5fd6fd25 +Tag = 289b98b087e9b7ac86b4f2c89728bd55 + +Count = 1 +Key = eae91dc4cac1a28f8cf3885922bcaf83 +IV = ebbe37ac9c11037bb4a6a74f +CT = +AAD = 8909dbfcf00a14ad +Tag = 5fb0077afc9500c6470ba053e40855a0 + +Count = 2 +Key = 19fca3f3e361817e495df613b89768d3 +IV = a5f6d00d84284478f67c212e +CT = +AAD = a9b91db1688d28a4 +Tag = 087d8fe1a92e5cb05b5f6ce99be439b0 + +Count = 3 +Key = 463f7ae877a1b018e1db3cd71a68897b +IV = 046385721dd8102470be97ab +CT = +AAD = d975d9fe48fb7e3a +Tag = 57addd060cb8283f6ec3908ad07b6006 + +Count = 4 +Key = bbcb757354b45e0835b390607eb27732 +IV = ab0ca7f48563fb794d2a42e0 +CT = +AAD = 7c09eb8afa0595fc +Tag = 06e5c6d6b7cad9d2f91bc395bc451a5f + +Count = 5 +Key = f7576c6f16a1ad77f114cc455f0258ba +IV = 4b332c2735bc7f9c8151e769 +CT = +AAD = 4f3a8d412cb0d218 +Tag = 7df22447534f3db145df29ea3fa098db + +Count = 6 +Key = 0455f03418fa538d6373850b9a63649d +IV = 10f57c923b5ad73090b2708f +CT = +AAD = 2e7290044786d595 +Tag = 1b8928117a95ec00948484881c6b28eb + +Count = 7 +Key = b67d6e80ef4b0cbe481711c1bc1ed2a8 +IV = efd6faea407869b110d19d82 +CT = +AAD = 1713c8a9d4d03270 +Tag = e4a4a999d17f02c8b4c92e920c43bbe2 + +Count = 8 +Key = ce1c4fb06c945ab4c042a7a9443c4fed +IV = 8a57e79808a295dc0f262e0c +CT = +AAD = 3014c251095311d9 +Tag = 47b9061883e46819cc339a478fea18b8 + +Count = 9 +Key = 281c54cb9de2f3ab6e819d15909d30fc +IV = ef368d8b36eb25c05a95b68c +CT = +AAD = 2486f76d281285a6 +Tag = 2610f21923176a7b8916d3cb6c13036c + +Count = 10 +Key = 09238f890970573cb0985470de6ac13d +IV = f4f439dc8d1d779b7adb91b5 +CT = +AAD = c12d71e1e554f06b +Tag = 6d71e0fdae5e4d9d444a6f00acc23b79 + +Count = 11 +Key = e775f2d08adb83e25c9f89f9db9fd8bd +IV = 32c803355775d81c4cab7146 +CT = +AAD = bfb0b0d449955a61 +Tag = 574466c64c849ba2357756dc8e428749 + +Count = 12 +Key = 967a27cb4be38559c27bb6e9ec0cbca6 +IV = 109eb0a26e56d953ca89d700 +CT = +AAD = b6216d2ac204795a +Tag = 8af34aed0bf31d32304756c23ab119e0 + +Count = 13 +Key = 7711807baf4d41d4612f0717b4e87c08 +IV = 4ec3d3b131a69657231b4ea9 +CT = +AAD = c9a6418bb9c10612 +Tag = cae082e0833534b3bd95dd008a053316 + +Count = 14 +Key = d047cc8c112eeda2cf52788bce3c86f1 +IV = 644f97942895735d1c58538f +CT = +AAD = 712cac0d875f75c3 +Tag = 226108de6466da94610327eb893f710f + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 2f4608e7ac9ecb532966c3aef4647709 +IV = 4901fec91c758f5ea5315bea +CT = +AAD = 2e8f464e61351da35754da14efc285fa33b39ec967a0419b +Tag = b9df51ef2ac0570e42f0bd5d42e99c0a + +Count = 1 +Key = 36d5f4af7f2fb7afe9b20a3cec0eeb88 +IV = eddfa872ba8baa5667c6eb29 +CT = +AAD = 3253d2522bc61490fb94a5203ee8ee395ee9cd3888a9785d +Tag = ddcf577a758b8fd9010e84b751ac1fa0 + +Count = 2 +Key = af012236c003d24463851a396f25a5fd +IV = 04efad95b93e235d3d841b6e +CT = +AAD = d10e134d4b0eba21ec32c39bdf49979851957229acc72080 +Tag = 77709ddd04be1830980e9ee59bc812fb + +Count = 3 +Key = 19ec93ec279ccb87b8d0e6b2d66a8c0f +IV = e500853b8f1c1ece00c1a69c +CT = +AAD = 03d0190ffc6cd8e8b40d7106880afbab648d8ab4c84c6b1c +Tag = d9a0de7ca2d100b95e574aa2e55bdd42 + +Count = 4 +Key = 50c3e6e8141f5084dc9e1c3528a645f6 +IV = 1e1b7c591fa8f2c1c0d4bc21 +CT = +AAD = 109ece2d0d1cd3f658e1ed6b54c720594c8e621887920ef5 +Tag = 521fedc2bbaf18290e281bfdb4702b57 + +Count = 5 +Key = 78ad52114c1b79f6344d1668884e806d +IV = e59b10c460d9c66f75ff1a39 +CT = +AAD = 52e9b255f203e9958eb5fa87731d50f3fad2c0b45727844b +Tag = b28a89b3615f012978851bea3ca69cbf + +Count = 6 +Key = 016f7949aa0e43ccac30d4c3eb18dc3d +IV = b7459e4df3d6ae6deae67dee +CT = +AAD = 6334c42db902d35bf1de5ed3fe6143cb3865236962c49b77 +Tag = 3d9dde269181c362af08fb6caba8e6f9 + +Count = 7 +Key = ad9426226514e524632f6ca107c1e358 +IV = 95152ea10a64d50be4c5aa12 +CT = +AAD = 8f961f368c7114209cfdb5320745fea3d0a14b4f07a5433a +Tag = 578d94332846ab210e54957288b18800 + +Count = 8 +Key = 29900bede18f83aeb4646a77b323f1c7 +IV = a1d01d5cc30959f458a42551 +CT = +AAD = 09f6caab7762069d0883f478513a8a0be0dfc507259049dc +Tag = 9aada0b18edf55e7482e67c868ee8a33 + +Count = 9 +Key = 61af1b2b10ea452d6daf9c7b2cac1678 +IV = 4bc8ddf7d19ff28f6665715e +CT = +AAD = 47fa2cd75801c34a991b9e6a7e8473390f015fb85defcccb +Tag = 7bf4505b040631cdaf57e0bb934e7755 + +Count = 10 +Key = f2fc6dd72e6c78f54cf95a8055c776ff +IV = 4d650adfb938665a97efecaa +CT = +AAD = 14bc14318b8a02cba3766c3125446aa709303e771f14c779 +Tag = 280e2c7d1ced072db058085efc083a42 + +Count = 11 +Key = 74d59e3f7f6949f0eb9164ea965350c4 +IV = 16d189d27cffe985c956c07a +CT = +AAD = 3fccd8e9c58e8076b3b7ede58761d2b8d058514f755f958f +Tag = 918290c38d7ccdea3fb545504fff5a28 + +Count = 12 +Key = f7305020ec003722a506c18ef43cb476 +IV = 67548f000b092d782e03866d +CT = +AAD = 57f0074a43b373bec54c54329bc4e70cc658d4896788855c +Tag = 3c57b99feb7449420e07ec9c40954879 + +Count = 13 +Key = 80df89efcd757d9bdaa3e3d0eeb9f6aa +IV = 4850a87a794fea4d27cbcd05 +CT = +AAD = f82ba26396412295f969d58bedbe0e7d99e12170c7733568 +Tag = e39163bf5e84c85b16981db2f1ed4739 + +Count = 14 +Key = cba61fec2a7a70630cb7ea56f1586f78 +IV = c36a533700cfbdb6ae01ecf7 +CT = +AAD = ab674cbd2a7db8fd589e3513a92b1a36b653752584727b0c +Tag = 8d060d3629f3b4a51bb0e4a677c365f9 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 99725a4d77822aad86f92395aa183fa9 +IV = 4fc18b6b5c773c32e04aaeaf +CT = 48c9cd7cfc28c027f51527493c2403af +AAD = +Tag = 5c4e2d2e9a5e3e0c2be77e0d3f66cd65 + +Count = 1 +Key = ef39472a27f83f75d4df35c840b68432 +IV = bb45ee21cda4def03d47d895 +CT = fe003b8cd990eeac1fcdaf95ee1f6a2d +AAD = +Tag = ffc62852b2764c7388f6895b180e30be + +Count = 2 +Key = bd5b85d5ffab8323eec1e8cfd8ce6700 +IV = ff5028c7847756bf5afa1f0e +CT = c98e05098f2b779d040bb86f4cb2c0b0 +AAD = +Tag = bc783541a739510bf3db9fd0ae8feeb7 + +Count = 3 +Key = 17e96dd85423e8502c43339a685813dd +IV = 177d7a0bf884eec867b9b4e4 +CT = 220d287499bf368f82c51ac30df94c9b +AAD = +Tag = 764a9e7d1f6f56f0673cce9066a95de9 + +Count = 4 +Key = c5c0730df82f03254d5b6681c1b09fb4 +IV = 5b5d05f137778b323eca3132 +CT = 5c6fe701462ef1a4cc1f27a1496904cc +AAD = +Tag = 95dcf2f550d88d79d025a4597ae2aa63 + +Count = 5 +Key = 5a32691183501f1a75a83dc3eb932fab +IV = c18a6fb287ea1adc0ced538f +CT = 426a0edf7f54c7cf48aeb97609892da5 +AAD = +Tag = 314b5bcd8040d045bf42d7bf94e31c22 + +Count = 6 +Key = 0b9bc3d63daf1a36b823acd2b2df66c5 +IV = ae98708dd57775c3241a4fb4 +CT = d66cc2b776a0edde7819d862e790b082 +AAD = +Tag = a755b19abdaac93ee8a14a5e6949eb55 + +Count = 7 +Key = f6a1bd04d4ee36310301dca447b46eeb +IV = c80e64c22218bbf67cd23561 +CT = 1ea906b82f0bd6d281d39796d68ffcac +AAD = +Tag = c8af84cfbdbfcf5cd05570853d20066a + +Count = 8 +Key = 2d34e13d2ad0efcb0f7c4974149f7568 +IV = fa726891cc4d218db1ef8df7 +CT = 1855327c093140afc724cac3990c63c3 +AAD = +Tag = 48f26d09af5b8c751b72488e3682133a + +Count = 9 +Key = 158eb8254f19726b94e30eb076d69dde +IV = c305be8d9c313c5013e4af99 +CT = b0cac7748f75aaf3c8152569d1265696 +AAD = +Tag = 37206e0e520345a4245c10510dc5712c + +Count = 10 +Key = 777b680bc29b3f4bd16436e646eb24f3 +IV = ef0f0e43a14f8061866fef1e +CT = 7d82754e56dd5aa7e19c20dcbb73e195 +AAD = +Tag = 8765062fadf3f9be2793b7073a2da770 + +Count = 11 +Key = d6ba21fb0d66c48a523a4d17575a0650 +IV = f21f20b351cd7953bce13597 +CT = c1c4b6d18242bc938974f313d5b3124c +AAD = +Tag = e3996e02538a22ff8c73ee7f4a2f6bbd + +Count = 12 +Key = 429e32b602e5a5a31750383bec477e41 +IV = 77ba9080ec8e24ce999d0f88 +CT = 4254c784e7d622f5b43985cea7b24fe1 +AAD = +Tag = 7e65dae09b7b322e1d7185d44b5ade63 + +Count = 13 +Key = 3825504adc4f97a186a82e918c97e63c +IV = d4a5fadeeb3626a7f610a734 +CT = 5914464df8b3b8f8939f5f5e8d45e233 +AAD = +Tag = 31e75b7e0ff4b33b9c0c3dcb8ee61fb7 + +Count = 14 +Key = abc4b77c9a5c912c58a91cd2836460a9 +IV = aaf55d7ab04a2659e3783f87 +CT = 89b394391eaa82c14841ec52ca4ad3d7 +AAD = +Tag = d41233c983f92e7baf932a69d594dc94 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = f57ff59cbd772d5c005c8a5f31793227 +IV = ccf5cf99e2a5d994c7403408 +CT = 6a7ec28ce94ed113acc5b3ff976e1681 +AAD = 24d8f9bdb76f465744e756dfcd2e39dd +Tag = ee81be4917e6aba145c04ea5bb97fae9 + +Count = 1 +Key = 53e0dacca1f71c9d0621aa5ee699f79b +IV = 02c752a711f2966dcb5ac36c +CT = bb61bfd89fa30108765e2f4d57e3d7cf +AAD = b0c12d8249ccf2be91755a9a77f8c28d +Tag = b01cbbc8ab9fa152ba116beda35d5105 + +Count = 2 +Key = bcbd7123d5ebd71aaad39312a1394c13 +IV = d24aacc6bdc7df74fd563671 +CT = 496c9a24a5a9c3f2bd694711e0d24af8 +AAD = 405844e6567eed38e7016700d4a4e2d1 +Tag = b8d5bc62c275c18952a88934ffadbb2b + +Count = 3 +Key = 16640056ab2e7808100f65fdc28e44fa +IV = dad25b14b0e9b957c8722616 +CT = 89797812aab47b98f0ad8386ded8ea56 +AAD = 731d41eb3724a1e84a141cd9a8836f4f +Tag = 1411755b3d1296890c097936e0d290ca + +Count = 4 +Key = 7032b361a469877f83d9668838061996 +IV = 28e286e5f922dd7bb81ce0b8 +CT = ec11a9f40e77f051678a5465c729eb21 +AAD = 807d7c30811caec6f06764a8091cb52a +Tag = 4bfe1d6eb59d2eb380fd1204454bbde8 + +Count = 5 +Key = 3b28329034bfbdd5f1620f6b4b595ab6 +IV = e66eb11a1da033608ba1cf9a +CT = 94ba44e1af6ffe10228acf33cddc0e94 +AAD = 0dcfc1dee0ce4c79903e1a24703529bc +Tag = 7f358262f54a38444b938b685c22eccc + +Count = 6 +Key = a21b800a3043aba1af21825db1dd2ea6 +IV = 9f2336fff34610f2232674e4 +CT = 492b0342450427afaa630fcc6d3124a2 +AAD = 86347ee4d37e6718731d82f80b33dd7a +Tag = bd90a67aa7ca071e44b06edfb5266cd6 + +Count = 7 +Key = 245e1f10c8731e0e7874c451e1ad42fd +IV = 9af7e28cf64f5ed1bde06871 +CT = c9e238c396e2418cead42de4891f414c +AAD = 47b706393cd37cdbb0c8ca6d6140e4d9 +Tag = a63dfbd077a5ff2abc2abcb2ce07b438 + +Count = 8 +Key = 81b30bea30dd5416d48b8ddb80b3d718 +IV = 5bd236181e0bddf7e33c0307 +CT = 4ede35836f909a5a28e29b46d05971dc +AAD = 3d80e42f2de13d2d942090b66f69bcdb +Tag = 1eaaa400bf0472f44de9d842cab3d3e5 + +Count = 9 +Key = 2a9a07b436d13745ae6d8662abe0e1bd +IV = 993b7cc0cbf8b76e7d6eb34b +CT = d6a25ed679cb70427e629bbc4495ae94 +AAD = cd60014c86d5bff865e1d67b2a26ff57 +Tag = 77723d2a48d88e6fbc6018f32e013dea + +Count = 10 +Key = 1973fa01d9235f83e52c6a921550a755 +IV = c8a17224b1010f0e92adc196 +CT = 5ca2b2095f66c7765a9476f6fb764625 +AAD = 80b4c69641708621cb013d0adc36e8f4 +Tag = 54318ca4a00c0fa0ab8b7f3495e598b9 + +Count = 11 +Key = b031a986d0fa75f1884fda3c558cd8fb +IV = 250215b9d842575b213d04c6 +CT = 4a4c329aaeec8d46298e86423e6f0ea6 +AAD = e5c006c84aa8350a783487ded6a40295 +Tag = ba93ed53811b4cc54611f908175f08e5 + +Count = 12 +Key = c9d576b75dda503477fddf840c5f5b4c +IV = fc9bf997875cd062f1dad495 +CT = 84e80819c2b42e0669d0ad3877dc3fd7 +AAD = b3924dca6f09f796352e872ad13dc70e +Tag = 693cafd0bc95246d26973e8622562f87 + +Count = 13 +Key = 83bd8f6496a33840724f32e6e1585f5d +IV = 4b9b83f2910ce1f5aa6f0cbc +CT = a679dfaeb07be6b4a957dfd2025c8838 +AAD = c738dd380867c272d348df98a483bbdb +Tag = 66f474b820c62436e6918fba6e515d2a + +Count = 14 +Key = 9ad80c9f27011e114eb704e9ab649e34 +IV = a58716048b6900cea4a4c67b +CT = 7884518fcbb8832884bef40f8dd30a2b +AAD = 3d3ff84f1a496ba0ef422d3da0f2ac15 +Tag = abd950981e440413cc317439172c232e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 4d75b9a19115b3a0a8796c0bc9986dd3 +IV = 3def5a548869418becfef8bd +CT = b2d98d3d76a954737b86f7dc3d3f572a +AAD = 273218174d1cf898437d70b23b739792f8b227635cfba0f61b35eeecd79658ee3ecdd63f4323f023dd4d27b3a4b8d1462d25dd3c78199c0de31803ebd7f3041e +Tag = 653614039573d0ac40ac980ff5529763 + +Count = 1 +Key = 75067c14b8bd654ae1e6c7488acdbc59 +IV = 1a86572b4ba21a1a71bf1f7c +CT = cc0ebe9e492c866c8d477608ca435c70 +AAD = cde7396d0609702661f351b69a54624f83127b533c38a61d344ec1d74641c134fbbfd85e7a935416f926dfb64b5f0e9b41c29041896f5eef6c61427da18cf19d +Tag = 1dd708865e6634ed23eb27c5645ed7ec + +Count = 2 +Key = 0142637e6699fdc0359ad7db8caed65c +IV = 6a67ae21c17d8b9436ca6939 +CT = a2fffe2b6e531d1d8c28c3a50dc22358 +AAD = feb51fbb1897d469217eee620816033b020dbc4b868d7ef93217a7c00c91e7ac203f97b8a36a75503c22d5d8df66d61a7df414b28b45904b826c9ccb9276c06a +Tag = 5852873de3cff64b01902933fc1c7562 + +Count = 3 +Key = 95a7c987acb982164f4a084758a22526 +IV = 35be074ef139fede872d2608 +CT = 161fecdccc80f64227e69348da75249e +AAD = 99d957b9ebb5245f794df57ee4f72b916d9e34f53f485faa843da7054c0965d5597c4d945a8f5495549b2aaf6a36486521caf29869eba23cc79fcbbcce946b7a +Tag = d54a1dfffd362e8f7ce72a2d03ec870c + +Count = 4 +Key = 35126e65636b39c4a0ba39a7e81e1b9c +IV = 2099e6ffc3af8b9a74761430 +CT = 845513314be7afc4389b8ff7bf851a5e +AAD = 3b1479ba9ea078d4f83c6ed134a971d15f830a339e594e8a4f0d08c045161aa2122fc75b07ae11e1e14ad434e872f48e243d3b96ada13d365cfdcfea9bf57f00 +Tag = 5c0270229ae1d7984ee41dedb747d94f + +Count = 5 +Key = 0ef153e6c8150298404522eb6af90156 +IV = aa2c7413130f333acb237436 +CT = 9fa6dc7f41ea7040275146a10254e855 +AAD = f293929264d91bbee713f66173f44487c9a9f03c1983a8a11de68e2c8aa8d578770bf1d2b4ee05522aaf1c0dccdee8188c85a8e5aa07240c031e8472fd739cc4 +Tag = e8d30d86a14baede3139764a93b852e2 + +Count = 6 +Key = 9004e365e6ad4f1939662228fed0453d +IV = 748227beacfcee0b67351b16 +CT = 779902b9d00595aef3fcf3e795613535 +AAD = 924877ecd61b508723170cc05f70d327c437bc1d179afc27d07737369cc8d93dd77f8babba99a076621e72e4395612c7e3516c7679e534832d9e23e7fcffb948 +Tag = ca4f3b825076f343bd185e4db4f3a63a + +Count = 7 +Key = 5e6d2c5cbfad28c1f270281f2c5a9e65 +IV = 5da76498d9d8a541c758ea90 +CT = bbcf3b2f66ecf17523a0e5d99106c7d0 +AAD = 48d39bfc2aa6bf84fab72f68fedebfbf8257a4cea2c542a78ce9aa70cedf7498717cb0b9262f480d7fa4035cbf863597814ede4dc38700e630bc82c6851f3d7f +Tag = 7af59fd8e69c8ee273fa9e0c614c610c + +Count = 8 +Key = e4f9caf98c40c22a43283f435b6e4dd5 +IV = 75f4eb8da6279317549df4f7 +CT = e2f2ede215a2e60cf8bac6fc899e6aed +AAD = 9bd80cad20e3eea121dcddb7e9b6f1b6f14cae7b5889d01cb79049ca82941b5fde22411132b4188cc3c10a538f532f7e87e01f9ba60dd4a61b3ec2e8df615caa +Tag = a35d5bcd9531afa5b076323112668520 + +Count = 9 +Key = f27594a8faf12a469cebf8bd6d64a019 +IV = 83924fbc9f3539c4e780b382 +CT = 9c6465659b193ea22a867f3dabe379b9 +AAD = a25f3dcc22eaf356c596ef62cc7a5982b3518d32a541f0b21a016a3e1146ca1b00614f3257f196694310d272addab76f33855cd5b250779257164f221e3a754d +Tag = 86b29ace30995062a76a74628531d449 + +Count = 10 +Key = 987a9ea112a9a0626933266e022d50f8 +IV = 956d165ded58a751833ebf97 +CT = ade29a3d83b09d4cb8f5b86328b5eb2a +AAD = 3ff90af6793ff2ad79424b5fa769beb464572abd399c860b85bb9d016e83d2d4e377160ae1740be68235ffab9749653f46abe3bba1aac14ea97ac8a3fb551177 +Tag = 169637d27680a86b1c251688fd2ad742 + +Count = 11 +Key = 1848d01266faea3b3969f6335839e372 +IV = e2fa49562be47a0837d8b109 +CT = 311ec3d12ce87fd887476d01456e9a65 +AAD = b8db7fe0e164ee371302dc55c3e6414ccbb3a6c02fe3535b26218e58cd0f80d48c5a8b28c19a8c92ce474ce90efdf65d4b10beae5f4d10d74189a5cdf5d54ce3 +Tag = a7cc5c14e53a6261c58cdbed9fac87ce + +Count = 12 +Key = d24b0a1d78f4eb2534ddbd7e8d8fe869 +IV = ae8f1ee4a9988e5b77467d5a +CT = 4412bb62d164ba4f1ceaf0f940460c97 +AAD = cc9b49ba05d2d22bcfb206cfc43aaaab1e00563d7766516810d66aa255484c0dfe39964c68b5d788f52bf2478187251622474faceeef5e80a137a33839d401e4 +Tag = 49c30c4bf88376b228ac2d4e8674f0b5 + +Count = 13 +Key = 1c17d5b6c26c75032cfb17dc97cee90d +IV = e88667f583d2612d728158bc +CT = da258232e262d2a36975cf7474a3e536 +AAD = 0e352e9974324f3ab7e210afb3614cba3738969840b846b44206bfd5a9337949e3467885fa482fda112a280cacd13d07fff2f69410256d168cc48edc49d707d2 +Tag = f0191e948e5b294b66299fcc6b66b047 + +Count = 14 +Key = 70e18dd63d2625df3e3f990fd6f926a9 +IV = 9cedd252e0efa6a7d4041c2b +CT = 6cc94361bb77a1330855466067753ac5 +AAD = 91b268b9a1d26b82b5e2533fa2474e3e40593cd5d437ee59460c300e3585abbcd0ff7b7a74b6dcdc85604da1205ac8fe2d530d013cd6e385e2a347d6034ffafd +Tag = c3b3e3890cc8621139669bdd5eac6f79 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = f4a2cf071d59b1f27d31330cd746374a +IV = 139abc130b5c63ca5a1c8a95 +CT = 31ce0343413aad1cac9ce54c8bd9ff9d +AAD = 7440a09f3d733713 +Tag = b6d9397bf285f553af8f8f067b8bdbd1 + +Count = 1 +Key = 3a4742bf4657e91256c803c2adbae358 +IV = 8f1c4a56745194c1a140b476 +CT = 75965a4dd36c6370448e91796e2c461c +AAD = 33aae8ac5817947a +Tag = a55cb473748f4b728323b69259ce003a + +Count = 2 +Key = 5f4e903ec0ed76274adea38449aaa205 +IV = c0f3b622331ee5cc78990262 +CT = 395fc6473468e76d22b6f80ec6cc92e6 +AAD = 67b70736ff6c8637 +Tag = 9aa37eb44ee97a13dbc2a290550eae70 + +Count = 3 +Key = 07783c71dee11a4db8243ce1a7535734 +IV = 73aa115d05e14c54a563f4d9 +CT = 358aaf801abec548500f43bf06cabad1 +AAD = 103529a1b291bcfb +Tag = a79a1930c40033b9b7eab3a53d98a3ae + +Count = 4 +Key = c0b4f66a794541d497ea9d19021f0871 +IV = 295edc342cfeb4277e67ffd4 +CT = 9e8328a9e1153d2da8ddf45b7d9ccb72 +AAD = 7b8d645ead7901a8 +Tag = 8ca8c6d9abbf7b0de9cdd3b7649ee7f7 + +Count = 5 +Key = fbfe6d9a6fdf53b454abf4ebabc527a9 +IV = 85ddcbb475846ada1c2a9eb0 +CT = 817eb72e57910f50333a180d816140f9 +AAD = d07e825b03125b8c +Tag = 39ac0ed153895735dcedcc24b2a45a68 + +Count = 6 +Key = 5e419a4ec65f91e72d8d9d0fafd10248 +IV = b88170c17267b8bd384b0fbe +CT = c2648d8343a33812b3d8783968522a8c +AAD = e5cf19514291d0de +Tag = 15055925c20bceabcd11308046e3a18e + +Count = 7 +Key = 75711d145d8712c767be6e9c159b9472 +IV = 77512b49be3596dbce4380ee +CT = cdf1e307b8adbf79148c756f98139536 +AAD = 6b876027e7703595 +Tag = 78ebacc519d19bf5e74487227971df1e + +Count = 8 +Key = b30dbef64f6019602efe70bb38f9eb46 +IV = 968f1b1688e70a1ee5619905 +CT = c1cc132cfca36e31b1cb1c472d10ebbe +AAD = cc9ac2c26588ec67 +Tag = ac70b41f0bbb6210fe7af03912013747 + +Count = 9 +Key = a902a3510e9f7bfbdd5fba537075d36e +IV = a6752301231a7646f74dbb0e +CT = efa6a606d7bdb6c94e4f78360d4573da +AAD = 3690e0ab3b47adcf +Tag = 92cb76e11ee38b44067ffe9b1ab809e9 + +Count = 10 +Key = 4baeb9d6d2199491ee8ac92184b3c95d +IV = 14a5944a26e690694468061b +CT = a17443e461d94dec6efc650674578be4 +AAD = 37c3e2a5f59d2ac1 +Tag = 2e728f505620299dec844243521334ea + +Count = 11 +Key = a4678bfa573fc3d736a138a37c9a70e7 +IV = e6d2f6eced522d45c03b069e +CT = 7cf9fc64e3841dd6475fae4ea4757747 +AAD = 610542f20fb0348a +Tag = 902794bd39fbf1dcb3a744d4217f69e3 + +Count = 12 +Key = 8aa70786660f63b68e3eae11ccae8736 +IV = c9e68c36248ee6929c3a4121 +CT = 335143ffdba6efae9c1104a91122dd91 +AAD = e02ec65d195a971b +Tag = 29a51a10b03fae8b78857b70256d7353 + +Count = 13 +Key = 5790d99c3f49a688ddc2a6f82df33631 +IV = a1c2fd045be8946d44a21afc +CT = a57e65d5695f23bbd59a23294c8f5c9e +AAD = d22c593258b98ccd +Tag = c1f3c3d94a3bb3e1dd01c3c2533ad9d0 + +Count = 14 +Key = faca4bb299e9c80148675c6edfedcaf2 +IV = 0d47d3eceaadf10f85c766c3 +CT = 8e208793b249dfee8022ce3867e01a15 +AAD = c816a4e54c6be7ca +Tag = e89f7fa643be183c49b73179ed355510 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 3ca80f5f192a76026b69fb8f87c35be9 +IV = 1916744ada8c502a38b07840 +CT = 9c0848e19a97b4c4278a5e00838d4dbd +AAD = b4a0b2f9cf07d52aa7641ffb26164a648f77b8259680cd05 +Tag = 946e8855bf49e425762e7333ef1433ee + +Count = 1 +Key = bb6817344b3dbab53282b8dd828cc331 +IV = afdf26456e4c73e035ba984e +CT = feabc6b9b7f50854ac79d1283f5176bf +AAD = 9a14a5b573a171736a0772207b1c6c11cdeee962e51d1de2 +Tag = c0990883b397e4ad77e6bc9e1234e68e + +Count = 2 +Key = e649cae476bf25190b37709171f071ca +IV = e92b1c8f480bf32cb0849d9f +CT = 1970ade7917f3e500d2d8d9359a2f6b2 +AAD = 9d2a476944d6c722ddf1af29d7eebd86c54e611746a522e8 +Tag = 1dc4f1b268daa39bb6971631de23510b + +Count = 3 +Key = 63cc88288351ad8c1eca25b908210f2f +IV = 35ec7c916e245d20db78e101 +CT = 5ca71bd83f946f756337cb4b223987dd +AAD = e96d1d832b637e03bb513d2da34396e17aca4158fb04b616 +Tag = efd9b9f70e8dcf5e1761dbf697ffbf57 + +Count = 4 +Key = 6ec109130112b7db13d3c341559e1c78 +IV = bcda1653688dd593b2cbb85c +CT = 9f988960c8cbf237d3f9f765e5e31d9c +AAD = f3ce74f41eb6f8df3529a2eb7e8b4d98ddcdb2a5c74404b9 +Tag = 1156c6223c91ec0131977b58aac321ef + +Count = 5 +Key = ced319db33673b691e7504a421fd2ab1 +IV = 16c345718e274b9572f513dc +CT = dab72745ad989a0fd08085d1138c65fb +AAD = 1e3cd8a527e6d0b9b8d4d8b519ca7ca78dc488b1c9b7d129 +Tag = 45da9e2606732e8ef7ee3416cbb455eb + +Count = 6 +Key = dc867234fc707c1ecdcba143a4315eb8 +IV = 09d1641863636251032e52f7 +CT = 5f4f9086f2988916e340a75e44f90a16 +AAD = 9a21dee6ece9193107c02ef8c53c3b5f58cb76400613273c +Tag = 7d34dfe3a04add705f366e6d38cd35bd + +Count = 7 +Key = 74e1f3701b3d5934e050491ed67db14b +IV = 7256a2ce4a87cd305401ead6 +CT = 4453b0104b29f5dfc834203ea4eed1ae +AAD = 89846a10cb9cdc7b1dd2e2ca27a9c5b90aa0bb3b2ff9c682 +Tag = 5169fdce9943e374df63278d480e887a + +Count = 8 +Key = f92afbf87096811a17c996045eefcda2 +IV = e28ade6087727631793df0a3 +CT = cbac2084108167169f5136db7f8a385f +AAD = 76b0d613329e4a89e1d1fbe09b661eda18cedc457969145d +Tag = 8ee09af806ce288bac6089e8ddefbecb + +Count = 9 +Key = a9501bff44883b6e3527c57b6b3db0ab +IV = d15327051da3316c2b4f8355 +CT = c29173c170860b2c3c47ab8703ef2a51 +AAD = 0f17f7118da85222acb666f1cb7926f98b0daa9c112c46d1 +Tag = 5c3f0e7c504abbcae463a11311f32c83 + +Count = 10 +Key = 314c885037a610ab4aa2452c1952f5e7 +IV = 17588b2ea247e12b83e7182a +CT = 4c00414a0e297af7d68766d9b422dcd2 +AAD = 88a3dbc9c36472a74dbdfb0f298aa07a392c0f9b29850ab4 +Tag = a18a16d698c12b4d6d5eb5f28194041d + +Count = 11 +Key = 27576c2fe975719ff8fc8790d993c5db +IV = 5cff5ef7d01ffabbd062dbfb +CT = 5a7a92c4afa7269717eec7cc2eb33715 +AAD = 16cc50a5e46e975b824a4067b8fa05ae5b8076b29c4de191 +Tag = 5aa19478173bb0045f4b63c1f55d80d5 + +Count = 12 +Key = e17f935b1344500c98e99d83b566d5fc +IV = d06c1570ec18cf7fcc28c1ab +CT = 6df5d1c2b2593b741eed741cd26780d6 +AAD = 95ac492c5bc60703dd017fe2cb375c445dcb21797a2a90ed +Tag = 3aba1411f29b78f6b0e1a5e522c045fa + +Count = 13 +Key = 50e97364cadfa20c46254ee00556d212 +IV = 8ec5b55749cc9a0f144c679c +CT = 6c83934a98bddb70689a4986f281cf94 +AAD = e6503bd34274624e667fd6c624ee5c2c5f204a4b546a9107 +Tag = 5b63506d2ebbf591a530b8211478a0c1 + +Count = 14 +Key = 519c5e4faa415d3a912630ed6bdd3600 +IV = 8c72d2523e7cb734f9637d47 +CT = a339093717b8a8cb69c98326a268a9a9 +AAD = ccf42a2d709fe857d819b3c60eb8fd1dce025c62bb20a3ff +Tag = 8dd4ddb635588a6bdbb31fdecd45bb39 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 577e3aadd6f71ee04975be78a5f89edf +IV = 09ae601650a60e989d4ec5cc +CT = f83e19919d8293fe17cad88f5f732aaa15f5fab89706f46c1d53994b5799680e8fcc49fcf2b4e2f864c70ee63d0f77835e6fa0a625aac3dbe2f2ab22dceee47e +AAD = +Tag = 0ceee3d77f6802bd680d637080c67c70 + +Count = 1 +Key = 3c3580d37c008b4162e1fa0eacbf1be4 +IV = cc6608a7ac91eec894650caa +CT = 3e73e1bdd220442522136e1267388d83cb785508fc51a1654ee917aebb9164964662313ff1aac4f8bf58304b61b2ac2d57859e88f0eaf655b13b99f353e56bad +AAD = +Tag = 003877c2049439214d0971b014646a68 + +Count = 2 +Key = 1a4eb5ae3d15317836753b79290f2124 +IV = b3c9d436f7490161db030e8e +CT = f9d14b4e255f435cfcba9dca6aba059485b5b461560aa3648b8105201fc0b6224f5b506cedcd2d004113909419418e39f235833f2b3f51227df5f08c1a73d3e8 +AAD = +Tag = 056b125b16d58e9fac9a36b0bab2921f + +Count = 3 +Key = fc5e03383f89ddff5e795517f8204157 +IV = f4a6a21aeb89658dbaa4ed89 +CT = fd639a53b4972ec32457282d4a4a7acce26a39db06a6340559baca12342b8cab07353992c524935046e7e3de86e64f40f09a396ade2adfaadcf40f6057d39265 +AAD = +Tag = d8b3a7a15bff2ae029924571eb4cba22 + +Count = 4 +Key = f4f852735ecc08889df2baf514feb470 +IV = c5e584df5de1aa927451b336 +CT = 5f36812c7ef4516e771cae2c744da0c667d54e717aa692709fdad9fd05f9acf0308f42a6c8a654a30264455500c488c5d98b928e54110247cc44840c679150fb +AAD = +Tag = 4474500bc4a8402ce2705364688cf154 + +Count = 5 +Key = 144591aa981f897db5924797d060882d +IV = 435229128440cbc0b81d3f6d +CT = 083ea1435cfbe0120ec5c7524863b9f92efb4b9a7463184e72fcdd69390cf35b1bb9c4518dad5a6f889b0c6d24e357c4c0f9a6abf4a3d21a61b1a59c6b5f5b1a +AAD = +Tag = a25334dfbbe854670542e9c7261d0a57 + +Count = 6 +Key = 3bc7c43a56bad7df6d2d7d0039bb0a19 +IV = 80348816187b0fe085a3ca06 +CT = 4ec3c86107407f15d80e8832385920dec618cfe598a4fd280d093f1a933fb70e836ba4716daf4583d70626cf68c3621982b66dc0ecf2f6ab22aa3af0e37bd11c +AAD = +Tag = 7c2112691c95dadffd485908361b79d8 + +Count = 7 +Key = 6cb1f1964d7e3c7a1689e76f76746d21 +IV = e415e33b180b18bb9c56d7a2 +CT = cdad19e4416f7375db79fe28ba2a4a26303f42558affe4657038b1da3233d05f4bad48abcdab36b409353be8df8349e98f8457c6f836f2fc05779adb854e200a +AAD = +Tag = 0d7df250b7cf6fb8f7e117479c1e6f52 + +Count = 8 +Key = 9fc7bdd3cc58f0a1e9940836884d90e0 +IV = a5fc281cc389be3309d368c7 +CT = 926b3a2de5dccec8aeaa368e427cfb4b090c4455b3a5d4b714726f45bd1b8f902e1476a4e6cd24bde3a015eb7a64f66484e8e401f63e5a47bbdc3f88c79b44e5 +AAD = +Tag = 6314f0b76ba908bc9da6345979c3eb02 + +Count = 9 +Key = e44ec9edb37e1ba59493d7ab700da644 +IV = 4bfa6109d8b6232e67bf9dc7 +CT = 01473abc60ab4ec999df625be60ae4e1b61408120eeb68d5f3e1f86f90a037c40d0ecd259878a0f7e7b95408df63e99aa99347f440c803a335a25760b7d663a6 +AAD = +Tag = 7688cf763a97f9b7ce1e795498545a81 + +Count = 10 +Key = cd272346dae138dfe5446e76070855c8 +IV = e60d11c035acc12465c0794b +CT = 1975a258fe06e15ab867087c097d799655580eb7d8faafac6922fd42834bcbb6e30a3052f908f632cfefbf9e7f572284019fe4753c6480114c52499568a6f124 +AAD = +Tag = 54f65f7b454f7dd909929f14bca41786 + +Count = 11 +Key = 067724044c448fd54f6a547421fbca87 +IV = 01602e7d111b7866ba70f165 +CT = 55c206ac1654fb49627428922ae692c8c816d432f20cdf9d4b08c6c50f02fe4e51c5e0d371320c8c60f6255adcfd87755acef5ddba7033779e106d3474b533d5 +AAD = +Tag = 7336ce9ccfc46a26dc72a0f0569699f3 + +Count = 12 +Key = 9e7bf200f2a4d90ca1b156019881ecd4 +IV = 0c07c944a353e5f3565138ff +CT = dfefe45ce2d62c79881a9bcd6b032570fae97728e62a3ca1791ba56c3c500c252678bd79281d9dfb302454eb7b0492b2911928a25cae1b0ad2c8af2ff961d0d5 +AAD = +Tag = 73f7e23017fefd3e5ba73b4d6e7a9356 + +Count = 13 +Key = dbe19f076b060785db5c81e43b2b10cf +IV = cc2c812cb434861c623f2906 +CT = 6055fbdf030be8e39240e378c0114408cccee7abe3247ae92d8af482e6fb99540a560cf849564c6a631c2ea5d4f1929cf2abfe85427cbc17fed513f762df517a +AAD = +Tag = a8760e1be55e0d1255bfe90fb88ba663 + +Count = 14 +Key = 8830e8c9d0b20f212611c3e1aff365fd +IV = 2e3e19100cf10a59f79b0e72 +CT = 4f6ab5ea9cf17726693bda9f460a6737c05f46477adc60ef379cfae8e84cdc47277e9a122f5805f7ebec99041d3f6e727d9fb7afd480794bac48d2074497b762 +AAD = +Tag = 32ddc25a25825f1de59dfe681d748cd7 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 0534c65086aa9c895384719649f31844 +IV = 8f0b7421aff9bde28bac9251 +CT = 6bde5aa7bb4ec2a44b6a945997dee87f129723a7edae88e1b52b58462730a1735a3edc64b96eebaf0ce9547988b75d80844805002a5524d582e1273600f3ca09 +AAD = 6db90e479273eba200785c40e91b16b0 +Tag = 6d313f2598c5adb8e3afcac5ee3fb225 + +Count = 1 +Key = bfbc94afc296f5156cf0e1e24a54fe7b +IV = c1bd40a18c5764cc52c158b7 +CT = 67ff05e875321715314121264b682f090d7043e976834eea414f9bc4b33a77f6c8d9f2b2bf62f84b6d49ff5220dc575554e05e7762de136a014c979c3dcca562 +AAD = d1b48c4893d8f13e7669d0e7107be7d9 +Tag = 57d2f2a1b5b537d6571529e309186eaa + +Count = 2 +Key = 6cb310d1b2072436e63cbe3e090463e2 +IV = c06a58766a65977b9712ea0f +CT = f86027dfde3f85b15a991549d648abf61abba5a65b950f8b3f408aa1654c459f40b76237f9840c6a036c3098b6710db4221c4e9ea54729e9ee1fa8fe8f8c0664 +AAD = b74baf5b29d45a2607b0720cf9a7541a +Tag = 6f0a53eec66cca9f156a98746685464d + +Count = 3 +Key = cdc2d95e54cc13d5674f6733ccaa09e9 +IV = c5cd638a826854c05f93798f +CT = 544ba610c246aaeaf51d9cb827c88b5111b2106251086ab986af7f2f2d62ba5ea30fb077a754bd4dcda1496b1477a8dd5c48d086ff50135307c2227db6f09193 +AAD = dc8f01c942e87cf8000c92c77961d063 +Tag = 46db2155f50b4889d259120364ce55ad + +Count = 4 +Key = 81d769d13aa25314c51a8b1d89d2f11f +IV = 90ba3b55e3d642c6c44c6c21 +CT = 522f96819bb3bc388465e0457f8a8094e899e72ef88952e3e0ae63ee9662d9f217e81a19f1fe8aca60ac45496f3a34c0b738676f01d365c608dab93346d980d5 +AAD = 7c78766b12ddc5f6efd1839cda69f711 +Tag = caa4d66a16486a2c5e5f435a40b31ffe + +Count = 5 +Key = 419ec11871599547683ef86b7513ffcf +IV = fc60708cf1652bf1992252c4 +CT = e9d25b91aa9a88d175245cc489186fc1dbd9f4f7d82b046c66eb1a49e78e75631084531bc185e3c83189d0cd22c0c54a555805cf25d421a6fbef4910e8f8b7de +AAD = def457bc6c75a44ed5634f673247384a +Tag = fb8d9ba72a06a9c71fb32a9d83038635 + +Count = 6 +Key = 78448455343c2d7d9a66198f332d7f91 +IV = 0a85b03719839f6de6c78143 +CT = 7176fef62d7944869b9165c905f756f589b3d3c0ce282121b3ce323cdb7627d2bdf0765ed865a6999b887d1a47d21833c0166e51591312d21e4e4ede6078572b +AAD = d3ec829ba4d9133836b2e61c708dcbf7 +Tag = 36c27679b7b38af87c733cafcc00918c + +Count = 7 +Key = c2e0f46dd92cc214fc41e466ee527ac2 +IV = af36c48211b28a721ad974d2 +CT = 6e6f5f2b4be68dc293e0832f79d856d0154a78acf1b3858788a1d682e107a96a424a804a678d94442932f46c6b35566fb2e4c055645c0348d5b86792cefc1132 +AAD = 6c88193259b98b3fe12632713e8e8070 +Tag = ca99912743469856cf5f414909d6193a + +Count = 8 +Key = 32065ffd94a99fbb8193df713b530ece +IV = 64926affec15d0f1b2d06c32 +CT = bf8684f561b8c6100ca03b7ff8046a25b840393b2d291a6b5a0bfa95d957ec1f38f48668ae86be157c39aea7c40e6bea78a719bea082da7f2e0388e02db52535 +AAD = d8be26a0fe22cb8daf3a4f606617016e +Tag = f21ad8be7f8714db1d3d05c97272dad5 + +Count = 9 +Key = 1f3358752a58fcc6534875cac665b172 +IV = 332d592b9e468776f9fc6fa3 +CT = 4138e83f82ac39ecb9ac4a0ddf20d2fe63fdb576ad0268b5c0ba082d05b023222db2046adda13e89816c4b65fe1f536cf501640b891a69b84d6af8dbe17bd1ef +AAD = e6631d8b85a19b6c1f10629af5f44997 +Tag = 486d9ad61cf8f388a0fed18c7f02d965 + +Count = 10 +Key = 1b0def413bb8ad81fb4e2f5510f075cb +IV = 57eadd8f02d732d33cc4a8ec +CT = 8af67f6576793c488de66fa1d94373b16b6aea47cd78342918373c783d0c21df5d7af62480d0c1c05e82061b880159e7938d24b9e090f1cc3320140c2c6b2332 +AAD = 1d872811c94d68b06c3eb281c7b02de7 +Tag = f75be7ddb19173b4a47ea7c1255f631d + +Count = 11 +Key = 6c584c5f6ab51b1830f59fd1084f77f6 +IV = d1a05c07ef7fc25dd17f4fc3 +CT = 5542c1efece25a127f299e15e2b5a3d973f82fb4175ca0e9445d418f0a7e28fff6730fe53d0b16d6b29fc4f766a707f89dcdc48ed961e3058849486a774b7bf7 +AAD = 93e5055ea89750242e6efce854b8f9a6 +Tag = 8d34ec125d970e2fbdcd7e7ba9a98d9e + +Count = 12 +Key = f262d9fbd802d5483c4131f05dc7239a +IV = 47ce569d20f9394ca04bce06 +CT = e39f3eb26b2f4929e4de78f47fed5fd80071e04b30982c8f0486fc885fa8086cc8e1e7258fa0a3fdecbd705f254f80883d2e04bc303c636df58da9c3c27b3471 +AAD = a9ec76aca17d9be1bf8f66b4d8f0f6eb +Tag = 04dde140b03136f025574ee1463f6a2e + +Count = 13 +Key = 1c57c0a0d41573abffa93862135e97e5 +IV = 8561168b2446a501404e6c6c +CT = e61e85ae7ed15995159979f4363dc9f62c87e124f24fae3a850a77eb6b3c518183fea403ccef9bf902b7fc1569b825466319a1f7e5cfa5f9ac503d63a291b3b5 +AAD = 15844f9a508d4a2f94aac0376b6c23fc +Tag = 09bda79b07d578e52b40b6660e104dfa + +Count = 14 +Key = 2af65395984f10103077803137becdc3 +IV = a994c4bd32ce94efd3532c20 +CT = 1a995af3a949baa83f906a2b9be6ef1d016684286c2a0f4e488fbe95df395c1b76c9f70cd4d7fa374d83c191bb348046aacbebbd9ace2ccb95b64076867dc33f +AAD = 6f3b79baf909f1cb6d2dc6692fbad521 +Tag = e7e2553a6135c1c8077580f220da90d3 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 31e4a908b8c98be172df1b08ed795135 +IV = 7497118395e2dba51e98ba07 +CT = 36fae1d2f7fdb33a2c2bf8631dc070b014c98371933a1d9ce67fab4d0dc630e0c0565688835c43c6bf4e1b06c15f9aada9969c706c7344de27b50480b6831253 +AAD = 10b1b1e331daf256f21cda786bc0ecaa034f267885c9adc5aae4c908bcff027a78e111864120d213c8e947bcbb14c37fc6e4f6297f3a15c5ec015709e1888065 +Tag = 1384cb08f2e1a771fe8dc9790add7a0a + +Count = 1 +Key = 1bdb532c1f898758610f2bb80dcd2a4d +IV = 166a64816a59ba6c18182f3f +CT = a8af7ed51548990572d0b801039b4f99688cb49d48a0faace57e48a99499911743dc86daefccd74c8a3acc68e433c3a61e610da5178a3a182490ab940444276a +AAD = 2d9b5ea050cb8614e747550b89944148969457b71429b14725da0e8fffcd7ec52b47cf6a18a96e9dea16d8fea1e250758e3e47405885fdb6bce21eec0aa61b20 +Tag = 35e506e0d0c1570ec508977036efcce4 + +Count = 2 +Key = 5264fd91aebe1f8a15b8d5e14ad655bf +IV = c345f103f8eed72cba2298f6 +CT = bd002f6ccf503977bf0b1e312f1cc0b3dfa5208f4b29dbf9d17e879fbd42a5e93eae620b0121c6e389565161d8cdff2e7c315621b3ec19ce967bcc06b0bb06b8 +AAD = 9b9b48865c0703f2b6031116b2d3b9a764010a7191dfb89f269e143a51ebde09ccd925e523854d990c9add1bd6232ea964722bac66998e24ba176fe1c090b971 +Tag = fac99ca63e1d7710450d83fb140d2241 + +Count = 3 +Key = b166a8ef6a775ac73265d2d2de7877d4 +IV = c0bf24847a335a54e4e3da19 +CT = 91b592f34c101a762be97f3278c5d7f27be229b12a5327b48add74b96fd29de0534d4ce39d759f26ad08ccff5fb35fde2ca5d872a0e9cf5ae19b9a9151b46736 +AAD = 16fa6d17b0ffccfc4adea9dc9bec2c8e825c2aef0ca1690415d52d5f7b358f413b389a5ded8da04fd7df43ba45cdc3be21442dee49b9774264ae154effbbf89d +Tag = 57a4e19f66c8d5cb97ab15f1da24e50b + +Count = 4 +Key = 79c4610cdd8907d1e65da39b9693ab4d +IV = 4b7d93ac9cb83da77c66b1f2 +CT = 50ff62ef7b4a7b4773f57bd25d412aaf53cb82085e80286dfeb87aa1b9d6081a38a3450492ee8594e77469ff59ef2196b1f93eaa9bd6e0c0356c61ff96c56e08 +AAD = 1c25bf47b9b0af5c26902656a57c24879d13c6664a3ef0fea005b8ceccd78ae5965bdb3d4311ccbb2a05878b8785ccdad45f66d0a52a8509bff1594f671be0f8 +Tag = 59fbd3fd5a72f58b5fec5e36666d4357 + +Count = 5 +Key = 6d0b1685bbcda929195620269c3d2bfc +IV = e4ce0eb69dacd5cb40245d91 +CT = c4d09195aaa2bde287328bb2d52ed630b5e5506d8170dc03b3a2feeb521c7876ecda02ac8d50838e35cc7b8c2fcd59f4acbc20d1f6e702935e5a5165bec0cd1f +AAD = f8ca85214205fb89a1b48e1f234b15bcae3ac14eafa760eed1a2cc2d714efbfd98fbbe09a02b9a26b2d1551642de86ad65ea321bea7614b33bf8575ee188802c +Tag = 1d9288df652ed2883d1fea014c21487c + +Count = 6 +Key = 53834d7a195688d6f1316459236374bd +IV = 0916c2c46aba3a55437cf93d +CT = 9dd05a1e27f068c71cb5a6281f0e4f3bc952b5941ec17ee39d949102b4e4e68083ea54b9155375fbbddd5b6f4c2b16b8f4ab20c4e56de8c79890f7b7b6d118a2 +AAD = 723ecb65ae12a211b13ac932a913f6a0ef793fd9bef5004a535d126f301ba1acbdce31a355e0f0ad091dbed22372f6fad3c757029259c7a87477213270316384 +Tag = c271f4c93cdc73c744f1a6f559c7d537 + +Count = 7 +Key = 42c1d443ec3f2f99e065c21bf3e4017d +IV = ba099cf85b7c365888393a7f +CT = 3e364cbbe6914468c14f857f248240328109c0d03ba7d511b098accab16574b8b339046cdceaf97f40da974eeb67d3a6fb408d4f174a30b468ec6b398c976060 +AAD = 9707410add8d1fee9b55b6f9f4bb4a69253239705465a49ddf26010fc97fc46f881cfa01b865d8b48d2d47536b5f09825c939847cd90a0d2d7ebd8e4104d7229 +Tag = a0c1fdea249d75457048977f558ba26a + +Count = 8 +Key = b13b9ed57108f633413b1a5ac72ee314 +IV = 7198c69cf8f63e4ca7f511bd +CT = 90a98c3420da218803274462950a4acbbbe3929203f6bb31685625d61cf2457c6b718ef9114a6620880d5049bdef2c01abc594385d7e304596177e1472d0678a +AAD = e0fcc646308a6ca30d2dfacd9ec899368f0af022dddaa08c3dde022abe0e98a9838b82784f419ce444aef7ffcd56a62341041d72c8da86b946f02c6965ba10ec +Tag = 17b15748283e40875d4e44cf2e93f1db + +Count = 9 +Key = 3842f9f99b89ad77c0fa43603d7423a5 +IV = b2fa02c4c5ea62110b6511b8 +CT = 1fbf169718d9a03146e904fc9d254ee043ec46e34bfa559a76dcd92b9feb92c5555358f193b4c8a6144ed4dcf2b5bd9ef2600cf65e2bd9a58879e08db08e1e26 +AAD = 28919451c94d4374fc17ab3bf528968e867528baa6afc13e2e08332a5a48e899a0832f28a15c3d4538509f36c0409c35430f21eb029672f255a5023755093251 +Tag = 0ddb9ecd7cd208a382fa326ba43b40e5 + +Count = 10 +Key = 42ab93770d8c59e277d6a8b888a1bb3b +IV = 4dcfd3b90d2848f08437277c +CT = e910f681ef1e528c32217ae2f6e098eb222ffe6b4d6450f398a9a1b742cf033473f6ef28ae3ff517bd1c877c371f900e5a61115d97763c537fd4566b2445c981 +AAD = d38a5e8517d042653b013da1074997a14e4ff331ca4c60aae7f364b7e8ea750a63ebca7b2268aa33ea284cb006143227532e2a076f744e736a70800605029d74 +Tag = 65aca4db7dcce044cef05616d508667f + +Count = 11 +Key = caf7b0efd2c256450abed3f8ba68870f +IV = 6014017855bd336cd4e7e208 +CT = 40ff589a63a1231368b2b3da24eed836264c8995c63d708cbcf1b17b2c5a2ae4b579ae74f13b8bdc75c322b458f0265420c197288b68f1323d0e17f7224496b5 +AAD = a20fb39e4cc3918a462b4c4466b952141335ceeeda364adf9b07c5ac00c92f36e526aef7f0f2a1f7b2c087de16f5fce3ad29ec2c3d8ffb79982df03faa2ea73a +Tag = aa9a3a6f74814031aa55eda2f6beea00 + +Count = 12 +Key = 088a0d4d20d5f76afa6c81dae1c8cb1d +IV = ced7dd6f173b2434c3dfa10c +CT = 12d8202fbf37edea63f1082231a22e877268810e503d426862afdbf0ad20084a46dd58ca027921910aae7dec6303609d689169563c434754942f7d651337413c +AAD = 29d6311643ffec55244d564d2e0e82bb3c193d065cf885c88649a613ff9e2945951c3aba5bf8a2867517868b24b988115f224d617628258ca58514830e8e8768 +Tag = 282943ef0d93c07fbecd65f0a2c1ea88 + +Count = 13 +Key = 6c4a8b0d01716114f42ad79bf6e24a6b +IV = be79ea595e2ada728eee2225 +CT = 5eac8b633d6a97703148c6f7300a5b3883e93f99f31ccf0136bf2bb926bff962176e91e1b9531523c93e2b4720c5d6644f54b10060a301637404efa34b3a840b +AAD = b58a6b3c123436581e1ff4847262cf332d9dcee30c9aef6430ac4c8e0c10bd8583c87218137ae24fae6970df5564a92718a549a7cb55bb668f47c5af4b1dda63 +Tag = 6e341c091bbf1e61b1f56689b6dc7cd4 + +Count = 14 +Key = 3eeef15822ded5062d61343d8b5c4670 +IV = 6a0c99a6e6cebcc77866060a +CT = 10cea3a016b2e0cb2c16e96915c22955e231c8ecee6ad98766a87923fac8148c960185ad02ef46a9dbdfc0991c3928060e25b75828d929c47246e5eeaef6bc2a +AAD = 5ad583325b4a389a2b2c70cf74d817c54920bec327f4f6f386d7eee034b61d8386245171e81fc048d14016faeeaf229d01e4dccbade3ae271c713b12a40547d0 +Tag = e45f898816b985d35e5328314f7a2086 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = ea7b4e6e53be1fae00a698fe02d29d75 +IV = 6ba0c09020c4bf27fc71c900 +CT = 2dc48a38442f0071a203ccca88abb01eaf0f18b6e187a90971a53d8c77b25d5a14a9363e1ffeeea8698bb455d844a8797770bfa92d2f3e9a71029e441f2afe46 +AAD = 6e4eb3fafbe66efe +Tag = 072239c8d561de871e90fac6b3fdb70f + +Count = 1 +Key = 0d2e40cc983194913c8444fa76729604 +IV = 6251d6c72b05b64c082b084f +CT = f37ab66c3d3f17e995f43397ef24bec5b37ecd17b9c471636ef55c1810ef666fe5a8e0a9e60a32d904d580f5853ce1449492a4dabbbdc699bd43d62264ad7125 +AAD = 367461b05f878f15 +Tag = 1295bb44d888614c054cc47535f0c8f9 + +Count = 2 +Key = 1f13b007a55d7279335394fa3ce48f5a +IV = 020b429bd957600d879280fe +CT = b43345aec68ac0709b7c8921eb59326591afdf79eee691cc2060f8d740b46f4216e556fb1ed3b5f4eb8b887cbf17c6c9a92426b789b9f4f8001b548d992b34eb +AAD = 42a6a538cd580606 +Tag = f7230b304d87ecb73e32073744912c80 + +Count = 3 +Key = e55fdab1e98c51f070ecadca6c4ce333 +IV = 62524c161893bbd2b29c5b13 +CT = 57304139d0f5159bfb6ce3b6d2411c4bbea0d34cee01516c7c9cbcf89ed065679567b781394acb9170772cf99edf675dd6239dffe66b8c6e7bb96a735ce49021 +AAD = 508344b3dea66296 +Tag = acc5f39a056e9313a3b6722a1a7df52e + +Count = 4 +Key = 78805529daf521dbac8490ea0e13ccaf +IV = 08e10d45ac42e68b716c06e9 +CT = 17b0a8ee89f8284e0ba57a05a7820e5de0d088aba99259ec0d8a3bf75af92bd3ed3589135e36dbe9c2520c96945a2997d1a60bf729f4d34c125e87bc865fa1fc +AAD = fcb876b9b5b8b613 +Tag = 3f7dc02cb4b20e4992f2c9f81c9cc602 + +Count = 5 +Key = 5cd9dc8c1e19e617bcaa7aa8029d2784 +IV = d48635b51ffb7f0fe51ae481 +CT = d6d9048f52020c1ee74913cfcbf9b3ef672af16e58f70d2246065619eb03a9ca089bacbb2a50fee39bcbbbf96f298c327b4c9c739ea1bcac730c389c9468e248 +AAD = 42791c31769c0185 +Tag = 6488f610b2a54dae901cf284cc722442 + +Count = 6 +Key = d8c365115a8f04a1ae6e8f10d704cfb4 +IV = e14ea20d44e4d3da81b714a9 +CT = f134e7e6b9477e84144572dffc09840a2e8517a8a6f2a3c9163b2b0baec42eb89b160f2f55d9455519c657ec0bc96d94bc93ff00246972a04b7b28bd59e878db +AAD = 04ac873937a0d369 +Tag = 447faca134f28698851deb7ec86b9e5f + +Count = 7 +Key = 5b81beba85835dcc777e8c9e3bff8165 +IV = af18f4e67cd688264bae3c36 +CT = 7bb32acb9e01791b56ec77db5ced8793eec609f9d4f431f06487710033204844fb40c5068f717e3a46eb2b32686c2cc8f3530bb07ee5e1bd699efb0993774c09 +AAD = 431c893a271e9301 +Tag = 8c2ca683501cfe42241aca0bcc28644d + +Count = 8 +Key = bc6b2b88893eace084e6d3936b8a8904 +IV = 9a7dfac16343a456651dd965 +CT = 97b2ad7f8260caea20c71dbfbc9eb31338eaef690310e6eeb1f62da3540989a25e42587d546cd3c8e6fbd8a4ee3de1f13d06685c9b04d0d304f0ad4b4f1e2164 +AAD = f3560a21d66d05e2 +Tag = eeea346fd5018a1edce21f6299c43281 + +Count = 9 +Key = 1a55416a58172af68c5c59986ddf46ef +IV = 3e16d2c9508c7fddc4f42283 +CT = 5e1470f4b27c25906c7cb1f0b985e5debc4f8cafd9c4e6a364dfe2eb3fc48b9bfad7398adc266ba5bb0960a842f2e26fe51b94108ddf4d3a6bffc10798a4531c +AAD = 6ece6e820b6d4719 +Tag = b53c372097192ff6d8c780b542728744 + +Count = 10 +Key = 11dac4a00837441f925613904c584b98 +IV = 71ffbbc9682ecead3c94ba1e +CT = fadc1d3d0036f2f57c93ba62cd32943f86eeb60641ac79a9d44cd927b726195fa36357dda9e4618f57d1ff167a7a8965d13137ccfdd3502ffde8981505eae64b +AAD = af011978652b5373 +Tag = e17bbf390174c516993dfc74e8c84f9c + +Count = 11 +Key = d3c1324c044b08df4f0df3aec67a5cc2 +IV = b00a889db3df79fffa9c44b9 +CT = cd82018a4f584bb249a4ad5f715e597d9f2dcbb37a1ef241659641f24ae6d8289d79326d618c39a68897d9a1bc2070f4725de551cbdb3746c6deb9e69d724ce8 +AAD = 5b989325b5e7b11c +Tag = 2fc51e29a5f0eb9a1788364ac733078b + +Count = 12 +Key = c330b2603b35544723b7915ebd335280 +IV = 39522324f66eb0d7e9ff0b08 +CT = a13d6dc4fd65a6e468cdcccca4a5acad0d8080f15c4b51ce288816a622e8b3817ee76cc9ba0b71270a0adee9632c6f3cb4a133541e699c61834fa9712b2113c5 +AAD = 58d4ee5bef2c010d +Tag = 2438926ef0242b661a04b9872a25bb51 + +Count = 13 +Key = 7663240365f43d9496e272784dca6a50 +IV = 98cce4080edb270f42219864 +CT = 3d283fad84c2d6523fa5f793648fcfe6bc9b5d0d99da3b582ff6cccf5552d063942551d4eab1507084e94e6ed338259f218b753d7fc9d4a0e7c35961686e0278 +AAD = 647cc0707051364f +Tag = 33371315f6c3d84e41321544a6a10e84 + +Count = 14 +Key = 8eb3e36b2584d0779f2d9b47c5e71233 +IV = 33bc0b21bd345c9a90f53a99 +CT = 8be9a768d79afa804109b43e3aa7d901ae99c7dbb26e91c960225ae7b4ff9e5ebc55e1e7ee59c91f1cb4939ac150f32c26d81f0a7918e7e3a45822edc449da98 +AAD = e22629ac6c5dad7c +Tag = 5dc6bc5195d9c53e355ca3e9b7d509de + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 27630a797284e42d08eaa1f6c05895cc +IV = 9de62c1dd2d7c1e96ae1e5a3 +CT = e8fbfbe580029100ee74a943fb6e98cc2f8abe33a940a3a4a0a0c639b4bcda77caa0bda4ff4a5defb92ba9a253fa712cba78e159288a69ad59a7492183d456c5 +AAD = f8a3bc82c153b6aa3cca9a615fc89677ba258803de0b813a +Tag = 5ea63e3ede700e3660bda7307f125a03 + +Count = 1 +Key = 1c350f29c402bece6ab0d6ae0b010b51 +IV = 95f699e22c006c9004026d75 +CT = 7d12e82b8241fdabe1199d38296b87c2e581e976a6ad331f88ef29ee1baca31d38c9f30b8abf461d2a66383e03777c3266abbac71ae339ee9c3cf637d4f53c78 +AAD = 3b160bb2bfb3c907e02824104590aed9b72d960d7be2a028 +Tag = 02319be22755adaf38c95a612623f4e1 + +Count = 2 +Key = 4820ea2f74e0cb72b352270d729ba27c +IV = e6706bb300ca65469e6a7092 +CT = 6f7d01c3cb7ff24c2495d4d88c5bfe1e14d01c0cc8489ca278fe23b7d0e85a6c275a790ab36a336df0a133f64d2ea8283536c08d0178b4dd89e427899e9061a4 +AAD = 24da09df1664d8398f8b72d9edc9aefb90422e3a1df60f4c +Tag = 65ea93afc6ff5b6b87400af5c115f564 + +Count = 3 +Key = 8ecd228734d785d7d5206ca694616f58 +IV = e025f2e3ccdbbc26b2143e13 +CT = e5b28fb97c7cc27dd875eded811edd62e8845206687ef0e3e8d7ec71c168b45d96209340c404e6bf70a53e66b06c8cde39ac3c74365fd219c470c3309efb734a +AAD = c29241ac0d0b4a540df1c0521cbf2564898fb96c3ae52da0 +Tag = 840e31ba5fadc3d7c174914cb57346b5 + +Count = 4 +Key = f283f3d9a30c98cc1fbe664d7415691e +IV = 6923c705d75c6cd78d347988 +CT = f5b6133cb460b9be22254851e535aabbfb1cfe27579ef05379c29d20b98109bdce5de3992ab2d9b8da1b037ff9d88d15272bea5b1ef351577454710329987acf +AAD = 3fb8d064404f318425a6da74216ef48ea40a0d598fd10da5 +Tag = a90be08dd9a951c0447f6ac0e5e47958 + +Count = 5 +Key = 5bd859f2ae4d97a3e499278b8776562f +IV = ca0d6ff684a1c2c130ec9f4e +CT = fb1d1d0da60f774917f07709552cf781c7073144102b3cec1f91e4d18ed9a881f76e1ebc5ba91f997e7fcd4d36d0b8834464d4f91409cbf53786dc9b71172ddc +AAD = ddb9e5810a706b5c803fa3c7480227b4f0c93e564a089d3a +Tag = 9cabadf9b9a906d976571096321ef2a6 + +Count = 6 +Key = 81ee46b646714316e56d5bfc1f399457 +IV = f82378a27a81c9d3b0ad1964 +CT = 8e0ccf78917b4fcade4068c0cd6bcc62c032d4cad9a73340d6bb534c397b7b8d6f7cd1d2c6f4ef3a9db39d87152ea789e8231b9d49be50e5ddc230927d888000 +AAD = b65fa72d6331b850b053053cab14b87520ec802c98554e5f +Tag = 46c28a7a7f116bd27a00791a93050b23 + +Count = 7 +Key = 914dd3a6bc4c545a7ace09e045a0cad3 +IV = 230d4ba19f0131ea9fa21665 +CT = dace6d6749622d8923309eafac7f453acfb1c371ed52275a39d4bc6dab83a1a74c2908d580a464461998e0165de7c4e6cf6f5710003d29a2b5c4af1f1e807863 +AAD = a571fcc005fdfcdea71e63f365967fc1f261c2ef106432d3 +Tag = 5e42f4090a4b448b3f62565a629a9d07 + +Count = 8 +Key = faf24acaf4f215f87795018dfc165982 +IV = a243f0ab00ad89cbea698fcd +CT = 465444bfb2b3aa55f29bb5e2f442f10f8eab0516b0709e2e62556015173e36f96d731a73c4898efb010360a902338c510fd2e16fd663fd5d60c9f749db0159f0 +AAD = 6e26d511f8847cef7754e038610a1dc2ebe892b337c0c19e +Tag = 6be99178eee6788f0e4e4a45e6a3de42 + +Count = 9 +Key = 8023840f03132100bcc92d882a880e03 +IV = 6e65556bd29a763286faba44 +CT = 0e8adfbd00699308288af1c57c692128e6a6d17a3033fcf75166a2d32430fed29cfab210ef69fd83da9d24a87e30bdae5c6d17526a5946029769d1015e322ab0 +AAD = 54af1fc9069869f4aaa991192378b6cff3ccb11a7bfc347c +Tag = eb5a0a8179d229bdc3ac7133c22b594e + +Count = 10 +Key = 39d52975429cafaba1c5fd733ea70e45 +IV = dd8884afa8dba382d6fca960 +CT = 882f443ca571cd8e2b068bb854330125f9cb46ecf70acfcabb71a271d2b05644ddfc778ad09550eb5411dc8c9b5ef2a897fd9769a68f92c48410376fecef4303 +AAD = c19acd5be76bf20237be63e930f5428b223e483557a75080 +Tag = b88e4d0076757d1ee559adea4fe5f34c + +Count = 11 +Key = 17138d9f465dcfd8317f63ad9227c78f +IV = ff2e97abed04a4b1313c2408 +CT = 79356d0b0bd647f57db42bb419c81ab0ac1eb25cae3d9c2e474c5b85203e87a7deb83932ae477279f7d5838c65326911d25874f8a662dcbe25228e995830184c +AAD = 8de6a2ed82904a4db8cbe0761b970eeb4cda072ae5c6f99c +Tag = 8d9e3fa747dcb7c5840145c56835b4d0 + +Count = 12 +Key = 71f91ec035c8bd623157db6ba5fe393a +IV = 0464897775766348a6721308 +CT = 3ebf20bbab1dd1552ab5c6d3ba944061128338dc70d128a628197ae8543111f749952a745305470771d6996e6a2904a4409539931785f0388282206c465d003d +AAD = 04663a4d3025e6421a706409f628ce653defc7a27216949a +Tag = b49e3d947b6c4d8078af672c80443895 + +Count = 13 +Key = ea52d2fe12151b7adc67f86f126753d3 +IV = cf972990001d8322c63fef55 +CT = dde0fffb5bae14e5d466340c4aed7036800f18c3bc5ab323b764cb51bbd9d0f1e395a63b08e7bdb05518c0f1cbce27b493e14769b4ea437346d4e52ed957ef6a +AAD = 8ebecede8bb2975578ca12614a0fb33d6bc75ca3b5d0bc25 +Tag = c31c27e82f101b58dd3b210d5c0e1c27 + +Count = 14 +Key = 2f2a403db51de095173984387cd25c49 +IV = d7f09500b9c4281d698be93b +CT = f02ba26c69ad512aaf0039eae60f1515d6829e3ba214eec58e7e3735e8d72a3cf06fe1592548975689c6c7e4a032bd0d07e3d633dacae200e62fc8c661762509 +AAD = fae8bfdcbbf0c1058eed2aa35e79c2ab0cc1a4aa131c45b8 +Tag = 369cd3ce08eb861d63bdf4e9c13944ef + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 329f0931c10106389fd11618ef09fb32 +IV = e37fa9acdf2a8873c502a41a +CT = 7efe6af01fa457e0 +AAD = +Tag = b90c6cf1d1d65c99659b07321de53f48 + +Count = 1 +Key = 63c1fe538b992bb6da2bba1e3eedcc40 +IV = 2ddda89cd00295df36eec349 +CT = fc13c4ddc3d17cfe +AAD = +Tag = 95a1479033e6ea5f696340be66249290 + +Count = 2 +Key = b551830a2e5b3e7353487fd8dd2ccce2 +IV = 51d214478ffe5e17e6e7d84b +CT = 909145add848f5f8 +AAD = +Tag = bd92981d926f879acb52b07b5be7aff3 + +Count = 3 +Key = da2df4d71c28110be144c916bdd25eab +IV = 54dbfc3c27fcbde7c25a6775 +CT = 0b2f9aaf8e30ea15 +AAD = +Tag = 251c03be4411d078840a01290c4ff434 + +Count = 4 +Key = d253fecca911310dca5f3415f79b9f04 +IV = 842f77583eb4e012d9e2acab +CT = abdb3d642c1f4aa1 +AAD = +Tag = 0141bb96d75cfdf6d66041b4544df6fc + +Count = 5 +Key = 478cc1ea9698f77b51bf06bd629c2e4c +IV = 017e233e2a22ad1737628691 +CT = 0798bc38e35e9797 +AAD = +Tag = 7eed416eee2f071d1b7837e4268c4b81 + +Count = 6 +Key = 7b8d931633701e77ca539ed44b7014f9 +IV = 2c1964fe69567735cc48f43d +CT = 9acac1d55591a7f5 +AAD = +Tag = 0f494879ffbf12bffe976d22560ee71b + +Count = 7 +Key = 542483c00079c1dbc4b6bcb347f7ce41 +IV = f71a749188dbe9a18040674d +CT = 541dde65af9ece2f +AAD = +Tag = 77c12ccf2962ff8173faf72815c43716 + +Count = 8 +Key = 0dac40c904a8cf9179dba8c4f0d607d4 +IV = 1b26b58a8f1eae25c362ecb6 +CT = fee51be6bded8210 +AAD = +Tag = 4b5bda211907245d372c1e027c0249e9 + +Count = 9 +Key = 2a4f815e88db4a7e58e433efade9a74b +IV = 87282f899950aaa7d7e82bdc +CT = 4089d0e22516d723 +AAD = +Tag = 898b75f940545769c35b713a5a3a2030 + +Count = 10 +Key = fe36f1e632890e31d6595115e595eb00 +IV = af5703e3e6511eff48646986 +CT = ae7f2a4dc56db1a4 +AAD = +Tag = 8f6121812df7e30b7f1e0e330524a5ff + +Count = 11 +Key = 35052053767d6bde252920d8f8a7ab85 +IV = 6b0273203a05d3f3e15dc410 +CT = 89445e25ef92bf43 +AAD = +Tag = 14dd74d0c059758daa66767ab6f90684 + +Count = 12 +Key = f99b6f0ad1544bf100d59a911bd7bd35 +IV = f35c16f919689942e992e642 +CT = ebf1e32447663adc +AAD = +Tag = 2c6522ef30b97f9918a495cfe487eb7c + +Count = 13 +Key = 16089cad3ff33f03de9ee1b3468ee6d9 +IV = b63b97d57d9e6efc64280489 +CT = 3b85ccd61f8c841f +AAD = +Tag = 3f52b34fae2443fac2e913460a187fc5 + +Count = 14 +Key = 7f9f9936dbe7abaf9b03a296165bac97 +IV = e740d34a09905954a1cab3bb +CT = cd16e90fa234ebed +AAD = +Tag = 2d239e9f1002c9f034cbfe40975d5a1d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 7e107e72406649764605faf043a8443b +IV = c98e3d73abcaee48d70c86a7 +CT = b504eca03246e1e6 +AAD = e7e67f81a4804f253de9e09420d5f3fb +Tag = c96015ad60b76649ea1104369f8fccfa + +Count = 1 +Key = c1442ff406bbd5090f8c58962ca1d47f +IV = 0c138340ba24084104f5a927 +CT = 7ae362d082d8a72a +AAD = 99339351d27daded59100260f2e124e0 +Tag = a6a998f673ff0e5345a66b0a7e96309d + +Count = 2 +Key = debe6c5bf8f3c932b4c03fe82308cb98 +IV = 83c6616f34eeba14c479aa39 +CT = aeeed243477b3b82 +AAD = e7fadecbd51972c5763a5da5bb5c98a2 +Tag = f81d8a34a83978dc19062f1065cea5df + +Count = 3 +Key = bf05dd5b436c0338bc23f80d64180136 +IV = 3df0e676fceec591edee1570 +CT = cbb867871af971da +AAD = e0206208a6bc1bc0716c22dd094458a5 +Tag = 5186f5ce2009cc1a1bbd89b8fbb409b2 + +Count = 4 +Key = d59f31b927e042c166b20287231e740b +IV = 0518732dbe73d03a10af22a8 +CT = 289170694e0197aa +AAD = a14a0ec3409d0f32802339c09960bd25 +Tag = ec88ee5aa4ef8b22c7fea3195c84f5a5 + +Count = 5 +Key = 68d114cabb2d66552380f627906dc46f +IV = 4c1112aefb539c9323b96381 +CT = c3f8ba1b1d0eaa15 +AAD = b1f9a875e9774ecc66aea64b9dd42ec1 +Tag = fcbd901c8451c40704f9786948d3a389 + +Count = 6 +Key = e96505f01dff34e722649d1576bb50ab +IV = f2c201764f6149a12135098b +CT = b8c40313f913c59f +AAD = 7219cbce63ac79a2375541861a91acca +Tag = 1dbd14c8215cf98408c35b1f9f34763b + +Count = 7 +Key = 45a6dff0788ef3cf780e3fc76d46c1b6 +IV = 0d3279d33f9d60ba2dc82eea +CT = 583ff88520f80ddd +AAD = 07ce10c804f9f6a58c783deccf80afd4 +Tag = e11b286db3a8ade351a1b276275a3def + +Count = 8 +Key = 180ee8c55bab8e6f9bdedbc490b26cc9 +IV = 99d82efcd0bbbf6496079f14 +CT = 611932e55bfb8330 +AAD = f9cf1fa6688a61a60df8901da7ee2588 +Tag = 7435a292af4cc5955ceea71bc121f5da + +Count = 9 +Key = f4ff9a593c36b48b59ccdc48d47a17f8 +IV = fbbcfd3896a1370794ed96f2 +CT = 589b1c605198fa6c +AAD = c6475d6ea15c86ad013d347ee11de94b +Tag = 00304fef3d62d1722b3cc708022ad39e + +Count = 10 +Key = 02a96ff469e26b43bd9e59c74833b2fb +IV = 3f744f3e8df1b34072ade3e3 +CT = 8c501b8a64357dfd +AAD = 02bfee4ae97cfa75e46fbc51af0ea39f +Tag = 92ecfda91d362843bbea7f18c0d71e72 + +Count = 11 +Key = 94cbe71aa99ed1faa9db90c22de75492 +IV = 5caeaa8d758dc156dfb7fdf4 +CT = ecb24a79166b4bc1 +AAD = 8578b33cc91f7b0dae2fa2fa867d20e4 +Tag = 24c4f27773959103f0aa92d5a86eec4a + +Count = 12 +Key = 9dc3c603caa87c1c42d6a0101164fe83 +IV = a558b0b2462a4fa97703642e +CT = 7783d8e31d200dc3 +AAD = 558a3617ebc71dd552c56a32f96bd96c +Tag = 5b4f7560500ddd82890dc0068db97614 + +Count = 13 +Key = 8ac212574c1a25f9e43f387b39cfec87 +IV = e35663ea9c542cfd9b92ea05 +CT = 33a7097fda541ef0 +AAD = 65f7a63829f6e00aab22a919994324ba +Tag = 95e2bc6a1706b97809c0f5a66e0b3ef7 + +Count = 14 +Key = 4824b55e1301b3375c635006cc0e6f36 +IV = 665b9c704dc27625b1997d3d +CT = fb20e7362bcf890b +AAD = f17f877b7270af1b9955ecb80fbb9b73 +Tag = 6ed2a0dbe2e6eab7ea582b5739d0f229 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 7ccbd6504718def8c16340370b1341f2 +IV = f7d917c69a6bcdb1f758f184 +CT = d5ed790cfadd97bc +AAD = 7b30ed98291aa8420aa540415df363a2fa108e466fef874bcc7f315e35a4835515bc8a1d095188971de432072f198c527002f56b434a73c1761b1bfea71845c9 +Tag = 960807eddba78042068ba481d6a2eba5 + +Count = 1 +Key = fa18ad9894e8e9f7a4d3f362061542e2 +IV = c847888bbe3a793d5a2a452f +CT = 84e9b8e3d98433d1 +AAD = e8a5ff9740e0fbcbec47eb1b96b0146ac6f5274ff5ea71e1c6112a6e7aae9b380e6360a8c56aa3b97331b4c7c58545de9abf32042715311ebe157b15b7549a3e +Tag = 9c113d91a27165079552cb1306b0a7dc + +Count = 2 +Key = e5217624115b3b3797566a46e6f98819 +IV = 2298b69899331e5b33eed23b +CT = 3e791de59673a8ca +AAD = 2361aab4e77080734a5ba205f938a8c46186807dcd54351fcea85c1064987fcdde4a372ad2c3b1f555221a3cead41ec36621900065401cc84acb3c2b4d9d96b4 +Tag = 48c4b6725a30072bc1fb5b86d39b5dc3 + +Count = 3 +Key = 87260b61d1ea9f395a5ed255f50e7201 +IV = 659415bc4a218bfdc5741916 +CT = 9bfa29f2ab804785 +AAD = 88011912c1efc217f70808261866e31daae4031f668b7e51840e4bad126e7499b8787c66e2cb35936b1b1d87f04e8cbc51dfd28ed3e5248691e7377f91df04f1 +Tag = 8a9219982c20e935d2ffc28c6bd2c315 + +Count = 4 +Key = db26182ef3968e642b86ccc10d6808fb +IV = 8d4c70ddce93e7ade8882639 +CT = 1da0e68213ce24c8 +AAD = 3bf8353cd63ae461d780fd48acd33b44058e0fab963ac971c1198771d19dda09cb1809008c642f7955841617ad970a9a4952f009f821ecb54f1d454f9162df3b +Tag = b78be6df8217ca5556fc33c7afdc5c26 + +Count = 5 +Key = 062cee8835f1291fb2760d6a26760528 +IV = 106a378c998b72651737fd54 +CT = f2ac63fbd381223a +AAD = 0651a61c1f6250deed4cfb1eb4b1d597993e0b907d02c607b59477a72c9c7b96da06016fecaebf47bb983ee1c54973908d097d28fdb9562526a2f5cddcded9d1 +Tag = f80591a60e4b8a33f97d4473d78805b6 + +Count = 6 +Key = 81f1133804f849ee33b8eeefdc723120 +IV = ca511acb2cb6bf5da09ad933 +CT = aa015334b720e71d +AAD = 8c57e0451e224b7351aa2684af39d7777c3c60db9755d4e5443b52a5c48366f4322cea98bdaf8c32d35bd6c00378ca50c7f9003f4259b0ca3a83bf576a802beb +Tag = b1dee511cfe5dd597d0b43ab735a643e + +Count = 7 +Key = 4e3cf9b5daa82541f21777733b7fa6fe +IV = a1881ef1146c9ff00f6b1654 +CT = ee37b57c9698dc1a +AAD = 62a68676626d7e57615b2d5e8aac64f15f9c2e5135906848ceec7031431ee0f01a289906dd8b2cc95dab4f5a72d73f019fa045b607446b630789aefff9bbbaef +Tag = b8a11a8981b340eab059bf74b90f8b70 + +Count = 8 +Key = 995a721b6f42d9c3dbd6c0c9938a7305 +IV = 976c04cf7d2130aa33b83fd6 +CT = c8ce3f4f6db55d3e +AAD = 6a4caaab8805adba8776a303fcd6784dead15cf86b9b2a14285c05086664b562c211f53de321e8ac1e64e417505b58adb1881c72cb8f265f3d5d646dc1ce1ebf +Tag = d4aed558149b1eb39c81fc9a6e11081b + +Count = 9 +Key = 2b44197c42071e6e4aba0250258280e6 +IV = 03b09e8c5573f9f4e572081e +CT = d8a9e8ee3aae953c +AAD = f8f52ae32d1bfa0e256670e06d7192cd168e062ca5ced692a149a492f0c13dafbe432ac44a562be97ccc69db92e3124ee2b23192bb9896701e1a46dc1aaf2734 +Tag = 22cea46597db8e93d1c4b81514091614 + +Count = 10 +Key = 4a2a6c8a40cf1cfa3e76141207bb7418 +IV = 4408ca6a90457ec9fb82870b +CT = bffc654eefed779d +AAD = 440a04ee16166124c9d0f916ef56a1c2afa6ef4280f5b9957473c28a2b96bdea5e78597194ba834ef833ad131abf3ef0866e4a878a9c23b3b0a5fac8f225e79f +Tag = ab7f4f8daeaad402b7b041553e824b44 + +Count = 11 +Key = 61367ea6242a476471eecdcb394dc96b +IV = 6108ffc0b65bd250d0635a10 +CT = 31443480407f5baa +AAD = 15358a209754ae8f8391c5eebba71bf54199d8613eb2a517141c1a667c0d85dcde11cd2897c65954381b47e8cf7eaa1a3aa40d31ec2df45faa28809cf09aa43c +Tag = b34096bec69b0195b3f73239cd7ebaca + +Count = 12 +Key = 51f4576e42ac18700591abbe84ca9d1d +IV = e511f4b71b6aacc84daa9f30 +CT = 25626670dc298f03 +AAD = 18b3ceab13b528eb5b39ff1a36b6b60638d304cff8eabadc54b8a5047d76501a8a1adb5bed720e9a5fca3864b3b514eec1df8fe68e6e7e342371b7fa5f6f94a6 +Tag = 706a2631212d6831ce6bfcd5059895ee + +Count = 13 +Key = 4c10d8faa74114dcb3324959b71de4c9 +IV = d21306bbb51c24c346fe5396 +CT = 87f8edc1949641b2 +AAD = 61fc6e045e6ef359831c64c9e023e980da8401c3e30ab5689b6f3f41167990d34e74cc2c52f1b0060d160598d5e066c4ceea5f9631bf8d1acd50735916155847 +Tag = d8bfbd314ad1cc9e8a2c19e77f0ef0ac + +Count = 14 +Key = a1c8bedf5714b4084dc0d312500f3e91 +IV = 71bc2332a48a76dff0c55761 +CT = ce04caac58db6d4e +AAD = 23ed2acca7804b29b1cdfb3908b74bb89a1bb2f3843ad3d49866425e802e98e04b936a075952d1a9c644048d24e57e7b4a25fce5759ef600ca9db98c2acefed9 +Tag = 9b4ff68dec0a4fa081373692f335e6a4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = a83012b377b2204a813ed9c51b98c35d +IV = e1311f63ec0438bdb2346ca9 +CT = 7fb65006c6278a50 +AAD = 50f63dd4f2a37490 +Tag = d30be3fc68c1ea8eb9e2c9efd2a54436 + +Count = 1 +Key = 88ac5acaf364427ae0f2e9ac385b4336 +IV = 8e2b61f00ad6b7b92470af1d +CT = 9ed25d2e0fe74b89 +AAD = a6efe6f70961422b +Tag = b730a827c8fd207c721e0716ed95969a + +Count = 2 +Key = 87e374b4bf5f9590c1b63bc901b6a86c +IV = 716f4aa9d3e8e292a3dea7cb +CT = 106f651b1e4c4cea +AAD = a092422345c5f56d +Tag = 14c5f0ef9527d72a0c7fb2379112dbbe + +Count = 3 +Key = eab41ba1638f4381a1964f0b950d6b7e +IV = c8864b63c62a084f2794632c +CT = eeff7f968059bde3 +AAD = e101adc8b627b96c +Tag = 4bf0bf5c916574eafe4d638cbf0ffa5d + +Count = 4 +Key = 7502033932084c837ada6c943938c586 +IV = 9b582a304d4fbad4efb3add6 +CT = ba1f0f563c6dd8fa +AAD = 0f437a7fb6eccd11 +Tag = 126f80c920b1807d1e5eaa89da98572b + +Count = 5 +Key = fa7c5e9de0ba9229a4dfe6f0baeba6b0 +IV = 33badecdc5acd82f0eb3fde2 +CT = f1315c7d5624876d +AAD = f1cbb42811c62487 +Tag = 24109ea68b17b7ace97208ea2aa82c9e + +Count = 6 +Key = 5f8f3527bc1eed3495ef4681945af8b7 +IV = a2c7b2738d03731e10cd2038 +CT = 7cf52719edd4072d +AAD = 8f6ef5ddab326890 +Tag = 2fddf24efc70e8f89af81c640d0809da + +Count = 7 +Key = 849d2c82973e16d3733a13b15283f093 +IV = 263bcb2584fd74b7369971ba +CT = a8d7248dfd8b3315 +AAD = 097db3804f75be43 +Tag = f6e5ebd172fe248089d092afd044d97f + +Count = 8 +Key = 1e0a8ec3abb509504ee8e1eefee08806 +IV = afe6e3c665709fcb61aee340 +CT = 229a7037985902af +AAD = 2290223f55f596c1 +Tag = a9b710eddebfdd5a3a194eb3c4d2587c + +Count = 9 +Key = 67de8992d1a07b50551bee04e237ac36 +IV = aa41fe4893ff0ad17bd2243d +CT = dc6c4bd6a2a90e05 +AAD = 82a431d80725c212 +Tag = 5652cf61f6aff85836cf74d318e89798 + +Count = 10 +Key = ee56fd4c1e8b3a31c5ea18f78da5de9d +IV = c9281741e5584f275ab79829 +CT = 1820e39d73ba4241 +AAD = e14d785b86ad1310 +Tag = d20337e05e245f63a1dccf75f3e50032 + +Count = 11 +Key = 8e36c73987b6d3baa2203b85e040a3ba +IV = 0ac0799139f0fa632fb671d4 +CT = 2d0abfb9f465ee2b +AAD = 641f7be4a37ff56d +Tag = 6c8c7c61fc3309ee11824f51dcdbca2b + +Count = 12 +Key = 94db15429d80dc7bc231743a2bc81cb7 +IV = e0623cd16bb30af198b8b148 +CT = 6b6aa1937563782e +AAD = c3bec1b48eb0b5ea +Tag = dbd80962f0f41441f599692d96fa9074 + +Count = 13 +Key = 876573f9f8a69d79a400c834def97cd8 +IV = ad9d5696c19b82994e365bc7 +CT = 1d2c3a2be6f1b59d +AAD = e96ab39fcbd33f87 +Tag = 67770dfd7e2639d37d64275e42ff6915 + +Count = 14 +Key = c5799e87d5b71768f941a1b820dc4db6 +IV = 57ead6f121a9e018a2ecce86 +CT = 07c0972c0c0c4098 +AAD = b23a6f095de07d03 +Tag = a30dd5a9d631424fdbb7e3ba5d90b383 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = ab3928ec82eaec089e6986abade512e9 +IV = f70dc9d7b3909521ee6f5767 +CT = c42abaafbf379d76 +AAD = fdc47060fa1aa8325084db39f8fc7ea93c2c3bd5472e19a9 +Tag = fe586c493e7dd5e3eb782b9b2ab15278 + +Count = 1 +Key = bf1fc79419eb765076c7b2b71919b5c4 +IV = f128d15a86cf9eb84ca84057 +CT = 218d88d1cfd8ed40 +AAD = 638ecc3cf7162be589336ace3e2c3fcb9d4cadee27aef1ef +Tag = 1eaa381f77ec9fea5fc6fbc8462b41c7 + +Count = 2 +Key = e333ae7ecc310a1330b74526567db4f2 +IV = b38e4b7f7c91be4a41795454 +CT = 576138f216949853 +AAD = 4fa0e081e844ee2ba61b71285e21aacbb32e659a6536be8e +Tag = 54a3b76f17dc77a1e7ef06fc35eecd92 + +Count = 3 +Key = 582682982e886e2bfd7b240007e2bcfe +IV = b4845c26bed14ea80fa03d5d +CT = a5392ba98c9222ae +AAD = eb45898cc82c48bcffed474405b904d556fd7d8da88f5dae +Tag = 67ce85783d13086a9355a5577d8de2ef + +Count = 4 +Key = 58bcecee075f3599526d2dbb0f89d77a +IV = 379a2daa577f23f02ab4f38e +CT = 403d6e4d753f7b4a +AAD = 512dfe274f9cf324b54cc75c106d2a0931263056bbd84171 +Tag = 0cbe612742aae9ff7c2552216e9c9e44 + +Count = 5 +Key = 633722657ce09da33ea74be06f70083b +IV = 296225374ae27d6af9a61b72 +CT = e9359289cdb95dbb +AAD = f05416f83dec406984ca89a6168227b12ca7cfd81408ed78 +Tag = 85aa864d6c1e3f3aab78dbdfec1905a6 + +Count = 6 +Key = cbf73b4f4e081158e0cab7028973a7cf +IV = 5a3ba02a2dceef285d91293f +CT = f3f2ee6e9bb84d17 +AAD = 3943361d4011fd389da868a374b1efb807eedc91b61ce42f +Tag = cb982dfc0b4bd56e3a8a200184a543c6 + +Count = 7 +Key = 9af639495c248063cbc13d3b7557d5cb +IV = 687507d82ed8781dce1723b3 +CT = eb2f68adcf39c981 +AAD = ebec6d4fc5baf606d82ddd10d6641aa993ba84b08af79cf3 +Tag = 46fd9b038d7edf7ad58d9e1334a857c8 + +Count = 8 +Key = db045b869bfa750a22f9fc221b395c4d +IV = 3a154750b1ab1edf0a3dc4f9 +CT = 5ecab681ce3e7639 +AAD = 1e049faa316857c1b62164c2906e18c9d825620197519a6b +Tag = 9c989d8d5721e10083e17641b093e57c + +Count = 9 +Key = 78635f7c7042a60eb60564e880906156 +IV = 4c4e639e1782b71393220990 +CT = c6be5d63bc52d606 +AAD = 88c1469b8c1fc59ba3d228c64a2cf1eda64b6705b3a57532 +Tag = fa4fe412632b3706cfd16bb193f36453 + +Count = 10 +Key = 1287bca5ffc0537f809fd5319a5b9268 +IV = 0449f101a6bf63961846b2a3 +CT = d94941bf8062664c +AAD = 93d23ef2629fd80d0d2e7a204ada3338c9a4edf1a836a4f6 +Tag = 6c8aad2efdcfa9bf01057687423b7a46 + +Count = 11 +Key = f39271c84ca9c4a3500e3d0858fd343a +IV = f526248d3e958d6b6098b617 +CT = 2b5f6ce9344929a8 +AAD = 08d5f10c08df7933ac171dcd3c06111941724d24bf847dbd +Tag = 8a77983269b78e953eb1607fc2711d55 + +Count = 12 +Key = b08387c5b28106d2551d3bc2dc6a6c4e +IV = 49006ae6b44ce522d98e413e +CT = 4392ff32b5d2f0f2 +AAD = 32c66cf4599d190ee19c149279d2f42bd1aca51455dad0f2 +Tag = 915af59401e708acd45a097958bd84d8 + +Count = 13 +Key = 902032ac7af1f51686b15947c2eef3b4 +IV = 266f781cc4437c351c3d3b4c +CT = 4479d871b11a7273 +AAD = 121356077bfc13a9524060a42630f201a00fadc133dbf5be +Tag = e32f4cb3395d401392aae6af2db4c155 + +Count = 14 +Key = 3f379a4c51aad963813c9c0f90845df1 +IV = 6c705a33b3e99e8b9ce700f7 +CT = b7d058b6f057c7fd +AAD = 3954da1ff23bc3ce295ca0bf5d783effed715b3f10364ec9 +Tag = 4dd49b6e602be2564eb9c2547a02d65d + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 32b71acd5377af9399f6ac98175c391b +IV = c4ca7122025a7865ea7ada5b +CT = 0f5f7a0aac7128216ab56eb717a7c0da13ef65f987dd0115 +AAD = +Tag = 5c629d9c53f75ed5da600f9b5ea01041 + +Count = 1 +Key = ffeb1567b2f63945de48777df24c7249 +IV = 6ca99a4b9f083d4691833763 +CT = b6dabe1a076c46b943486db33be6ea07f38a974fc1a4bfa6 +AAD = +Tag = 8ce863e72e1e23dafe957d68a29c444e + +Count = 2 +Key = da0122bb41920b34c461b1e2a2a6dcb6 +IV = 2955f80096fd324565399379 +CT = ba19c723e8f9941ff24e7e4fe9bf504bf5c5d6294fcd6b6c +AAD = +Tag = 1a3142cefa9c3a4965dba34abf5d8c1e + +Count = 3 +Key = e31fc9983e978c128d7c0f9ed6e7bf5d +IV = 558ce3d5c772e86b602a35ec +CT = 768b23720e98043c3e625e5841d2fc2358bac059713f7dbf +AAD = +Tag = ebba548d63e45eea716199c673c141f8 + +Count = 4 +Key = dba4d07dcb5a27d52167e0b34df243a7 +IV = c7e117f9fa754650ea64932c +CT = 7c4e3ac44dde18357123c310105c3d68aed600eecad90c9a +AAD = +Tag = 7ed4531bac6eed13d930d925e680b257 + +Count = 5 +Key = ab056d87362ba8085eba99cd618d8d85 +IV = 7e01acc281bdd22ddb408eb2 +CT = c4bee533f0b8f02e3d8092ed76301c3050aa9fd6170b5c00 +AAD = +Tag = 558d27d1dc23287ffa3211f8e7edbb54 + +Count = 6 +Key = aaff3a38a2743b5b673341b35165833b +IV = 67d5daa6c0711d36a08b98e1 +CT = 72b9d45226a8c45fb0d2b34e2038b944f725eb994162c7b8 +AAD = +Tag = cffb498d76e14022e20763db1cf95ba5 + +Count = 7 +Key = f87873ac3ebf1e026fce903847c0a600 +IV = 1d7e8de239e88564a14c3bd7 +CT = 3664093037d7116ded3d177f589280d34ba9475db9688233 +AAD = +Tag = b958f7ffd79205b8b3ff85d7efb4ca88 + +Count = 8 +Key = e569ab8a9c7e951b7e6b8ff695ec847e +IV = 26311e6c24422cdb369215b9 +CT = e52a3ae2636857fc98ab1f5107a8e76f8e805c2792107a0b +AAD = +Tag = 4bfeb38a2c34b225b52595a4dceed3f9 + +Count = 9 +Key = 081e3c97574c51c63f446a45e0799e7f +IV = f21ec1331345cb5ede783432 +CT = f01429262699015fee91baf7f26e0a34fecbcff4c53cc072 +AAD = +Tag = b3d0f4b0017f275f72c266a582cdb92e + +Count = 10 +Key = 914b4508b21a8329f5509cfce78892b3 +IV = 207aa17590f2f949fd466661 +CT = 2ad4bd5b2b9f788c0ea21ad6d349ceb4dbff507ecd4bb623 +AAD = +Tag = ee0ba24cb1bf4e9f7999355450994594 + +Count = 11 +Key = ef3d3c1ae79ef8e3a5cc8ffd1cb073b8 +IV = 32522418b2a4c3895a5635de +CT = 57d77f9c4b0734d9b7b5a75cc66e804ae457935e86b310b5 +AAD = +Tag = 43aa450a0321cf07aabf246fb6761940 + +Count = 12 +Key = b6146a9c404bc1b2bd348f2b1582a387 +IV = 55ab983e7aaf07e5b213c742 +CT = 34790ef847233cfce376abe8f50dd3246dcb50f8000b9d20 +AAD = +Tag = 35a5c38a9a4caec83816df98fee517b6 + +Count = 13 +Key = 132c3b7fbc25f2e6011811f758e60766 +IV = 8ddb5ac3f36fef7fadf74f1e +CT = 885f30d4d4615c967af8a37f7f952cea433ebd98cc06df52 +AAD = +Tag = b5c9460896d20e34f3d462440d6b3d89 + +Count = 14 +Key = 69195cc4efcc3cb3bd2390b586b79ad3 +IV = 518eb6726b32f3703f9c6303 +CT = c2fb172d40618a4089c65b6399c42d52ccf463a30af9e58a +AAD = +Tag = efa6184412459cd7da20989c5167c113 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = e4b0f13245c284fed0a5656fd80ae3e6 +IV = 0ddcfff6050f23afa6a194a5 +CT = 3dc7745d3bb822d59456edd208c558a26e65530d2401285e +AAD = a9c6cd29bc63a96b1c5d9cf4477c45b4 +Tag = a03678091873725505922f8256bbdd5f + +Count = 1 +Key = 95fbc94e80e5514be898d367983b1194 +IV = 23692a31d7b137cabcced809 +CT = bf316f70309b6d8fab7235d3d33bd99a9c967572c9708f3a +AAD = 8f91c893867fe275081d7bee7b5d39b4 +Tag = 914b195994ef79985971b634a2e504cb + +Count = 2 +Key = be669b4980c01b6197cbb2f6a28f7923 +IV = 5f52df92c646c166be9203e5 +CT = 607ebfcd1aa57902d68810d27c80bba543b61e70aaef8b16 +AAD = 7f68e3e8478ceb4626af277bdc3c2490 +Tag = d7aa3719e261d44a1c6ae2599aa368d8 + +Count = 3 +Key = 9e3fe64a82d796c4e6d971b86cd10262 +IV = 2d914a524e8679b026a864b2 +CT = 4ab72fa7881f4821f527e2f6161f0be3535392860e3131e4 +AAD = 6f15ebdf9b40729a300e43584149fc53 +Tag = 6efc6cc6350dd0767a545da0ce67b6fc + +Count = 4 +Key = edb677a7d6c52bfcc56ac1bdb4dad548 +IV = f61134aad35b27284ac9618b +CT = f84ec8a47d81feecaf8d383542be7c5c0381b6e6672ec0df +AAD = 8f9701a8a20fc1b2254794216f772646 +Tag = 30706af94f3242a24ed2ed6c9c59623f + +Count = 5 +Key = 7db5440f1f1551a4670be1a477b2030e +IV = 23cee5ffb9bf7c2eb70c85e1 +CT = c287a788812217da64de349d62664461afd4b521ee71dd73 +AAD = 505f7011652105db57476fe1f9f43396 +Tag = a91a5c8e1d1cd28b8f203822cb462e87 + +Count = 6 +Key = b20cd12b028a41e8fa358ddb972ad47d +IV = 64fa3b83504168e0348a5587 +CT = 50bd30e9ee9f88952201e2d4cd630205020e3295b133ff9b +AAD = 5f60fe8b62cb32cd86d3c32a79cc7071 +Tag = 0c8a53f9d0e5fb77309eb69f33f3f8c1 + +Count = 7 +Key = a6ea73201686928c4fcd7d3f5c2ee707 +IV = 9d9d67cf2253dc841c4c6acf +CT = 0a272b6aef470bab4c54ce41491cfe2c249a04d21baa7cef +AAD = 146848f92bec0ae511b01337fd676516 +Tag = cf81c37455d85b0c671ce0213258e429 + +Count = 8 +Key = 25c7ee1e8e53660a4efed3b5a63f29ac +IV = 45d0d9f84e5d479e138d5eee +CT = 1b61a306cde3c1a30a88e4497b2936f3eafa9054062a3d6f +AAD = 7d0b30bef0bdb547b0a2a5e2e4bcfc41 +Tag = 4cfd0b6a82398db8e59b3bcc039f75c8 + +Count = 9 +Key = e3055540e614df037d542c7827beebe2 +IV = cb3aa82f581110db0667bd75 +CT = 7fc5e34f094e8fec5a7c15d1dfe8860c284814e1b3a2c457 +AAD = 3905e7257ac7d4ddcc8c54a3ff15f40e +Tag = 1631a162be4eebb188b48a78ed12b55b + +Count = 10 +Key = c789d50c630f58242a212d0a28448920 +IV = e39ffc46ce9e7703182c96e8 +CT = c6ef874dc6e39dcfbfe21f0cd0f4990f03066f5fde34b485 +AAD = 6e2b48e3bbf0003ca37ce0729ba33202 +Tag = 85469be835b98a930d08158c1d4fdefa + +Count = 11 +Key = 97ddf811d2067975701c0036256a2a54 +IV = 2a0c7ce231a9172fd93173a8 +CT = 98ed3925e1fabdab36f53a6b5fb06912066e61b948e45461 +AAD = 272550bf16b610708a3e421ad4f77fc6 +Tag = 85ac0c3fa43eb7349d90748a4354bf30 + +Count = 12 +Key = 576eee3da68009e9c7915829e2329bd1 +IV = 1e622e793415bdaf10d23fad +CT = 03d1c30b66811952deab720ba93e0c19b5373c29b5f8ba70 +AAD = 41be7867ef1f44e5950d6d2b4abd7655 +Tag = 535b89f635bd4b23cbca03f707536079 + +Count = 13 +Key = 42fa31086e1f8372390e86d1ef892701 +IV = 2a48837d090cc2fcbcfe46e1 +CT = 7296759d7d0a9413ed090874a8fe42a09f79af58023ab4c7 +AAD = 572ad481b509bf290fff9250b709e7e8 +Tag = 7997b47934fc15480e8bfd3a11f6c81b + +Count = 14 +Key = 20a50d438a8082d3035fcd8c6c381ebc +IV = ea8795d1ff860cd4b1f014ce +CT = 939fcf2983a1b23249ac0acb05d96dbdafe503118b9ca481 +AAD = d0931a5442746eb867695325d7c8f765 +Tag = 15c8a87de8d6187643266aebecdb8f61 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 7865d97130b3ea59d5e2a98344845103 +IV = 95f7b340e537f619c18fc7aa +CT = fb37a43bf6c16ed0bf6a00a44f028ec616a985fab7d6da76 +AAD = 29cce00710f55e8d83e012f410b1ab3ffd67bf72ccc135cc4f3821bbb6d477132015a3a05654355f1b59e9fb15674d8b7255ddcb4c68f13b60ff35c6c152f366 +Tag = fb597784a2987a3784ecc508afe88628 + +Count = 1 +Key = 0b8e4d441781e49310c72d6b9ed9743a +IV = f6bd06a621a7b97b93b7ebee +CT = 2ed67f5e200f4b6d8104305f1216ada71036d64413444ffd +AAD = 3df1e4728e1cd21d41b8a52214d81678e8ae8e1f987089b8cdb86325c528f5a66e80a5ed50ac22ae32aadace88783fb3d1e76f69910661ea9b69ce6d59e16993 +Tag = 115c2eca7e061762fa645bcaaf8ed4bb + +Count = 2 +Key = a1fa8c29f38762fd3d6d296b112b4427 +IV = 60bfe5989b2605fd3119dcc6 +CT = 23001924a40827df29a6c4fc8df966b1dc01f0900d8a7d55 +AAD = d12e5780c4e2ce59f2a1682ccb10fadc80d5e1da0a8282c7d5e4193eab0ffccfc1746852c8487586c9f71dcc1c22aa8c4d35d3b7c3e40d28ed461795505025ae +Tag = e36929362113d8295807c7a897a27e40 + +Count = 3 +Key = 1a796798edddb290b8222bf6954a7450 +IV = 6af3cfcbe626b54bad1d4571 +CT = b06d28340b431f85eddc6a6e8c2693ec42527b667f4c8bf1 +AAD = 89c2e9db502d0a57c4875ce11bc846808254bbc780cb1386e59edcf3232134ea17e29cd04d89afd7ae197225e717f4c70657baab51d65ee6f8c75267e117e76a +Tag = 0f477a97831d1fffdd6f7b1a6a33bea4 + +Count = 4 +Key = a310ffab8042d0782833c0afe129bec6 +IV = fa03d080cb186f5452f76122 +CT = b4c6b0776f45143badcf217ca07b60d5ab1bec06164f6154 +AAD = ea40c91d32e96974fbb064237e067cdaa85d71c85eac7ad0cdd62498a0d02c341a83b93b18ae6cc2e7e1b7da3194a8ddae238e61286b6fc1b0ad4dffc46174b2 +Tag = c22f046938653730b465f5d1ba4808cf + +Count = 5 +Key = a92ffa219e4a81ff748081a1b52711f7 +IV = b99280887b6e1990a26c8d71 +CT = 31e3ffa78217cd8172f967c3d59542832b2ed383e7988815 +AAD = b16133c85f891c75d05b016a09b23b68749190f5bc5ba90ad6bd7f8ea485c974b7b867b53b6e3754f140f89f019f78de74fc6d4f692677eca0499af5379cdb8e +Tag = af1843a58a22b5eb16b713acf79e7952 + +Count = 6 +Key = 191517b98845322c609be97fd7a734ba +IV = 9e7d275a754b2018450ec9ca +CT = 148d4945cd3e1ef4c9234c408ce01da20e7749831b04845f +AAD = b87762787d7ed5ceef308b12a904d6db4b1875763cb4850c2f3842fef8a630d712dc1513d9c1998be3c1fe6fd31f3dea5ac272dccd243d4767a3e562a731b804 +Tag = 6e30826f01d82973e29d19c6394fdd3e + +Count = 7 +Key = 4960cfc765bb5faee629247ca613d990 +IV = 371d21d664e3167985ffd354 +CT = 2a8556dfd952e419fb757bafcfcc6241abc6a14fb6b83c35 +AAD = c8e7b01b715819b8f4b8e2d402db2b5a23994d850e4c96f1168c49b0aea72e9289b1e9f754325d4a72e449e9dcead3781a752d422caa539d03d84f5378ca178d +Tag = b3ab3dc6b500d1e09dfd4ab1b0c8f739 + +Count = 8 +Key = a35842497df4791170bccf39253522c6 +IV = 89fe650c44609761e7b84791 +CT = c68265112ac554f40d6c0d96c73126eab5f8e50762d4512d +AAD = 8035dce11229fca5cdbfba993e29a580c453aab219ef773bb754f3eb04ed5c75fd93b7b7facc32550786b2accd9945361cdf2a155a4fd0adc856b0903212b25d +Tag = 0a37ab8076d4ac2bfb7d9d29e94584b3 + +Count = 9 +Key = 8a18029e8b86a0b670c366ad5d3a4d90 +IV = 9eb435ada17321cb7ec64570 +CT = daf1f54bb58064e2e9efdc9c675ec8586e807599a18bc9ad +AAD = a593a7c62d5410f8ff62556721c8fc4db9c5dc9f10ef632b7380cd7738df2473381a491d0144a82617f4cce75039566a9c56a4793f594b2712ecc9cc83aeed42 +Tag = 02c8032f9a9b82930552040b4e5a1b24 + +Count = 10 +Key = 3abc89fce58f11c8e0abcaf16147471a +IV = 2eea8e086cf95d8a78d8222a +CT = 0a6d5149feb04f9fef6b859e4b24b264741e270a7f81d1f4 +AAD = d5dd36ce3e221c73341a9811d17f372f8a1d0a71465ffcda5114e389e07e95448da4bf8b817ce2baa40d38295470312204035db1cf5a47bcdc511ac01eadac12 +Tag = 51ec3de32e213f73f52a5f8b00f0c996 + +Count = 11 +Key = 71a4b3f01c3bb43a76e00ef7ced65e68 +IV = 94371fa9163bd0816284433b +CT = 794cbb06e1fefe10f3d6a1161594ac04d742dab04791456b +AAD = fac2d803c6ef7e408efbf8396ca30f9b1dae7029f6a55e513d365811ac381bb9f0a704f9fcec424396a2c7e8fd35d4138f28ede319ae14a92e318569ff23e387 +Tag = 4e140498dcbdcb08bf9db748991ea601 + +Count = 12 +Key = 00a9023e118e1f9b49fba911c3128a0c +IV = c8d14b3fdfad06625e685d2b +CT = 9824fc30a897369595310a3477140dea541537ab14b0bdd2 +AAD = 258aafc52a9496f9398de86c2ec1539a94f534cb1471540c51a730d20f3c11aa75fc8c845a5b34afdea3f3c644bc047300f4c4bf2a6a845a3b0fa6164fb17a15 +Tag = c870da21b74b68f7b7c48eaaf43042b5 + +Count = 13 +Key = 7e5e52cf467c3828ec67727f08788f7f +IV = 4d9593bb4c2cb03870e32d66 +CT = 00813bb4407d1c200f2bd0115cc9da388eaa6056f140590c +AAD = 39daef25cfbe76a425ab00f25481d2e0e740ddbb035b3f4433f30b3e7a256620a839c10215f59dc9e54eb5a4ab3083067a9e0aefa35647d03b0a173083206325 +Tag = 806acc4bb859bdbd45524b7b48b2bc53 + +Count = 14 +Key = 43b367b5964a1c20b34d03799bd3a0e7 +IV = f50d6baa3c91e25af0d72df5 +CT = 97abc888c14d2d2e80684ffe2a266ec43f365e6caaa8ec67 +AAD = f3c6a182c352ffa4f55d6ae730a15915b34c054ce674afbf56f2977893f3ebbd02c85dabb86e81b47ee0d6382326b6ab10625bec5b70afbf248c63c14651ba17 +Tag = 55a192370ed695807f9466d3b82c6b3e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = 7c729163583ebc8da7b7bd94337a4527 +IV = 1baa8cf005a04541ecb6a065 +CT = 8497f2e46d1fd0debe618f2633b4646a6bd29a8f7ff23a0d +AAD = d348d676d3304007 +Tag = 4414ce67312695e3601517d7fdbdb710 + +Count = 1 +Key = 4b3e9f6588a1964fa235ceb683ccaa95 +IV = 7ff74bf7ed1faef619d68aa9 +CT = ff0055facb30e5124192a7b22313eb40580fbfb0e4c80a60 +AAD = 0ff9f44781e37e1d +Tag = ca212129079f00df08db8fdd0a69688e + +Count = 2 +Key = 31ad654dd6969d7a960cee707edf9548 +IV = 711db71881df3aaf8176607a +CT = d46c1428e76ecada71793f39f4cc7c8525875cab826984d5 +AAD = 0d8cc19f8723cafe +Tag = 3f529f2ea00abfe491eff23bcafa6508 + +Count = 3 +Key = 25e17e52d45232a6985349baf2d9f47e +IV = a367502fac8a6fb601637cd7 +CT = 52f7ce6f9152ded05e21e10a03122f8378d390f4a68e70ba +AAD = ae960affed516dd3 +Tag = 0a7ddfa048514067896545c71bf7bd23 + +Count = 4 +Key = c9925f09daa66a64ad4272b925909d03 +IV = 07bc354f994a7f2cf20ccb51 +CT = b9d0ce5a155de31300c83f66a2053d29e4d4a2b4abea35b2 +AAD = f59f9ff4a5c747c1 +Tag = a8b741d720e96308cb08f52ea5da86f4 + +Count = 5 +Key = 6f77786b9235791c5e9ff3f6f40bce3d +IV = 48e37c0c83b13b82894f3ddd +CT = 32cffcfe49e68eeb6130069284713b3ebbc5151c898dbcc6 +AAD = 2eb7e0bf5c605aaa +Tag = 63225ba1c12c9a373192aaccc86a34b2 + +Count = 6 +Key = d9cfb7bf6c9441c105a1e78007a8c39a +IV = 4b9b46b7fe99ccee81b4f954 +CT = 2e128772ba136f6e24fafd3f5988d58a60f07896c380179a +AAD = 9a293b582c40ba75 +Tag = 88ec85e0fe141a330f0db8210fdacc86 + +Count = 7 +Key = ccbd21fbb3a653bf3b5d1322537fd7b8 +IV = 370db8baac9895d4ded119d7 +CT = 287250008cbc29760c20af24175436339364b116f9a98d82 +AAD = 0dc829781cadb082 +Tag = 42fc78e2ff6858647b59d9b722d85c1e + +Count = 8 +Key = e39e6edd31f786e46adc5dfb2c54e2a4 +IV = 6fe93c50806df53258e691b4 +CT = 6b46125de0aeceb1532224fae10e38a1b4353043fdf47d93 +AAD = ad2e5d00bf56b91d +Tag = d5b515deea400155c4f1bf1bdb24cdd6 + +Count = 9 +Key = c9aeba53ee8c61696ee2f7f80517a179 +IV = 66e2b2f4a1744e61f6060b3f +CT = 10189d88b36c93d36f1687d0b350712cc4075e8402f2ca91 +AAD = f7c6a6dc13cb0724 +Tag = ba2c674980357918d7b6791b098ba99f + +Count = 10 +Key = 9484d80bf36a5d0719e34d44eaf528b6 +IV = 5480dc46ec00be9bb2a17586 +CT = 26f6966da870e84ecdc8d67ce81dea32383ac8663fe8fd65 +AAD = 60d581035d7e39a0 +Tag = c851682475e1026b9ac8e628bb93f949 + +Count = 11 +Key = 9c1c6170f5839e0dd44d896f769968e0 +IV = bca6e9c4c8512bc2302711b4 +CT = a0fa660fe947f341088095d2a83e9a8373a2d0a832654052 +AAD = 92706102e5aab447 +Tag = 807cd85b541cb69e4d795eb5e3b68fac + +Count = 12 +Key = 0634d0c0f44d22f7882fd427e52cd52a +IV = 6ddc06e3cde3d3b9df03740e +CT = 2f1edfab2ec73dfc4131669c15cac5af08133ee913b774fc +AAD = ed1d5eae893d0e30 +Tag = 93f6d2e53430210a6f4dfd2d24ca138c + +Count = 13 +Key = d06c7865e7bd50d8196cd3c0e3f63e4f +IV = 49bcf0602066471f47065b80 +CT = f55cedb7a5093ed52b2140a27804688abce77c59add6a87a +AAD = 915d8d7eb93e8b9f +Tag = 0969dc667e98e8d448defb90d75e608e + +Count = 14 +Key = 8daaa075d1c3a96929f1ae3aef50b34e +IV = 8ad4fc69febeae95806fa28c +CT = 887098c7a691936fcba73151ad182be455285c3bdea714a4 +AAD = 9d4354f5ff53d30c +Tag = 19b435a919f262781c50f4bcaeca50a4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = e72baf5a47c76afc96bca0ed5ed3e19f +IV = 400cab444fc1291744803b94 +CT = dd15c1945380330d4de9fd0ef9da1efdb71b3100e5259065 +AAD = 41135060e1a048920db25b976fa7e4d87c24486ceb064557 +Tag = 95f880edb4d00a7be540d5a7b4da789b + +Count = 1 +Key = e046406fdb8f238c5388515617bfa6e1 +IV = 56dd4c60a4dbe1c6f548f330 +CT = 1cfe270bb60b0208ae8a7a7caf365bc315fa342471788142 +AAD = 758b7576548e4ef4f6b2052a7332a905d07753a7298ee411 +Tag = 19db76fa0acb1db8aa075cf23d8e22fa + +Count = 2 +Key = 855d33f23762766fe08b7ac5ecf81eee +IV = a7198c2ac3b0c5a4af6eb497 +CT = e8102d738553ca036c7ae5f76a9411351dcc34cd2682bea5 +AAD = a5a14752ca69421d3a5347cb996a1363b9bc20069c57ae32 +Tag = 49a87c91c54e60e05f8e3356a053e07f + +Count = 3 +Key = 2ae04f1ec42021dc5d4357963f05ccb9 +IV = c2270efc53819df71f890359 +CT = 6c07cbe41bbcff85282c4ad3e3cead680a3237d8b0f6e6e5 +AAD = a90d084c0925d1261fa3031eb54720ff3726455730d299aa +Tag = c04626b04a90047128e47dbba03a5458 + +Count = 4 +Key = 9fed594da10472336f057176935cc3dc +IV = eb240bfa5f740d90c30b8ac9 +CT = 7b51cb12d96b7ea0080546c99a9ffef3679921535e590088 +AAD = abfdd0f6943946c467bff6bd99d656fa29e65cc97e84d38f +Tag = 5d73a7b71c7c0c249b495d70e4fece80 + +Count = 5 +Key = 9ecfa5ff66b1092fe6d65b271f50780d +IV = 1ce65363ace9de8e08a4fde3 +CT = 43602b85a647d3e52c14ba2ebba12330808b2ddabadf87f2 +AAD = d69aceb11b724e23fd8b7f3f458625c189ee4d5b8d5366d6 +Tag = 308102b32c930d3cdad2d4c804f20c45 + +Count = 6 +Key = f3f6c5be95a7857b90d3559ba065350a +IV = ad72e58d607cce5394bef0fd +CT = 0f3353ff721c7cde70f88c5e75c5e7cb878d8cae3eb3a6b4 +AAD = 6965bf9c7e100218ab4adfece77a7845b28eaf7cd6e79b94 +Tag = f5983fecd4f24f8b26afae3d5b01c3ac + +Count = 7 +Key = bb5f4ed7bee49a1c2dbd8f71bd689093 +IV = 5a5e23576a82d02ae42be8b3 +CT = e5a2bccfec009d154523a118da5399f2dd820169755ebccc +AAD = 6e3d8522aae6b0f3716a9a3d73787ae1e345f40cccd3cf5e +Tag = d0a66780cfae123f29a89c4b8039f823 + +Count = 8 +Key = 9c30fb1879619adbedf2f8c683b1e130 +IV = 6dba785c9bf1acd6a15ef73e +CT = 35b9689ac5eea885655306a9cb14ebf743ead94a85b8a32e +AAD = cef1e6677aa1edf145db5182a202e8f29a9dfe550e8834a0 +Tag = aa1010ea8eca80a324df8d8c8ac56f86 + +Count = 9 +Key = 7d923e7ecf505850013731f45a435658 +IV = 0ce142b3f63913fa16c0b352 +CT = 550bf978151173f6f3103a54640ffdea429b5f9f0430856b +AAD = 8d18166a93bb786508c56429b93d3214bb163449ba60c543 +Tag = de26cdece3e9090f8a2f9cb900fdc391 + +Count = 10 +Key = 587a5dafa784bb28d6d2f17c19bf37cd +IV = 98a0203add5c8e5432f955df +CT = 5594383834ee0a15258e5744f7e99042dc789cee4c41c186 +AAD = cbff84661f538b099989aefe836427dc6952caaeb90c18c7 +Tag = 6495ce4b43660b267198a333ce45ca29 + +Count = 11 +Key = 6dc809c3e639799f84a9fa2086fa2386 +IV = 9485bdf0ff60f24b2a2bc6a9 +CT = 491d85e2794af0d78e58aa395ab97cc2a12c65b384a4b098 +AAD = 67e8185101f75069100a19b2953cd859c08b38fed5cdfae2 +Tag = 6e23add997a02af94ae6386df935dddc + +Count = 12 +Key = 9f8682842c663b9f1848eb14984d1423 +IV = aaaf523244a75df2148fbddd +CT = d3036160126922807ac4a8d8390d0e283efd73b7e0df231d +AAD = b96b6bb26cf82c55f3fd830f378526d662c9d7a6e0d84c5e +Tag = 47fbb0e4c520018f421aad18c14db137 + +Count = 13 +Key = ee414ff72f9ca31d3f31e733568678fe +IV = b1b5f4bef24650cad5d66cdd +CT = 8f8e2b9336f0acf2060b1d49aa9a2e3b5254d4ba82b1815f +AAD = c4627c142704fb0d7804e98aefecfb921219b964b33bb235 +Tag = d8e762dbbe8a0fc1edd75aaa5f80c080 + +Count = 14 +Key = ca2bd0dd53cdf614f50c09b84415c306 +IV = 449ca6b667c4a279af379401 +CT = b9b4717d6b81d239a6ac05d0c7c9d6730872ac269b64d2ee +AAD = 9816d7a4fee08c192a2a065ad8b3b9e3475f22b4943b0633 +Tag = 5e8fb63f7641ca5861a8db942290bbbc + diff --git a/test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.req b/test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.req new file mode 100644 index 000000000..b7677d0a7 --- /dev/null +++ b/test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.req @@ -0,0 +1,2406 @@ +# CAVS 21.4 +# GCM Encrypt with keysize 128 test information for Microchip ATECC608A +# Generated on Fri Nov 2 14:53:10 2018 + + + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 2880f5c5fa6bd85ad2e9ce3889c15db4 +IV = 743267cc2da87f652195f269 +PT = +AAD = + +Count = 1 +Key = ad838408678e096eff471988d26d98d0 +IV = f743d94b16afe55bde34c014 +PT = +AAD = + +Count = 2 +Key = 5321c1d17cadc753cb3010a79e28cda3 +IV = 457570ed4efaae98faf488dd +PT = +AAD = + +Count = 3 +Key = 43a267d522053be88fdb8651a01c95e4 +IV = 3c769e36e7ef65997d9f15c3 +PT = +AAD = + +Count = 4 +Key = 6cc740bcd4b893c87dd9d421e13a9e86 +IV = 8309fb77c8507de93d2fcd3c +PT = +AAD = + +Count = 5 +Key = 94c31f807a1c9a69d9016426567e8add +IV = aaf98c14fd253312eae144c5 +PT = +AAD = + +Count = 6 +Key = 6b7ccca3e2b39b9e1be73e41a2456fb3 +IV = 1fbaffb378e6251ecece290e +PT = +AAD = + +Count = 7 +Key = f5a75bb3fd95b9ff7163e0f9b4bab0c4 +IV = 6194c45a50884b1da7fc8e66 +PT = +AAD = + +Count = 8 +Key = d0b3d121f33024c805f1fd0da1b1c853 +IV = 9f2879905b0cd0343f015cf8 +PT = +AAD = + +Count = 9 +Key = 286ae7c28efb83424ae58a5750749de1 +IV = 2e75a150dcc688c5d66802fe +PT = +AAD = + +Count = 10 +Key = 14cbe222fcc6abd1428db39bb59c1290 +IV = a4620a5d0a6e544425a0e693 +PT = +AAD = + +Count = 11 +Key = f2026c03b1e3256b7bb6d2ff0f279d22 +IV = 261e6b0e453b706bc748b853 +PT = +AAD = + +Count = 12 +Key = e55ba8eb575336e61548220731c17175 +IV = 7aaa33791bb3139a36bed946 +PT = +AAD = + +Count = 13 +Key = 56423f3de73bb7957d6c7c992eab5f54 +IV = 0908ec36c33220c9fba4063d +PT = +AAD = + +Count = 14 +Key = c39714892b84c6109b5527e0c182a968 +IV = 8e74a8d1991efe6e6a726940 +PT = +AAD = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 453175f1aa15d531930da16fddfe038f +IV = 223bb07a6a7904670a433b68 +PT = +AAD = a7beaa0aeabc20d1ecf394f808df575e + +Count = 1 +Key = 42a6c0cf4b5a99015438932d756d6c06 +IV = 7af403065179b091c368af11 +PT = +AAD = 202ce00eca69a5a2a2b95709df26fbb1 + +Count = 2 +Key = 61530ba556b108729408a611a706fb47 +IV = 1d28b1e48d497c4885fa27d0 +PT = +AAD = 49e310b62f4dfa1e2be74c8a67a7a806 + +Count = 3 +Key = d2a205242e6d9e54708b00673dc4da0f +IV = 84e74e9498676d927431a0eb +PT = +AAD = f0f3dcf116757ad4a02b05e2da4a6782 + +Count = 4 +Key = f955dfac78860c7a4aad1bbe019e4a61 +IV = 68f78239b9a8afe37f90e9af +PT = +AAD = 8b8caea16fde47c6f0c82e5f9f4b32ee + +Count = 5 +Key = 91ea69eb59fda59e7434d1ef76aba14f +IV = 118c1a948d2ffd2475ba6ffe +PT = +AAD = 8f39ea9f159a122ea72208c2c83f425e + +Count = 6 +Key = 9801e0b73a1c7ec4e9d60f33d9784cb4 +IV = 9d73fbcc3f161b9ca0050daf +PT = +AAD = dd8f58e1fc19c4e2f66b418a0667c3e7 + +Count = 7 +Key = e750cc2382327c4bc2fe6b0f110761d6 +IV = c7bb34c6d18ada524d4adaa7 +PT = +AAD = d44d2fc7e24dd0e5692e050cbc61926b + +Count = 8 +Key = 6e29bf6eed4d29557b4c4309c4a26f6f +IV = 4397967ef3fc1b70333c9b20 +PT = +AAD = aaa7d8b2dd513dfc17304e27ce6ad78f + +Count = 9 +Key = 9ae0e7a9f8990fbe2418aab5cc1ee002 +IV = 10b5da9370d5ec1903fe014a +PT = +AAD = fab06b3da18cdabd661b41cc3da596a3 + +Count = 10 +Key = ed6879288224cdda3865b111f83cabc8 +IV = ab2cc782db1e09c424346948 +PT = +AAD = ec532838da43c74b307a8ba99bbc5ab1 + +Count = 11 +Key = 4ff690f9d591cea4448439ba2b489e97 +IV = 5a262a1238a2a68d5bbfc709 +PT = +AAD = 98d98bb6ba37f03f05dc84aeac6ed088 + +Count = 12 +Key = 586909d303f29ea15133aa0db519962d +IV = eac5028227c22fdd98408deb +PT = +AAD = e86def8f237f0a69b1fb3ccbd2789b7e + +Count = 13 +Key = 8515e8fbd81cb410c90b8e06cd0be181 +IV = ab850f41bf3ff05ee181bb95 +PT = +AAD = 8b0ff619fe4fd1dba366559ca610ded0 + +Count = 14 +Key = 8cca36d5887422c212511f4f82f50827 +IV = b5368a22493af47251db7456 +PT = +AAD = 77cf0f6b3f1b78546c0e3a6935715fd4 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 61134cf040067a23b0c1c2a0dbd3c14a +IV = 18e9ab7e6257afd1a035c897 +PT = +AAD = d9fdd995bc2352411870c0f40e78a6648ec3c3713d266dda22d9c3442ce8d1724ce2851c96ecdd9214d3818f1910dcebc72e6d0e34ee3b31e891b20ff2368536 + +Count = 1 +Key = cfb899583c468398110b279aec27daf8 +IV = ade502b97d71a213392ed55a +PT = +AAD = dbfc0a5c416265edcfd91e54f6681bf86d2b7a06c3bac08bbaabfe1e0e18a762f4b23f3202155883a10e5ca101c6530b7220bbc37b01e43e8038a0e84c3914be + +Count = 2 +Key = 1ccfbefdb997edea11b9447b5dc2aadb +IV = b5b8eb86f0008fe8e299ff2f +PT = +AAD = 24be1f85ea8eede542723b3d3be9fb9ed8be6b6482e06a8fc91f2b5ef6ef224b992c02164606a21fc9524d4529ad005dcfadc2bf4f7cd224f3aa5f2c64e169b2 + +Count = 3 +Key = 5a22335f4269d72f93cc4c3a4e7bca5d +IV = 4b39eb9a029b0b79b33059a9 +PT = +AAD = 370befaa1b3168acfcb75d6cfdb7a1f57c3e612adf3d2f9b39cc4547550208e89764478fb041e2b47668befde0e2d866dcd84f5117fb224e9e8bcdf2dd057f90 + +Count = 4 +Key = 40192c3ea42ddfa7ff7267191e14316b +IV = 95daaecfc0fa1be5230ed651 +PT = +AAD = 4fbc0d7cff056b4a2aa52683a5261b66ced6be3099790230e55bba450e7a25ea49913ff75aac6d1bcdae91699f0cc249729f51b694f2d9e59db1844eb1f8b3ec + +Count = 5 +Key = 66391ff7c9bd02c9fb693e1e9b7dbdca +IV = c25b8daf43705708d95d7df3 +PT = +AAD = d466e7fd702592618773fcf6e4f95c79d4b284a79c52a127b7a339c7aefbd484f200be23495123058c0775844d29b919e6e42121765e863192d46d2bc089c2fb + +Count = 6 +Key = e11a360dfc4a7059f7a351c8792dea96 +IV = 82971293b75bfab898229903 +PT = +AAD = 94e484ec2a8b1e5522c01631bfd55e7180d8eba847f24f67a14469f97e9c983d36e32b85301c4f63268ab495eabe0daa0cb6a6c6a6e01516baeb812259cd6665 + +Count = 7 +Key = 757abc7666789f2e48f08bcae3d61949 +IV = cd1ef1f1fd528d16fe6ed40f +PT = +AAD = 9e35e5de4e06f218b9f5860ae5752c8f94a445f3b9c7601f66b6c2fccb6a9211f15864e24df20b61f178cf83a99c56c124036c58496edcc0af29ff5b5595358c + +Count = 8 +Key = 600b5412121018a2e52895265f05568d +IV = a3dddddf2816f0ebf891d3c4 +PT = +AAD = 97b0f1a27ab8e0fd71e23f6563699cccd2148e53299214c581a52121798e3bba2cd4796b827777d9538f9886034fece79d3dbeea2ab8b51e6598a13ed8fabc7e + +Count = 9 +Key = cdc705de93e600f5ce4389c2935fb340 +IV = a76e63478a2d209a21b3909f +PT = +AAD = c006264bcae589552f0ab4f84de75b6c1ad9642a81820ccb764ce401b44ae5b42409ee2014690d5f4f91be81cbd5d2bd98232011943b66be3891fa8e3a6fab3b + +Count = 10 +Key = 8ba2db2a7abaa8f7c673b4ba879e6591 +IV = de4ff241c3d8f0eb9c33a39b +PT = +AAD = 15bc1e7e20fa74543407d6101de30632eac8133f8650fe5e62aa6fd0141c9953373c9ba642db68af77ac1eac5e706d0a49898bc8debf7dde2cd9f730ca4b12a9 + +Count = 11 +Key = fe51703f9f8f9c0743bc9f4b49834e6b +IV = a6922e2c3c90ea00f4c42f1b +PT = +AAD = d75ee0b0fb5caa5f265e49c8dd7d94d8eb4dfb246d033e84809f70007b3edc8575051367e705f07c53c008d5e5b94f9bc796ccd526228e8f77c99acb05447436 + +Count = 12 +Key = 63184e966be5762adbf834577accf48e +IV = bb4ec2faf20212d522ea885e +PT = +AAD = 0fdb6ccb99b7c5592e875b98bcabf7a5047b7b0f44cd7c6d46423c684bdc466decb6c2829cbd316bcf2f1ac82d2e4eef9012dc82c06a72051bcb697b6ab4f7f1 + +Count = 13 +Key = 66412118f44fd7387bf89c6e6de4b461 +IV = bbf616171bbdc26656920c2b +PT = +AAD = f0ab130fc2052a8e6936daea40884c4e827b8277a66d1e1eb8a75f471458dd0ac5f17aca2c84d9d3ea66ad0f69d105984e3c44e2d8351e6623a4ef61e0dbc118 + +Count = 14 +Key = 37795964aca2cabe6c91eba53c8b288d +IV = e139943aa4e3d67e829604d1 +PT = +AAD = ac37f26fa5cd0408e2a1a72556098f8e8f64e5e846798b49657a8fb112436029f424fca018edcd3101a3a954b6adac50bca711889289f76261251c587372e4a0 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = 2c9e38c6c46a74eae0feaee5fc817a55 +IV = eea0e8eb5a54170612cbe736 +PT = +AAD = 408336dc66340482 + +Count = 1 +Key = 605a76ac44672ad947251dd2f5df4e92 +IV = bd9b81c69fcb0f9493f5a98c +PT = +AAD = 4dd583b84fe75203 + +Count = 2 +Key = acf5d2d8b303e4ac8353310713b224a4 +IV = f79ee9b5b52201cb0a0247cf +PT = +AAD = 3c546cc78a44a572 + +Count = 3 +Key = 7c99304f59157e10773092d86c23dbdf +IV = dbb324b1e834c28f793af3c2 +PT = +AAD = fc59dd4295595890 + +Count = 4 +Key = 8525a6efff4c739d48bea790c0874251 +IV = dba15b18e40b22e5db1e4cec +PT = +AAD = 8c3f9b1f1f9c950f + +Count = 5 +Key = d5cea449d1e516efe42a39e6e8ed623a +IV = 5ebb0f3d9b86c9591ac6d26b +PT = +AAD = 2cff1ce499d2f986 + +Count = 6 +Key = 17d803c8e763fa6bf281b57a901527d1 +IV = b863fcd86c4e4fed2ec8b81f +PT = +AAD = 991d073eabb9db96 + +Count = 7 +Key = c9ede5aeeafc6ee281c2d204745a7c96 +IV = 3a8b4b81fd443c8010c3e634 +PT = +AAD = d16a7d7573e9fd95 + +Count = 8 +Key = 254a35ee001bdd5b6a4c69c6844a91e9 +IV = 3d47bc25daefb69b39a6a1aa +PT = +AAD = 5a3432e1735af42e + +Count = 9 +Key = 315f51e4b5ed702c352536da5476d1d9 +IV = 19d4d1ffd18d9057e6cb0cb4 +PT = +AAD = 893945f037b9a75f + +Count = 10 +Key = 06c9d658c17d992150edfdeb1cf93579 +IV = f0c70470378c60be5006e250 +PT = +AAD = 44c4081b9a456991 + +Count = 11 +Key = b9145f5c7489713ae934267855c232ce +IV = 21038be4a5fff14b48dab4ae +PT = +AAD = 35a53fa1aaca9405 + +Count = 12 +Key = 94a8e33c137a770b228bf294513150e1 +IV = adecb1754b9708c5c3c513cc +PT = +AAD = 03ba24ce64b74443 + +Count = 13 +Key = 848ad3615319aec5ae186e3c758f8a9d +IV = 63661a2b552b9b510aaa58a6 +PT = +AAD = df909a66cbba0872 + +Count = 14 +Key = 3a75794abbe74bbe799f588389564a17 +IV = 55c4d1ad1a3e6852de224394 +PT = +AAD = 04bb08cd84c4ef27 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 0] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = fb896d1ca87ea23540a9940fe9048918 +IV = 94e9881483d9bf0abbd27470 +PT = +AAD = 70ec371b21465cd7467da26ee626e85c3402b89226b620ca + +Count = 1 +Key = 702d7dafca1080bfed84863d2b88721e +IV = f01dcf8545fd3b2076c35329 +PT = +AAD = c4246c7a92f3e9bdce83556c0ec31b161cc818f9c87fa449 + +Count = 2 +Key = 2e4b05cd786463fd17feee10e23c38b1 +IV = e7e3856f639791b37f98e0f4 +PT = +AAD = fd44814c3e54eceeb516d8f7e9ee74392af068cf860eb3fe + +Count = 3 +Key = 02317cc9c07dd7d859b9af05b2b5003b +IV = 005107464a890614130b65cb +PT = +AAD = 5b03de5a0cbc41fdd6a72f8d6a05e0b3e3a8f8afc0456d3c + +Count = 4 +Key = 0d6dfc3f97b85f53c808aa62b8e7ad40 +IV = 3dbd11c76c757a3c0eb8218b +PT = +AAD = bdd62b4e9117846581a315a48397640b3890cefa47b751b1 + +Count = 5 +Key = 8e0a3b1885ca5d5b560559149448827a +IV = 60ea14fc221b4301ab9df5f2 +PT = +AAD = 2db4fe3ff1f91cb7d88a76d88e43da3d2d740928e67c2330 + +Count = 6 +Key = 5cfcbfbfdc9f7d7c4aecf081a18a7ed7 +IV = 4592a30c54296486a56fb9ee +PT = +AAD = cf08fec7efe20d8c3763471614d0a2bf1c5a14ccee2ecad1 + +Count = 7 +Key = 38dcac4a7d967ea8eb7638c91cbfd149 +IV = 687ea19b61cabd8e6d13cf9a +PT = +AAD = 3c59f462352c4fd76b185deed070ca25a71127f30ea83491 + +Count = 8 +Key = 0fcf5398670ab00bfd01a0ab62395550 +IV = 4ea2cef5d4decb66cbc60c27 +PT = +AAD = 1643320d914559a0f7344d3e4493567ccd0ede003f543b9f + +Count = 9 +Key = 7fa38df46a87f31f27f9127e40d5e101 +IV = a8a17f30f0bc03a87121c6fb +PT = +AAD = 29c8227ec16b021edb2f1c59feb96ff69f886e9acba368ff + +Count = 10 +Key = 1885d06cb026b44141a88bd26086ddc7 +IV = 0e0d0a4702233ed6262e47a8 +PT = +AAD = 5a32334075c48075979dd2d1bfec5db95afaf2aab1d43e25 + +Count = 11 +Key = 5c22106c003190acf736defcfc467a2f +IV = 85f975aed43ccd3ebb4d1354 +PT = +AAD = 673fd10cdf550a3ab1d6e6b00ee5d95b4f54db1aee80b9df + +Count = 12 +Key = a5d897139612d8ac52dcd2710bf53026 +IV = dc110513882bd2d44b9b3860 +PT = +AAD = 154f0b2faf8dbe6c29632d0d8ca0f308160332473e2f8aa9 + +Count = 13 +Key = dd3586793fb391716524e4e11faa8e13 +IV = a4eb441d2c7373d39b6f0d02 +PT = +AAD = d1833d4388efe2e02b374804085272600992124524f7d049 + +Count = 14 +Key = 11ecf96960b693c16b86d6783478e1ab +IV = 59d4962c484e6cf15c8677c0 +PT = +AAD = f16c974c51f34fad73971e93998325fcd19a1336ce861895 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = c92d1669181508cbb399771d0d2c6989 +IV = b467f6d70eef7301f5f3e2af +PT = 2d850d046f4f9109191b9f71db7148b1 +AAD = + +Count = 1 +Key = f6c2473f93b299807f501ff6f422e9eb +IV = a4a7d457415648f3538da914 +PT = 63b79118a3daa804e2f96a1087951fcc +AAD = + +Count = 2 +Key = 020f2dad47ae08031ecfb6e4d2c52cb8 +IV = f8bf7ab28ca1baa393f403f2 +PT = 3bf85b759a1e8cebecf51c094fa0e21e +AAD = + +Count = 3 +Key = 647e28716dd888867e7c005ca4799f83 +IV = ad88552fb1ba0bc169572505 +PT = 19ae8e059f873fab883d61282ac5bb48 +AAD = + +Count = 4 +Key = b42b6aa84693273fc8e6e49e9c4d147a +IV = ecca2118eeccce98ddace257 +PT = 8d9861e2c8c47117f8da99cc532afd33 +AAD = + +Count = 5 +Key = 74cefa379fffa0738b966fe9a9be2489 +IV = 2b484b6093f33dbbd8f3c24b +PT = dd10334091ed30c792340c944eefed1f +AAD = + +Count = 6 +Key = d3764de2ecc9c26bb01d9444281eeabb +IV = 666721c3f5f9f8abb9d2e256 +PT = 0adff577369c1868d830095e59546f39 +AAD = + +Count = 7 +Key = e594fa659c10d5a9be63e24e8eb782e8 +IV = dbbd280f1c8f01b44ee95eca +PT = cff47e13c8bee0d581299d31a20c5aa1 +AAD = + +Count = 8 +Key = 8b90f16b0daaf276daa9809889257280 +IV = 9b1062a234daa6f3ccd2c887 +PT = b2f0feb41cea5caa43cb1f1fea52f726 +AAD = + +Count = 9 +Key = 9ad0c237a8fb6e756d81d49ce7dfb8e2 +IV = 90e477a63735c6d4d932b3a1 +PT = 15047d0e19d92c33678ea82792c0225b +AAD = + +Count = 10 +Key = f5213932d77b17d0f23de2c12768fc2b +IV = 677e10d3f9332508cd2bbacf +PT = 7cdaf47d5a418ca6020764b669aa8ca4 +AAD = + +Count = 11 +Key = d264a012fe162cd366c7f043d910a05b +IV = 8ef80d4489396d3438816cb6 +PT = a7381fe4cac0bd751be7ff404708d2a1 +AAD = + +Count = 12 +Key = b5aed24e78689f34b7c0aa53158da09c +IV = 7ce15e5e1f1318e9da91c4d8 +PT = a7d2562250f4f99a4c523eb10bda0216 +AAD = + +Count = 13 +Key = f956e476198768bf301e220a663c0c48 +IV = 73554d1c6a3f009b42de48cc +PT = 15482c923e6e8e18badb727b63aa2175 +AAD = + +Count = 14 +Key = 97ae60d72af89aabd3b7b1cfb142fa44 +IV = dba15f32f5b8191d3970673e +PT = d77e19d7b9c0672b20f55c7f4f39e44b +AAD = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 27ca7414694002341465bc25f0ea0f80 +IV = e043b54cd53706bbc86b6d8c +PT = ad6c8c4baac49c06475ff05f179d5797 +AAD = 24558359a3b2f58677edebf772d6f691 + +Count = 1 +Key = 1b1929ce95f37e07b8ef1493ff862a4a +IV = bf994539a0bf9626bfe0bfa1 +PT = f65e501f450c8e08ca2baef5564e99d3 +AAD = 51b2b9563474edb466870d3c9d949c3f + +Count = 2 +Key = e4e82c01f697a711409b899dc8800e97 +IV = f211d2debb7fd876b002e002 +PT = 14d1b0b1fb114e4a0cb6c21354cacef7 +AAD = 1e9b481ed0b7946eeef8ba024e61583d + +Count = 3 +Key = 2433387704047cd4fa90820545be914c +IV = d3c4756669b0f6d62a889597 +PT = 331fb7d467ffc53bd27223a86b2f1763 +AAD = fd2d7afcfcf6648968c0dc1963cd10f9 + +Count = 4 +Key = 5d8d16b4c4723b47847dfeac5d0bfc81 +IV = dcf8f02140d503f70a1f9867 +PT = a641a671c0e2530cd9db9be531164958 +AAD = a156569f5aeb15d1fae204fd9e42132d + +Count = 5 +Key = a0c286adccbac17d503d841ef9261874 +IV = a67d375b9474c49f6fca4fce +PT = 490dc04d0f05174595eee6e442cffd81 +AAD = 40fcc46825729b8f29af56bee87aa8b9 + +Count = 6 +Key = 9b0762f44145f1f9dd3504c6e8348960 +IV = 036f7307f868cfef0f1042fb +PT = 6d2e9d7f6bb4ae26f19a737c025dd26c +AAD = 178efbc3885dba9f90bc794499d3df03 + +Count = 7 +Key = f4d4884f04f53c0469df60b2c9269e2a +IV = 7a92f250030a9e61e07032d0 +PT = dc7595930ba39916c2f23e99518ae906 +AAD = 361bca1e3181e998c3dea129867f375a + +Count = 8 +Key = 43a8abf28ec9590dfd5527062145f07d +IV = b4bcfb35a04c30faefa5f9fe +PT = 5d43f5137dd7fdd0639df7fece0e5cc6 +AAD = 762e41bb523a15d7467e05dcec15683e + +Count = 9 +Key = 0873c9db9b4753188cb29b6e89f4a988 +IV = 9d6d5c2cf5f08166fdb0be5c +PT = 09c21d738b411c53fd222f4d5753f34f +AAD = 77281422d7422fc757265426fa032ff8 + +Count = 10 +Key = e6b4f8946afb0f3a985eb03d402e063c +IV = 097ec8ad622ca0c41e43266e +PT = c47719f75c1afe68abf6029634f3193f +AAD = d80014fe2f40d2b75311e960dcce4e6c + +Count = 11 +Key = 817d3a23848420796baa2344292645cd +IV = 05cb86ccaf0d05da64418a00 +PT = e90685f60f1e80560a9f9695f4775be1 +AAD = 71d16022af96a43aff5020faeecd930e + +Count = 12 +Key = 15f53ca64d3035b6c68e4d3017bfe4a7 +IV = a30bc18a9437a219562a679c +PT = 9acb9b8faf899da22990d79eeca1d31b +AAD = f5d0efedc9b5d3ba9255f1c13e033a3c + +Count = 13 +Key = 39a895ebffbefda1c1cbdc3bd39a5f5b +IV = d438ffbc19d50bcdcece2d99 +PT = 3542f3da486f86afa88d09fff530f04b +AAD = 0bae0b56dec8f26ba35036cad82a86e1 + +Count = 14 +Key = 8190ffb27c090f511bf8fa1c222b54a1 +IV = 49c51bd321d5df75367cf2e7 +PT = 5acbcfe3e65b185b2e84387052cfdafb +AAD = 3981440fb4b12d391a1a51f422e6e51c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = cfc828a15bc66158f8b1abb9806b73fb +IV = aac46e60ac660d0492779cec +PT = 53e2a8329fb681d3847aa80c21bf8073 +AAD = 6349f62b6f933afaac436f4de2dca35bc5fdd5ec1c2b417790eb06c9492a328643da2ede3d1bf1506716a676ba1638296cd93d1b5f87bca716fdec829f45e26f + +Count = 1 +Key = 6efa9bbc254fca0d37a6d6c4d5461554 +IV = 0f2588c530b30d3cb36e068e +PT = 5d625be1a46734246d6fad6eeed51b7a +AAD = 4f31f74fef5de0481cf86991f36fb8e6e4d837eeebfa5b2f9c9394c5e9b2c967681df383b51c53f91bfa3fc2417d69bc290807c984bdcaeb3ea9bce91d68cc68 + +Count = 2 +Key = a17c80f4fdea169ce52bc56123adc2e4 +IV = d0290e40343c11b0ce1ea6c8 +PT = 0487ed3058ffba7b43ed650316f8f7d0 +AAD = 8e856fcc6af9513e9a5468e631603ff2c907978c0ea7dbf973fac29565ac9fe43fb4d879c76cd92fc16126291c40e141c5e0603c82e31ea5b122c091a8757b1f + +Count = 3 +Key = 6da126b5bb26f7eb73b835dce524cc76 +IV = 3f2b7b5975248143099d1bad +PT = 395703c64aead32d76e55ce9e3754353 +AAD = fa72e189b7cd0b18450b8a5b7cdcffe2e6173f0d736468d78cbf7aa0204efa650fb4a7d40b5589a2b78c61d65102b0e20665f9728c51994acf63eca01c569c0e + +Count = 4 +Key = 244ef5c36c6307f150814674af28757f +IV = e816f2987d98a3d9578671b6 +PT = 3300a824f94d95b943105dd44d6134b2 +AAD = 94a502d035dc64d864944f27d71d1adf7cd57a65fff1a6febc66ee6f4b54ed515b245dcfc36217af3205502ec0344ca601c4e9e50922079512d71dcfa7328f33 + +Count = 5 +Key = 61cc4c1d3c6105d52f13f3b73166ea4e +IV = 3a58e7575f92ace5f9f5878f +PT = 90fbee00b5c4f1e442b2d38e02f9662b +AAD = 98918ef18e3a92a581d54dac8efcb90317b85b0919437e4e02c80a800e3d2f3a6d45a90c3bb1d7606b9aa1c14b1326fed11d996e79ed46808e54b71939303d65 + +Count = 6 +Key = e23712b4af9f7a110d09ed66687838d5 +IV = 1f9da9a6508a78200dc8acd9 +PT = ed1ec7754f8f2950bd17ab971bd3f0bd +AAD = a0886fdaf960b0cab844f1df370e6e5ec33037c40326d74e173375ec60b01ca61178b51d4e4f48fb79b51ebbc22c6bb38e1e3c61be60a1dbce2bda20645dc8d9 + +Count = 7 +Key = fc1ba9adb03266ae42483dace3db71fd +IV = fd94b8e9caa86a6bfebf63f8 +PT = 9f45312c3ef508a91a2e9b3c3f03f44d +AAD = 04f14217010de67deb178c65c0162c2af262ef1716ffaaebe276a4dde169e726cc4804308cffd7646b0a652c6f4e0b43b327b27e47aee8486be125b1e287842e + +Count = 8 +Key = 98aa4b599b26ec1b1127873e63a92d84 +IV = f868c9a9be75c645e3ed2edc +PT = ef0fdb61ef2ee07e3055da8ea212390d +AAD = 57f7ad86f2665bcf388a79fda4ee3b0bb152129611e5b4cf084234495128aa5409f4caf5743cf780d2862b24490f8e9741134c31db2e55f4130363b4d260cc0b + +Count = 9 +Key = e6abd5bcdb776b1a5fa3fd212f462060 +IV = 6a30390db396a0c774fbc5b6 +PT = f058e1ee9c7b33769fc92755bca4c5cd +AAD = a8c5df9320e099d0dc85283739a4c00736731601e948b8725b63d109d4dca8567604eeda3972ff01f004db1f44b4e49a1ad06f7f1b0e4d119446dd3e33ca1e4b + +Count = 10 +Key = 830d634be1765da15a21f19c2ae566a6 +IV = 3b30b749dd71298b6a12faa3 +PT = 5dfb2f01141bc8ce3c5fa39e795a403d +AAD = f8b3c6abd9e8b33e079bd107c4e4356cde1e3d3a50e50915fcf746d8460b0bf877fe5271d3c46f26a6cdb96bdcd824f98c0ede77386ae3f4a99537a7db1da03a + +Count = 11 +Key = bc7390e766f5c8d16ede31da4cc05fb6 +IV = 18ce805bd1c395778625fdfc +PT = 497288551bc1b9303534db6bd6aab3c0 +AAD = c67161157b81ea0be7970a3680ed39af4e1bb9c9b15ab4429e43ed81f27079c0eea7ce1fbc92b448947e78e929cae0b1de8ad973698264e4541809f696f68525 + +Count = 12 +Key = 6bbf5f0044fdcf35311f8043ad696be5 +IV = 6b696c504dc9fd2e4900384e +PT = 3a41c79219bf08f9c2613bd8a7117311 +AAD = 6ff1e0c74547e5186e06aad00a1c30bfacbbd0958b8b20ef4edb2a7bb8238cbed5613926fba9eac592a693a962a2854983763f429e1052c0a17ec20801c4ed5d + +Count = 13 +Key = 641efdf1088f57a2f0effedb10fce829 +IV = 45ed8c7a66982e427ad5702b +PT = fdcd94008047f21c3efb0720440244ce +AAD = d12a60d30d64990183b952207d3d9d58323545e071d33ec22091767ed4e3ea9336e6b39a4680b21f7868fb407fb11607e1c8fbd882a0cf3bf2f88a8ac341b71e + +Count = 14 +Key = c1486a557e4958ba6ae4de87ae30a870 +IV = 20fe61f61b87059b28cc1cb7 +PT = 3ca2971d07a132235a30c4058a19ee94 +AAD = 6ff3717163caa1cb9061ae7dd16c694a0ef168bc225cb03a57733da0730da084d406f592d84b9d51253dda0c1b90d0656558e37969e295d38cdee428906fdfcd + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = 3370fbacfa8ad5a753f70d7964b1134e +IV = 0a3dcdd33ae748f82aa10412 +PT = 7e2362f94109d3cfda9bff0e968654b6 +AAD = 84ee0df0a6d4a008 + +Count = 1 +Key = 3d318425fba3fe99501df7da83087a88 +IV = 19829aed3d5506c9a325fef2 +PT = 7412bca448601b86a4ddd589b9bf6e96 +AAD = 68a06df7b1aa3342 + +Count = 2 +Key = 38f62e3dbddfad88ec8668938b109a6c +IV = 27aaf0321482c1b46dfb9cc1 +PT = f642fbc795b71a1ef55d55623f0e2ef3 +AAD = 1180e097354c153c + +Count = 3 +Key = db57fb8df9a8bff8520d9def158d0194 +IV = 2c72771189477deabda144aa +PT = aa3fff9c98965387bee09e5d6061fa69 +AAD = 43c3cf9e892cfe8b + +Count = 4 +Key = a55b7407782ad1346187e0000c7be1ca +IV = afca96e633c771da5d25e873 +PT = da99f9d37b9e79bb21fc7041eb63671d +AAD = a4dad476d6b0a465 + +Count = 5 +Key = e3cd9be6bde724f67ae6a14ec10bd2a6 +IV = c9bb7241c6b7c58af383a33c +PT = 0f3a09df95f8eb24af6291b1b42539d2 +AAD = 66511591e89a4da9 + +Count = 6 +Key = 6583d088aa91794f21348e585dc2e2ad +IV = 183aacd97722a19910c0324b +PT = 19eb291b5cedd7c7577b41b4e2a6402d +AAD = 2c14ae22f5df90e8 + +Count = 7 +Key = ee791bae59f973f785cbfd361e7f7ecc +IV = fb3e120570d1f534d9cf7522 +PT = 4c482b0074b89836313ae8bf05bb2be6 +AAD = c29f7e96a0883601 + +Count = 8 +Key = ff14f05646155d8c9e2939eb48215052 +IV = 3852537d2aa1328fb4468eaa +PT = 929d854a9222d9d32b93a7b53b3be77b +AAD = e1442af17506a89a + +Count = 9 +Key = c4756f8a18c53cf46328d96999728fca +IV = 602b5c023c04f308bd37dcfd +PT = 7d7bd230de457eeadfacda353f5d4c62 +AAD = e53746dfc8ac012e + +Count = 10 +Key = c7885aeb45bc97213c6f4a095ff27aac +IV = 67a41f7d218af4a7349009e3 +PT = a22fd434e91900e924e6bc14ce5d6cd4 +AAD = ceddf1fbe1629e3a + +Count = 11 +Key = 69575156e2b2f4001b0b8cb7523e1105 +IV = b8cfbf9086e4f9001a5e276b +PT = 5ca09c71c3bb9e1102313c50c056fb00 +AAD = 580c46b6f8871dbf + +Count = 12 +Key = 0889a253327894282409f4c6215d49e5 +IV = 444e00d779263fb5d48524bf +PT = e8da5c473fe5867d2d017e69d3dcb752 +AAD = 41a6f2397879a83c + +Count = 13 +Key = 2cfa382c55b962a3065b982faf219749 +IV = 4253901c08ae69f8d307cd7a +PT = 038df5cf176f4cdffba01415f2ac0a7f +AAD = a6f846a9c18bf395 + +Count = 14 +Key = c65e577212c616ed3fed6ec771a9f670 +IV = 305b617eb1f7b0c701ee6965 +PT = ec2a76b095274664eb574c3b99b1366f +AAD = 8fb3eedd35ed2289 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 128] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 3fac470851034729d370ccdd0a083e77 +IV = b28d97c01141edea516e20d9 +PT = 615c75a449d9af9dec7361bf8d3c8961 +AAD = 10677cfef0f0403460f7507ef415d2fbb2d8de75799e6293 + +Count = 1 +Key = 763795fc8b5ad747ff390eb53e93d686 +IV = 9cd255d4900ade24e4b1bed9 +PT = b4aef7b7f74cd5e5363f2641b7f44c1d +AAD = 2180d6c39a22cfdad5669c6195efcd1c20da386b719f2caa + +Count = 2 +Key = 2344a5397be6f8f5112a1b5334f6c0b2 +IV = 9ced7a8e2bc32e4c48af3b8f +PT = 4c601661210cd5fd0e7e22dbc09e464a +AAD = ae341da3cb2ebfa0d667f76151d627c4db5664017cd2966b + +Count = 3 +Key = aea96c9ccf3f6adac6a4bf869192512a +IV = 4f1deca006b2f07251685b3d +PT = e7e27f26411f2af80c41a3a463bd45fb +AAD = f11610add85f74103b39419e5298361aa23fa925ec199dd3 + +Count = 4 +Key = e20f0bcb2e09d775a258cd2a63b60bee +IV = 607c400a8304bae188fd8068 +PT = 5d976dbe25ab002d967aad5c838ac653 +AAD = f7f9072c12a1e0e218c63cdc057dcb53f672eb2d81645524 + +Count = 5 +Key = d5a940fde72aa7924ee85fe570291970 +IV = 0339e58dfcf9c50438a297bf +PT = a5bc34249371cab2253fde6441c444ee +AAD = 889233abb1f85da62fccaee34dcc829e3841277574953270 + +Count = 6 +Key = d87123025a4e49374067f0f9e6279ae4 +IV = 3009fce179cfc45a7ddb2276 +PT = 7915fb1f63268c4a559a000488aa7b80 +AAD = 4a172b774752ed2308be406fda62a35926e614a3b3418969 + +Count = 7 +Key = 8ca729df4eda5b8f31541ba488b9a05d +IV = 13165415bc6401a37f1a8a03 +PT = 3a193bdbdc9f35b30eb8125d636f79a6 +AAD = 9667aa3b4fa9ae2055da4fd17dfd8e063921065fe272a2fc + +Count = 8 +Key = e74221e53a27fdd57b8e4a9a53116aa2 +IV = 56b04583ee81de5bdb10a690 +PT = 9db216f12a706608abc307e2b15196e2 +AAD = 93c878887af5c73900eb47cdd03c3861aa30fadf8e0bd700 + +Count = 9 +Key = 7ebbfabded66856024732e712af08811 +IV = 503874d3582ba77aebfc5ad9 +PT = 4c157f15a0fd7c5eb97558d06c751cd9 +AAD = e7a648279dec1eed3838389630ef4c49a056e0a39ea93dde + +Count = 10 +Key = 159b1b4133d620d8826ed18feed3a932 +IV = f1ba1c80ddb3d794caeb24d9 +PT = 5470e84ff2a8848c8f209c35c4a5daca +AAD = c2675ffcb40124d31c99c223515fdb933dd8eefa78b3e333 + +Count = 11 +Key = 1a81d5daa355d6e391cfe8b229736e07 +IV = 5aa3c6c6e8c185bc6d9fca80 +PT = 5502f9bb0136b5a494ac32af65fe07ce +AAD = 8b5c4964d9e590adfcb3e6892295814b1e9dc5ea22af38cd + +Count = 12 +Key = f56ef3b65d60ed4eb54b9704df9d4864 +IV = e689d67e74f7322af87f7554 +PT = cb22b3a0e8c698fca873ceba6fc01402 +AAD = ab46d7916239a2c05e639cf80839b8c3d85c560b2d6f4f57 + +Count = 13 +Key = 5a14966b646d9d1e4a52e9ee85df31b9 +IV = 97d29901008592f92e834515 +PT = 79090b7b9c8f9e9b4316b5e82b3286e8 +AAD = e5f7d58d4883e3a713afde3ff177fbd8059a7b726025fb1e + +Count = 14 +Key = c9e4700989a82c6fe0beacb5b8926b45 +IV = 234f20a1ec2ac51356d0c15b +PT = 878f174520e6d5c5cfb419de2a0123c6 +AAD = bee5e2c624571edb4bb9289880d19bcf437c7882462d7d1e + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = b9716466ea5d37368eb8c733a7d12f54 +IV = 6e7f6bd239b626077e6430e2 +PT = cb9db11f96a872bf56c07f3b5e186ed123e1bf8a56d29317c6bf40e877aefb81a5898caf46601c054d0ec32cff0eb41e214f7e132bc2e0187ef29a60eb5af533 +AAD = + +Count = 1 +Key = 4f6d9854869040edacbe66984868ca74 +IV = 3ec92977defa42d112100cb2 +PT = 6f395f1d1076b9f3795f4f1d55696a2e137e78d1b84046c711ef2ad7bfb749e523021a6d7bfcdfe9c019d900da229e59549dcc5beeda3f68acf50ce2cc02cf92 +AAD = + +Count = 2 +Key = b546436e63d67fcd3b4b449a890fac06 +IV = a0be88871ee1dac29662e182 +PT = 254f62c359f9073b8d87a9f858f681f4295b3adda7c1d7f0f72c90de998255aad1eeaef991a65ac4dbcf6c4fce10541beced3d23a736136413ea355d8b477e25 +AAD = + +Count = 3 +Key = 81079ae8487870ca0250ccd11fce4457 +IV = f31b0e44be0924de765ddf73 +PT = 8c085ea640320996612060656e22f53c43b294e720e423c47c9dd9c144620822892a5ded79f6ad90d119337944de95bcf4be2f272ea257a6822f58fc22597745 +AAD = + +Count = 4 +Key = a85deffa1f34d2853abab73c84214284 +IV = 43c94618bbc33884ba2d5832 +PT = 2529539f4fd37d27dc9470082eeadca2e3c3b54cd7bcf45811d37f46457458c4aae922f11ea5dba25c0ec17a473cf620afe223dfcc57a78306aa5bc569ef8445 +AAD = + +Count = 5 +Key = 33acf2c25ed3e2b4885eb1c6e00f8933 +IV = 5e4122c515761ba9812f3b8c +PT = a7d7571c91cc610ee94cce740b333f49f7e99b7fe23443dad4a8c206153fccb51f98b00ce2b6b7e6e1770e20504c4e2ae792dda316db7f32e56daf887ebdbfb2 +AAD = + +Count = 6 +Key = eae033510c6407bc3d9b71018365cce0 +IV = 3fcc3fab7dd86db75fcd5730 +PT = f5f8d6a395815f13be36154d10cf8114499e376f762f205e95d26f3b3722e1d3eee537d87e0586f35ea77d08776041c572f3d73f0647004db12675c9272f501a +AAD = + +Count = 7 +Key = 6112355eb38848daa88331ec6558f019 +IV = b02446a7017a4c9250512720 +PT = cb9b8126a2d7f8867e68eeb4433dc3f26f09024f320f7e71ca0faf6813e2daa8e404c6e6bac85f3415599177c317d7fb1f0f5a9b9106e53e1c83b6d4e24432bd +AAD = + +Count = 8 +Key = dc8cbb62f2c43170b8a8496c2ee92893 +IV = 4a5dfadad794048002cf57d5 +PT = db952ca9266ec9f790c9fa3cd0dbb1546ad532f53557f6be977dc0db7be17c887ace11a5c117435cc393de978622d487e235593fb46139be405bb79aa5fad0f1 +AAD = + +Count = 9 +Key = 01617b25f532405c267c470c101cfa29 +IV = 665e9fcd0dd553ceb494bf17 +PT = 7bbe3e37826ce109586b5a150d5f14d34e169deede2ea0d07d74e7e37279bcf89f87a4098fd9640b00926dd22950c6e4d822fd25da509b5d7ed8cb2c41d27730 +AAD = + +Count = 10 +Key = af322841fc0ffabe585185b8044084f9 +IV = 226b00603a82ccd8693324a7 +PT = a909ee531eceb5856330925518f56b03d9064c805a3b720bb4feab6a743c9ec1d1bd63744b26ed5b854ed22c4ea1ad70200f543fe2451628e6b5a79d00a526ab +AAD = + +Count = 11 +Key = e728ceb1607f45f0927e9fc1c51edba5 +IV = 37aa710b5fdf6d4c23d290e0 +PT = c25ee24707530ab1a854038842fd22eaf8959edd7add03400e50acd203b7f1f24e1fc90205246a33ea96bb12ca25642eb615ebfb0a9c66aa54f5c9823ddc5d67 +AAD = + +Count = 12 +Key = 82bb82c544e0841c70fed29269e3aff0 +IV = 7fd1d2c27accc68a85a6a910 +PT = e8326cc4afaf3f27ba40bb73f2006d39c8e0fa46becef88b42b17765b8b9e2fb294f273ccfa94c8d277c498d16ca5d5add8dad425876f80424cd9e28bd07b499 +AAD = + +Count = 13 +Key = 6ceec061138bbffc353822c517ab7d93 +IV = 977e297b16b8dc5483806e2e +PT = 5c85e07d8970933e36cdbe4f2afc4d347344f7f193e88d277ac0c6ff16c54da283d57b4b07a41e88d58f334be8f99fc03c9de5c119dd8e7c5ba19ab63932a1c8 +AAD = + +Count = 14 +Key = 1de132f9e068c0656ea4fe1321e75c71 +IV = a718df4106670b6713c35dc7 +PT = 690622ba8c3033ef89e4af2ca8de230d9d7bd7f57f092b586d61bbafc6d6fbc5356e7e7ad5b2e6d55a81fa6381cf74e8af6d1d237990d7908dda9b16f36eabe0 +AAD = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 451557ddb904ac30b4bb3736db98ce1f +IV = ba62236ef52a9b9c22016aa7 +PT = 6174376e64fdb32adfeef0392bcec1a6c63cf29e83d962997093b5f49bd853d6590fde53882932dd45d70dee6b2777f5cb50cb6aa2af1ca6a536a4b270bafcfc +AAD = 8aea509da9cd8090c50e409c521f8139 + +Count = 1 +Key = fac920fb9c124a9447688accfc1759ab +IV = fa5a1080debdd219ae3af996 +PT = 1670396595cc9b75753a223c9a36d02363a8d4e01d1be593fa0dd3382dd6884d2927d631e43cfb009086912610334d43f27fe4f2692e043fe5209c7239da2379 +AAD = 17dfbcaf85d0bbdb3177e9b66ed919cd + +Count = 2 +Key = f7e9975a0e163ed05fbc141349e08b80 +IV = dc25206e3f992376c7fb3e60 +PT = ef90bd4d2ea112f1e73b438e2198b3398828f041afef67f953422b603180ab4cc0b4a6663841d9da81d191634f0dd87a6d01aa37f249a40ef77e8677713aadb8 +AAD = f318a688f133d59011a00ece75f6f0e2 + +Count = 3 +Key = 32bae22459018c80ad8bbf4b9eedef5d +IV = 5e18ce6d998c62ef769b56f3 +PT = 72e0a574940cbd3e2ad4885b13d623231566ee1b64a7293e0bf664f9b1fa84d0d29aaaa5d30f1e5025da7343df3374fc02e269529b5c966beebb2d760b1fefc9 +AAD = d9d8b8ddcdcb10b20702a8f9bdd50087 + +Count = 4 +Key = a130d0961c25f1f76e04ac7ebc228af8 +IV = 6003f043380b8ff0d741a3dd +PT = 4378127b1d86ede8d695ca1e66819728f7ce645af6dc7bce23bc4a0503b5b69a27539df74cca2d58f15ca89d4da261a9d83bd83b5ab6955fb100f7aeee6a03c3 +AAD = 21eb1198b6626dbf3fcb2fa8b1b9e6b3 + +Count = 5 +Key = f9fc7532ec17d898533ab7450f02277d +IV = ab90f7d6fd3859fa8fe1c0a3 +PT = 2e031b3aa98c8328bcbb9e9f5052a2250942a8ab9e37335f63bf8d57c57098a0fcaf2499ab1f5d0ef05ce9262e1774cc88fa9001232eee67032ed2a4ad6799f6 +AAD = bb4dcf494a92387a167370a0f914c284 + +Count = 6 +Key = 40c72f255694d13704db3ac4d2895933 +IV = 36e43276d06daf1f35751f79 +PT = 148826f80c1562a7110ceaacdd6faf4923355c0671b99027234fe310542cc53dc3b216b20936ee288ff86383aef1db63abe85819d873e71be3c6d525fbce0df3 +AAD = 7b70ad84da46501c2b111a13d8ae248c + +Count = 7 +Key = 24c9696d5ab3608f97ede06f3a103e62 +IV = bef5a31b0497aeb6b258d81b +PT = bc086d422803ef36cb8c1ecec83e94e36b28f36a63596d918e8ded12caf7b2a0f82d2658e8c332a59d85eab602453279bf4c678b95801f806f40beb0dd610982 +AAD = eda6612b489cf2ce8bf974a01ac8d6e6 + +Count = 8 +Key = f4d2ee8925c8dfa86d0c67e2a85d904f +IV = 7f5c5c3f4ef7198591db1b14 +PT = 17832824bfcd399b625abbc7a1f5f6c2c7a8eb0fb60d23a1796c313519b244b6851ed11607452683938bd62951f8fd804c6e7915e19455ca01e25c65ed87bdad +AAD = 46b64d9e2d13b1a55685bb3b144d7bdc + +Count = 9 +Key = 3fcf5ff8a6b2763b4608352fb09904fc +IV = b67e8a77d4df119503ab07f8 +PT = 1ef5ed7518fd4b942436bacd2b2b3c9337f8c10e9585d2fdd7269d13edac18e007e04d90536931c761a09d2a29fb4167175ea066aaebca8939acc78e0346db51 +AAD = c651e97d7ec32a6b3b6b0d868d4b558d + +Count = 10 +Key = d4331ca71586b4bbdeeea6c1c745a469 +IV = 218b94b3b9e07782fa03b218 +PT = eb88c416c8ab9b462ff5906f2c24bb5bc6d738b8fe66c5b293f65025f0e198ccd32618ca0ab5b9c6c35eaf5537d0d6f6849ee0f97d4234516996ca88e7481089 +AAD = 34d3a91c21ff7e8242a2332464696aff + +Count = 11 +Key = d6cd0ee46019e59a3deb211f9e2dd66c +IV = 88c8ee8b045e5fa0542cdff1 +PT = 99b662a3d3ff6a8e886a7b8bfcbc5cf9c4bb7f1c72993aafc255939a5c10309d93c190539b9dacb5bbce256407cda202adb14b59e8b1ce5d9febbf9bc989b1b2 +AAD = 7b8a4e41494f725b3ad180d0eddd954e + +Count = 12 +Key = 06a0aeae4209b9111091c0855a0923fb +IV = 7cf0cd7f3ed1e0c16138fc53 +PT = b999505aeec818b2de4ce79ca9fb8bb36a118b7cc2b726e913578cd6f734575bb9d8fb9807a82793dfcc1ee41550c00e30fa987da34bb98aee641c7dff56a51c +AAD = c9245350744e7ed4bcd29cab93e9362c + +Count = 13 +Key = e9bc17f59e231efcbf2a88e656c720a7 +IV = 9cd9f513c407ab709bc54c2b +PT = 45d67c45a8db6f3cd7cae3835c44d4ddd0465a825403eae31223223a527c8dc47f8ad2b5f86a8e3532689320d87813f222c69ee1c8d919da9a9d2ad3f5915c33 +AAD = 7f6730f21d732d88b5f80af65e640cc4 + +Count = 14 +Key = ae31da81aa469a1ea2691d6a860a6e50 +IV = adb343c8f28d6e4f930bd614 +PT = afac95d6fe509952242dd320f7173cf13634a2b3bc134990a1e9c6dd044a9469112cf84ddd22c4697c3d7a36cd0e32094c60363b0e35cf488c8b1124795ce293 +AAD = 361cb39dc804117af7143399d3737ed0 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 410450170084594224ba71d2b2650765 +IV = dff532ebbd1fad7ea6406aeb +PT = 154677131b8171fa305e49c72d0ec29777b8d3181920d8dd3c3995405a01310e53bc2d160185a93be9bc593b63ca6423699714da105970c498674487218e4d31 +AAD = 3f4ddfd49c7ccba4d1a48b88549d5464ca64eb213746ac37f3ce74ccc9aedca656ee99802e87c4bdef1c5fa781c93896c32e684069df1eb31f2af184dec206ba + +Count = 1 +Key = 1543aa92489a7eb73ca7cbccb106d9b3 +IV = 4420692565dcf09db55b1305 +PT = 61f04320c64c88b37097d1d84fb9c1dcf214bd3f400b54c1403b2a9396ecc226aa0cf5210ee9beda5ce10d991d63c21e0d61e5937d37a1857b03276e9f3421d4 +AAD = 1fee282985a0331fd287551bc0ce1566f954ba76574bfdbfbe17e1ac07406a75f14cd31bf030e3df61e4468fdf2890845529fee4dc0cd0203a697f2a25cb9624 + +Count = 2 +Key = 32e324dfc1a1fc600a8a631ecb9137fd +IV = 69f14280a42623b51644a696 +PT = 9c00b8e6da6bb3fb97dd2a9b452f416539662819d1ecfa129344c870cc133e9a15e6dcc1bab25b26af2840928e0f679738d462eb1e82ddbc655ba5a17480ca1a +AAD = 5192189029c00af0613bbefc6496bd09fb9b1c524018f2a7de816469c2849bf6f0952de0114552786f4bf5b74e0104006aa0198e6c77de180e1a238db3c8b3a7 + +Count = 3 +Key = 09f9e9c8b60b173b2a98a42a87323a70 +IV = c2fb304ff11681249ba1bce1 +PT = 0cad9067c3a6f8c811754600387f3e71ff24b2b22390272fe85ba95158a94aa7ceee63c91f16e30fe7d3a32fe8bd794880a4f4f4a5b6f78a08c56b624fe19f8f +AAD = 5cc478e8b16b97333d8bff932dedf61d72c8f785f0184178aabd5be17f8a8b892a75abdf2d82953420ec036d7d285020b804a8bd6cb90c07b65dbedbf3bb9ca7 + +Count = 4 +Key = d294e1ecfa8a791a8799f80898ce0dbf +IV = 5e25304edf738d886f0639ae +PT = 1eab481aec16b7eb20b7e2ebd28fa638f585c9fdedf82db292629742730d15e09f127cd7ba50d6dea05342cc757701d58f39f62065fcec88029a2500c9295e54 +AAD = da220901ba11f77ca43db09f4b071dca531bd89645d8a1f30498e68f63e4caa76dac55982172283f47e8bea5287c26b0e7c72c045cdc08b7321b9b42d9f12aa9 + +Count = 5 +Key = d1b1dabb751a4981d4c48c6bec4f107c +IV = 1415a37b78a7886923225ed8 +PT = ee62f35995b56e94586f4a128ac623ed70acba4c7250b64bcdf207cc31d2db30c92ba477f96d69dc384657b934e9b523f6c03e17bb30828364bc9a0105eb9af2 +AAD = 111cf1f3292a9ed2bde604f513b08f37365438cb4109c398a9634638bfa9c5222bb895329e1d16a61ce2f1c6a43139a47728f695245ac2ca4558a35d9e261b05 + +Count = 6 +Key = 890030bae23538afd5afc25231d5fcfa +IV = ac5263eaeb4bb4eb88ccf6b3 +PT = b5f7286a220feee75bdf1869d0b8565da2ad762f20a7fd8166775739749fe1337fed94a20a5951d0266b3d6f3627bfd809b5e12767bcb85492bcb1a4761ae897 +AAD = 3c3de6162d66111b0dabf95800c452a8041d9bfb92b4bdad4586070cf0119da4923e78c995064f24865c6e0ed0e6fb03d94cd4852be875fe80a9e2d63e087c06 + +Count = 7 +Key = 9f9ab0b0756fdf7d57bc8539879c64a8 +IV = c755eb0a905d9c2c3a37cf0e +PT = 663fecb1146b56e04a3f60400c57a904b2b24656e8f259e00234aa60547fb591e44abd4b0f59f8d5e28c4ae2a2cbc163b9201aa506f4b18beeff00fba576617b +AAD = 68b795e8b4062cfb07aebfcc9e13f24ca9f4ef1197ecc1cc3a6199a07129ce76e591c9416642ce54a3271d842151703c6ab22c45502d87fc97a585d6c1673dc9 + +Count = 8 +Key = 781a80c93a2fb32b9bb659554e08def6 +IV = d2e002eaa2c1f23c8f753dff +PT = 26c340e4f8330c51741304fd2e6b175bdaac8c2629474fc2c264ebc12998b470c0a9d2043b843c92aea691491ef5121ac269a184a8bf925b0dc87e3b0e841998 +AAD = 65cd3c060bc20df67206c09c64c60eaefdd51e6f982f4dc468de1fcd2213c30a2c49199260e050bc9aa156994e4f7a064c8b91b9adc77bd9a4a4d9d0d68807b4 + +Count = 9 +Key = 77b91c5b7a0af656f8c2148ceae3ad19 +IV = 4133e5e1c9f57be7ff11fb88 +PT = 05d393701cf753a7ba6823f6d232dacaef8a5be931c05cb81d22a5a9d3146850176c6925b32f88d7c6c2381f3964afc06468631f17e1b5ea6a4edc0d249bde29 +AAD = 23d2e4c1192883cbcc0781262f5ccfa1deaf81953c23fd9cbd4971d6ac087b57c6be803b5a32321fd902e9cfcf4de3f7f70cff4abdfd6f90c92a262a71fc2004 + +Count = 10 +Key = 08124fa272ce60c65cb9cffb56a1a782 +IV = 7c268ee66ce7af14961210ac +PT = 5f421444ef5e029c2e78d345f3d7ef4147a1bfd0f666779d563201d1e142d1de2eb78abbff272070d6ba062eac100ab64adaf6827cf406cba6492dfc22c66dff +AAD = 930666102901b452e87d1fa14622ea14927f01cb2fdcd40ec5ffd749a64604ec3e32c278d016a6494d99ed033e4f9b321549c39c2b7c743a5c9c9f28513de960 + +Count = 11 +Key = be3559aaad2cb91408789c8b4d4f0f22 +IV = 29ae4c18248b50a9818f8f30 +PT = 970595f9236fa67953d2d66112472b67e143d78b6a91710424da0878a54e2759aa513a24d5c6515a4503157edef6689521ecf3b0e2dab147436a65cf677e6fd1 +AAD = 8f0b7b8074b8c3b580237b14e790abc007841b1f507cd57a1e9122860632c39ce1279b8dd0942208406c7eaee38969af93eed1e12222562d7ef971664ec3d6b9 + +Count = 12 +Key = 274da67518fc31ca692db4cac022ac69 +IV = 8bcb12dc5ed971b892bbd903 +PT = 37bb7d67aab4555a9a900f7f1393ef90c56ccfcedc5f9dccc77e986b669809b1f736cd446c50b51fe9650d61864ab82fd7e758494f12b8e21fdd62163b26ec3d +AAD = 53cb63387fc6e677e38e7f6995ffd47bc5366241b32e72edc81c5ab4e491647419aeeccafabbffcfe5658833e3cb85d731f7ffb413ed00199525c4cec53e0922 + +Count = 13 +Key = f72bb5f322dec31e85571e8e82d97405 +IV = c4718654333e25303e46e7be +PT = c34b36df901e577b50641e6594c957a5e08bc2354dad543fbf4dcf70b9d2b4cc18dda2d22ecd1f8c785968f6cb0f926cfc5668a80a3fd041567319966b64d542 +AAD = 58b61052b7de1fdb7715a5b75eb48dd4adddb3327dc56a2e1071a81586d07a11d8147725e979e04f9c9e61a56255109c9b1ce111015225a782fbed0c7e5758da + +Count = 14 +Key = 375468173a72c3e5c0bb7ac08854fc3d +IV = e7b0a0a6633fc13c69290cd1 +PT = c2fca539b1fd9e43f80ece211d4cfa8d4a68d634e02c284a623d69848483ba424d4cce44c7c05d27cd6e75aefe164b6698cf068dbb0706718b9e2525e3081a13 +AAD = 3fa3b2a06d6a6973ee85350cf82116dff0b219f3900182f208000ab5f87a41d87d889b2e73d924fd768446e72d414d8d3e4999c6a17b9be5729886b43a4af5cb + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = ffad42e1a9bda6754600b59364eae986 +IV = 47c0c04c5af080da7da596d1 +PT = d21bf074c55508833eb0c4ccd76c72df019bba2172dfa2887e596d1baee0deffada06dd043205beffc6cf3db5b26cc1a1da7952f4709e1fcb80c98ee06eb08eb +AAD = 978cc24eca495320 + +Count = 1 +Key = 626e30afd575a282fe1e733ae21c1540 +IV = 310aa51eb86401fda5083579 +PT = 81ec7607d266f0306a017e23444c24f4364f0e8f6a520f598e650d6ce9d616da777284c96e5a146a01ae3e1ec431a99c39d301b33569f3d12d2b74a5efd21df8 +AAD = ed46a68edd4f19db + +Count = 2 +Key = b25b7ee19d600878b6617f6309555b54 +IV = 18d3cd9447541c21de825d2a +PT = d1955f610044768717b49c1e25ae956748ee4d718e3c736fb35cfcf542514829d8c9f0a0e96be88700cd85e66886cc37c5446bf9a5dc06cb3f9ae7ee4c0b3713 +AAD = 9ea1e0d03649097a + +Count = 3 +Key = 0de8895f0b781b6ee9b420ba3dffefa5 +IV = 561089710d4c49feeb4d18cc +PT = 5c7193e92a077b827f619112c55201a86f58a01a1b71ffb4748ac3b2975140da0788ca26211aa326ab6688e0cab31162caddf9523ed93256098f6d4ad755d50b +AAD = 9b23fa738a178728 + +Count = 4 +Key = e803b7786bde06e8d6ccf7ddb71f5da4 +IV = f3d080177d267f6b136a848d +PT = 674172596769ce4ed97082e034a171d42e734d0dad34dc11dfcd5b9c217f7f81de5bd1166570b5c8abad38d0726bb60c313c648ae1f8cf74e7987b0e7da817e6 +AAD = 7a5ce2c7e4c2b7e9 + +Count = 5 +Key = aa31ac8dc57151da70f6a108134a1cc8 +IV = 616fd4e9c1cb6786f8f3c39e +PT = 0275c99630b7b76700352d81c65612625a2babb124de7719a685270902213af9f8edad3c8e31bbb0dd74b28c073a28463eb7ff1095fcc48f9e1025bd9e86f31d +AAD = 16f09c4a0a31333e + +Count = 6 +Key = 2184623d52b77cba4fe249138efb23d2 +IV = c3e2a94fa873f60082d08c21 +PT = 06073f0b5520a655ec68e7709638a3e2fede4eec1ff016e911b6c66d8d402d73bf8e95829641ec22229ac032e6a0c3fd0c250d63836788654c6e9376ad1798ef +AAD = bd76f127ba79ead5 + +Count = 7 +Key = 845481ea27cbe4d66f864074a94ae7fe +IV = 8f0f975125bf839c8a50158f +PT = 0ae9ade460be8bce4feb072001eea11c359faea8d3da4db329b6ff50530b96e224de9ed634b082e228b4e27c7e8e3af2f85158f83ab638c76d1a8e4264b37c51 +AAD = e9c3278fb35650ea + +Count = 8 +Key = cd956b30689c651b640cf0ff4aec134a +IV = f65a76c34cf00fcc503b9858 +PT = 0ff1e283d4f31b472eb2c84c029ee9cfc2fc14fc2973a465bcacd7791337b5d6fbec948f2dbbabc2115ed8cb6bf831e71b93e93ba060f5d528272e3e44b230c0 +AAD = 3d3c2c6c01ff8438 + +Count = 9 +Key = 214f98a98114f687e15d047193f441f9 +IV = dc5e8bf2349e29f6b9b136eb +PT = 749f886b4b268f00e987c4c4726e3d683ece461a80133030c84e4cd56b264f67fbf8cde05c50e423a249ce67d7ff148a613f925796cbec980048f83f2ca7dd84 +AAD = 21f4bf5c2c7a68d8 + +Count = 10 +Key = b2813a0d64515e25adb24261d81ede9d +IV = f1c6157ab9a33436dfb2db01 +PT = 62905434c383a7e68d845b68991516ebe7f5cb82d151c254adba6a928b3e22dc0dd6bf0b7a27261b1da85455f9d1bb30369d7e28778d83f79f4d78bc272d5f30 +AAD = 9bf251ec8acb8ede + +Count = 11 +Key = cda82fb41678c7bc217918a10ea4c1eb +IV = 99361efc4477d74cae41e3ce +PT = 83e9178f882fcf26f44a386c44f1bde04aa3f28e43c307daabbde1676855430ddd1549447286f4db726f7ad32b1f07bc859f3471ec436a0b86272b41ebea080b +AAD = 113ed1e6a83abc1e + +Count = 12 +Key = 66335535e13573d5c8d927c832bb3c90 +IV = aa5adbb8ad26472ad00c6ef4 +PT = e6a05b204be101e0df1722f5ed2e4e0d72799740527cf4a7a00eb15bc3e7ff30d07045bfd25fbc735acdfe164e6af39e23c3ad2b4572c7a6031954fbee91ffd4 +AAD = bf3a7fcd198a39ef + +Count = 13 +Key = aae6fc2875b588f0e0c663eba98dc95f +IV = d8d80af624f473eec8dafec5 +PT = e51da38e148356d518a93d85284b871f383661432f97db7aa11f3b33a47dffa3597bd0fb4789eb230bd7a1cd21857cce8c86ae02cee58d275712bed6969bf66c +AAD = 7eafb982677a2c1c + +Count = 14 +Key = 2486c93a9642d4e94d4e010a2dece349 +IV = 970cc8d4aac271b16748fbe4 +PT = 9a3682cc36e45c1454fd5ec4170e30095bfa0b703042323cab5281f7bfff9cb06cc106a66ee27d5db999f6799281725ee72033d8fe84ca5f759b08f7286c42bc +AAD = 95a4caca9ba91909 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 512] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 7e63fa7f271d7ad362e95c647e07c490 +IV = 04c1566c912e078c61a75271 +PT = c8b175aa1601a4cd4d7c52f30e5476bfcc3ca5b2713b7ca1b39ebcd6adc3154b564b3e9796a9c84b0c48a8ffac86be184264a52bdf189f575aed7152e0f353cd +AAD = f331b6d6a9f3504ab0465712b430e74d46d140f428da25f4 + +Count = 1 +Key = e574eb693bcd7cdd2fdb4cf8db4c83dc +IV = 6857cbfdd387243a3fa80416 +PT = fe76ac545f76b598cd3779498c0b97ce22a9be95ff679a9d241a507e6b767a799d1bb3de4cadbd523f1dd02da024c81b3411735d8e915b49c14bf4ae095653cf +AAD = f60db372c897131d97e10720d7c01d07c128384d55b5028c + +Count = 2 +Key = 77633db778d361ebb00c63b239208a44 +IV = 3d0f914d1c94d48336ed73f5 +PT = e2b2ac3e14cf5d8408a70523737abe97733771b3fa1bde44dea1b5d27755fc1550043fbe4a363808532344ff1973b31f43b1b735fe280a322045063b9bd08dbf +AAD = 824cfa744b7f660881e6943b87c8262e01cfa96ecf34f039 + +Count = 3 +Key = 9f1e72803021e095ac4c083080c2708e +IV = 208f307afe6eaeac74191554 +PT = 2e882e8f9ef9d4c87a2ca63cf5baa4adb4b82a49333a975f2665b57326831402e6b5fe202108c45146f4a47264c944523ec6581adf06bc23c5af7ffc2ff8c539 +AAD = c1a046be77d63aa23639ef29a082775da019802da85fd60f + +Count = 4 +Key = 92cef3553d5851fe3966537199afa3b5 +IV = 97322b1c46eb0104fc279e74 +PT = fdd6a75476c611c1b28a6306d741351d1ce205099a838be6016cd89640ccd1b7b4b3ed8fddd7776d0c3bb667ae11aaac8a6ca2ef5d61a7025a89fd5cd23f24aa +AAD = 2cb4719edad94eec1281b62f1def1ab3ead169363263756a + +Count = 5 +Key = 98c7fcec47128830d8dc35f4261f1f1b +IV = e94dd801686c2edfe8f1ad96 +PT = 8d6ea547139e3a034f9aad88b20b1bdce3c6586a58f986e8c46de474ffa1e0ad406b7bc350f81fcf2a0f45cfb50d89fe2a3665f7cf746b3e8a7afff7e53c3033 +AAD = 9df1eb6e25bcb7f368ee12ff9ed5ba78d081f1b8c736c669 + +Count = 6 +Key = e7fc022e354567451c6292fb91f387d8 +IV = 102cfd05ef6b888fbaf08b7c +PT = b797bcec7cd32bd5d7cdea1a0b5a5f5c07497b83096736b930e0998fc947eb83d1b5bec24e7c3b89ab82d18a313263e837d321e57c1aac03c9dac9b9f9100f02 +AAD = e435344fac6bc53b76486830f8e481dd5f5b87b3ceaeb6c5 + +Count = 7 +Key = d0e1f71a81006efd8c4dd352855e8637 +IV = 8ee8e3751da757bdca1a29c0 +PT = b09330f70049e51e8c76412419fb48c148e0d0f2fe63fdd11f52bc10c02440f36b27064c695863114e0ba0cd35e30fd54a90ac84c48d9dde70991a89b46c66e7 +AAD = 650c6c198cadfa75a758c0af07e51f6f45a893711f3e1a86 + +Count = 8 +Key = ce6259af7c9d305949169e4fffa98d2a +IV = 618676ee752a7e11d093cf74 +PT = acfbb10ce26ca32ca1aab855d9d7eee4e6cda994c795ee07a46bf74169fd34d4dd39b9488f444013341637b52620762f9ea4d169add657da70ef3ec4bea5f8ba +AAD = 75b5168d2041171fb7c830fa1f78de46fdd3a106a42c2cf8 + +Count = 9 +Key = 19bebb8b57cfa1b81d2afb2e6684a574 +IV = 9db4197467f7da34b20fd24c +PT = c4ac14f9597939502551daebf5f33049e5f6d0b80ef04e97c87e51cc96f5298e84a7e2b726006b3670855f7a42d68df4c4d0e60d22d7c87cc624352a9a3e376d +AAD = 5705e34de7156652e5a8d90e0166113e2bef116394dc27af + +Count = 10 +Key = 06e2cdf912d7c758fe3de7ccf33e31e6 +IV = 591ecca5a492003f14171323 +PT = 8f2c5060369a3bca61441a9c5f660c5e66d827d3147f944064f5523c95d98012b36440f94845dfa90503a2090ab6f6a50c52fc7fe04e7c7a570ab0572a0c5519 +AAD = 3e10eeecad5fe7c40869c6f626dcf9ba39d02c9bb20e8948 + +Count = 11 +Key = 651f5c5f9e4268fa0a0a7e7fda10875d +IV = ddf1b4eeba01b4308f3c9fab +PT = fdfab56ec2cd973a23ef4acbf05922743d8bea0c70c05d5e45c311adb398ac6de56697913245cf7bc2a13734263c3ff5dd0c111fd5c554d1db90fcdd18a735a1 +AAD = a8b72d6044b737e4e7e9faa075706d16c332cd32d9536842 + +Count = 12 +Key = 8e3e082c710a5de5260b1834f76f1f94 +IV = 10839d1a74137ffc46df7f50 +PT = 07ff37b8074bb5b7d8da48871ed385e4b1495846eef2762f3c58fc6bbfed1b25db680fe07c62070b7ff6d348c2425435ba7ada5a8b0f129315a004fa42483e7d +AAD = 4c6332ebfcd1af79347c2df328dde4494e9036b9418ce00f + +Count = 13 +Key = 4a3820d406b6f7885383959b24335fde +IV = 7b04c7cbbc85a25074ab0cd6 +PT = 503d793c6b6d9afd16c73f6303d959af93df3b5a2957691260abef0bfa56de181a52f0c8fcbd2e68d4ef85bb608ae8658803cbac7adf4553c18f868597e60a26 +AAD = b787037e5cdcce979744a59f65e74ede1a95796b93ef87fb + +Count = 14 +Key = 145e662fa4b442e6bf4aeb508871d681 +IV = 6862bf1f6a562f9eb6bf17c8 +PT = e768cadb9ceace965747c291c0abc852e782038dae6a4227be61437a9695513643d570c5cf78e15e65161564263dd5754ae4859be87e260421554f0323ad0e1d +AAD = 91880ccb15d8b449b38f37c89bbf443bc6285d64cd592d4c + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = be097f8c78ac3f41ec65f00498516006 +IV = 6061ff6001cadac4cfe2f316 +PT = 73a643477359bc29 +AAD = + +Count = 1 +Key = 15489468c2fd386641d9817e6cc3c307 +IV = bd6dbc9f705ab0f84a1fe173 +PT = dda6076e4164ae18 +AAD = + +Count = 2 +Key = 79fd35af7ce72a4ca8a8ac6c04390861 +IV = ed02d4f1000006f6d9960a6e +PT = 4f299c3fb4c82fc0 +AAD = + +Count = 3 +Key = df43bea029666a18e8adce837b3b162d +IV = 999cb20f5a698c87fc565851 +PT = 91d3a319ecf4bf86 +AAD = + +Count = 4 +Key = b774f0fd5263170798ad2ec31ee36eb1 +IV = 9babf6dd7e3899c9c0d2ec87 +PT = 6551966f206802e7 +AAD = + +Count = 5 +Key = 30038504e8bc34f1b7b687a58c8cbbe0 +IV = e519da92edd6bc06afe6300b +PT = ca90415e3ad84c64 +AAD = + +Count = 6 +Key = 5d06dc39c2e27ddf797d222bce3f0b94 +IV = 9ff01796ce1268f60edbb159 +PT = 9ee8af938126a083 +AAD = + +Count = 7 +Key = f76b13de7d235b7e63e27ef6136f0ef6 +IV = 3bf2097671780626cdd12e45 +PT = 8767e148918f44dc +AAD = + +Count = 8 +Key = 8f5b0ebd9f976195224e13096e5e78f5 +IV = 9d1fda95b945162c3aadddf7 +PT = 663130766e74a491 +AAD = + +Count = 9 +Key = 3f5c474666ea3bee0ecdeff62438f80f +IV = 4cb61e265d1ae4f9dab5d88e +PT = fe5135f38f2613b1 +AAD = + +Count = 10 +Key = 13ed32f77ac77fb67ddb9c8e0b4b35fe +IV = adc06af986830d400ba9d7df +PT = 07a6c7f47ea09f84 +AAD = + +Count = 11 +Key = 9ef2bc54b00ac407f1f687fea794fa06 +IV = 121a5d20df45f891b45c3eaf +PT = 3ced325712b5fe5e +AAD = + +Count = 12 +Key = b1ebf901f694df3a02372bc38da4ff91 +IV = 7aa5ea13410d986176686fad +PT = 269f17c867596594 +AAD = + +Count = 13 +Key = 3c48e9e53817ba7c4a349538455bc605 +IV = d1b7c995dddc0940b91c257c +PT = 751646930cad7d3c +AAD = + +Count = 14 +Key = da6395d75300ff04fc2aac42afe685fa +IV = b8537edb78dd9e439256956b +PT = 8d92669b3ab058ff +AAD = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = 25fef29061fecd2d7f61c8e9be6875b6 +IV = c35afb93da9c86ac3fa2b3b3 +PT = dedb66978c39cbb5 +AAD = c34c640134a6b91a93351fdaa2f68228 + +Count = 1 +Key = b2435fa25def2ba3a3b94a4e99450815 +IV = 479f11c762e827c4bb11f56f +PT = 182ead50edace3fa +AAD = dd715fa53d3245d255f75cc3447bbe92 + +Count = 2 +Key = f3a96ec4938f1a714383210973b5d7a6 +IV = 0177890c12b6f54203dd85df +PT = d3c8c1cc3597979d +AAD = a0e0871e672bcb22889d666a11bf07fc + +Count = 3 +Key = 71319b34c00bca6aede72fceac914780 +IV = b6b0b21c66162a0e229c890a +PT = 1a19d150b5b37be5 +AAD = ce8f569573f1f5b40a2f0697f510f146 + +Count = 4 +Key = b761fcf5d58e97c7a2e06bcff628bfdc +IV = 1d81737c05a7164bcce76584 +PT = 2ad4d346e04851ad +AAD = b258f8bd843b5236927e639f702d063a + +Count = 5 +Key = 0cd3a687b657a54a51aa99993e6e0e10 +IV = 7b774e49c1bb20c2192f3cc9 +PT = a3f0e4aeaf43f314 +AAD = e6a903b0a06ee0ce4b3730918d7b4894 + +Count = 6 +Key = 57ca6db05f8eb35bfb69a1c94e82255f +IV = 330e308bad1b44403ea76ce8 +PT = f2f3a21dacceedc1 +AAD = 993358f44ca28d30939bdeafedae806b + +Count = 7 +Key = 0c60b31c4e574808b92af1ac3550c42a +IV = 5e5b542e344e289db381d1ff +PT = 6ae88d049a936c98 +AAD = fe2f92c1e650f6811f6f9a37fa358fd0 + +Count = 8 +Key = ee6d28fd345d2ac63c4ae11fb8198be2 +IV = 4dec037483f6dca3fd3743a6 +PT = d786d0dd2bddd292 +AAD = 2570b222a0a64b1c4473f09b2db13c94 + +Count = 9 +Key = 876a5deb8af5e9cdf2620c6132af8fbd +IV = 8634d9790cd48105428753d0 +PT = cf07e1d24e192859 +AAD = a8648a1f37648e4dff245dd4eeb7244f + +Count = 10 +Key = 3559e7d0e2354fcf423ece078c1c40fa +IV = 61edededdbb58da19f6cc016 +PT = 6bcb3bdad3126371 +AAD = 90c1fd6ba13fcba224f35b2fe42106ed + +Count = 11 +Key = e54eac529d7af87ac1c75225a5254f3e +IV = 000284229a5e0c00cf726e13 +PT = 60f9bb6784782504 +AAD = 0f3205d502b7bbad669c9e9813d53510 + +Count = 12 +Key = 27acb38ad85b538c5d389dd5ff2c1a1a +IV = f1d79ee6a8f53e321866c0fa +PT = 826e727c41f53657 +AAD = a526ef92ee3a48b50f9971ca3ed69432 + +Count = 13 +Key = b681c295c94c785e9503b3fd6b88a21f +IV = b9a7d6a1417cf09ea3bb0cf1 +PT = 6527b6b4e593997b +AAD = 74bf1a0ce79345d09bc6de9f40b58a2a + +Count = 14 +Key = 6556280fe6546a7a1b40013e52f9e891 +IV = 31122617e60e15b2ee6e0d7f +PT = 30b0a43b20ecc436 +AAD = 35c9c93428a0a1733cf62a6d09694cce + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = 58bb854549ff0f26b496d9cff89658b2 +IV = a0ffbd5c514657352797af70 +PT = d82ff9932b3562d8 +AAD = 8c9e88c350332a6912ce4dfa399b95de9cf727c64d56710a397f1c4d43bc3094ccdab2341c04aee19383d0c153aaea1da26427aecc072b78c7c3104858be9952 + +Count = 1 +Key = 55a46008abd3b611d0780eeebe214371 +IV = bbb1fb4eaf3ca1d8d9ec8868 +PT = bb78cb994d1f4289 +AAD = 8bd6a964d204bf7516fc14e278943f38a6dedaafde44b6a2b665aab5a6b379079427d9736d58adfbc1d96e6fb78372167069b7e7f3afad95dc8c5251490c69a0 + +Count = 2 +Key = 079f47ae1bf108459bf982d50802dbc4 +IV = 44e895b86fa4a6fef4a51fda +PT = 7d45f66f65366591 +AAD = 9dce4fad05d732b886b82c953f6e03bfd453b16e7d625141778a9d022dfc2297ebf3ab338905b3746657e5af82a97fb1683fcda4b24b83dc9579a69218a47e19 + +Count = 3 +Key = f653bae2990bd68824959da5a8f9a41a +IV = ec6c5abb904d2968c9f66683 +PT = 07b9692a4dac06ac +AAD = 7a51c1442884c8a70510294897c7d71f45912b4c9abdbd2e9b9cc8d0709af858304d70a6163da7cc327f2dbd9b0de546a3561ac4dd2cf216e739b1b4e37babc8 + +Count = 4 +Key = 78e164d7a969b6e93638faf34be8f270 +IV = 5a6a7d4a836c8b05eb367444 +PT = d90bb099171e1dab +AAD = d3eb7ad2aa6c840118feac0308db82170046ddb1b18ffdfd2d4583cb3374ce3e81a97bd783ebc612537606585cc0532eba506acc02192a500d25bed188dd42ac + +Count = 5 +Key = 8bbeaa49a3c9e801795cd7ceec988980 +IV = 90859f8f6c8412c23bb81aaf +PT = 7087495bd5052cdd +AAD = 0f2fa35ec9214a73893de602532393ef4b5ce3c17dd4bd5ba4cc007969ba7ec953be46faa7609ab3fb51a6b5734d50f21669e1d6774af538fc3523cf9a9c4633 + +Count = 6 +Key = 745d7253e41d5a7d8ac487416265ac74 +IV = 6f1fb81c2910710cc62ead38 +PT = 11793d40d0f8a936 +AAD = 937f12ce8ec0759fcfb66aa650368a7ef3fc36f78d81f91d8519c9815e0234585a42833dcd4f4f2410c77608af089378434d9d4f995a48b0dae0466e614106df + +Count = 7 +Key = d0d55af8b82a00258582a4b2e26319ea +IV = 8375e80ac5d11b540748fd00 +PT = 5b5b4ad75380426e +AAD = 599f8a5504bdfd4090ea1e649db1eb66d0c7f691fdae860097d726f27a2a1820eae0ad99237d86c9355c327d24543007bcfa41aebf99a96671fe6691b1871d8a + +Count = 8 +Key = 8dc4d81394e179845cda40d27e9b9e5d +IV = 677ccc733476d877d6891f20 +PT = 8a5aff3a881ba20c +AAD = 87bfd05e9228ba7183056ea9d792e6c555d548c5cb3f91832c09b67ab396d3e65555267e2514d32eecb887f8a8a9e4a5833bed52a2801178c9e3f0aa0bf589cd + +Count = 9 +Key = 59ea4cd10caea96ea4d9b4bbcdc47b25 +IV = 65ac8651fa87c6afa897bc82 +PT = ae3a2bd97f61acaf +AAD = f5080eed1422c470fa41f65a72f05cf6159d37143b3811c8bf02fa968cfba4240140eeadb523c8ab25a80bf2381e29e5091a0a2dcae27ac1d95d33841d49a53d + +Count = 10 +Key = cffa1cd9c39bd26a6f7113b94e821a49 +IV = ddf237837e0a10ce88bcf700 +PT = 032246d6d3ba1a9a +AAD = 44ddd7fe31569ac4e4888a81c0aa8ae06b09d00de0bdfa1a8e95e30b566692338d754f886ca641938a933d6a2bb0bb1166961b630c0bbec93dcfcd7dc708fa75 + +Count = 11 +Key = 7da3415c587de9e81c12f5fb8d34c272 +IV = f62b4e136e13114d3b9a634c +PT = 42832ef5efacd58b +AAD = dead1dcab1342331a0aa656196a4bfb386a036a6b3201f6538f3118d579d24d9a9740891c5f5bd3a886e6d0508dc3d8417e185a05017143b5742aaf4c01332a7 + +Count = 12 +Key = c64869055dfb3bf7d5bde4a5cd8e036c +IV = bc8329fdd55fbb9eb93894d0 +PT = 8bcf43792b4585a9 +AAD = 5d603062cf894ecca32bf846e6fcbce159b26f8ca323def7dcacc8670db904d819d476bf2b840cd4c37e82835f5451fe7b0eaef727e17e68d79d8620f9c3f409 + +Count = 13 +Key = c2b15b7c2373125712773ca812b40ad0 +IV = e9aa3d19e0701ede3172bef1 +PT = cd5bd10d10aea9aa +AAD = 194b07fa3d96367376e8da371337c00111f16b673cf5c01079c80923458bf30504ba2fea30d44a3d8ee85d44aa178fde7b0090eefddf07fd98c76492114bb519 + +Count = 14 +Key = 254e93a3259d9d343ec0fe43ff5cf22d +IV = c04f627a03ac8707e9baf7bd +PT = 200338c2c2d0aeb2 +AAD = 04d96af9716326e062439aad35e6fd8064068e741cfe5ae7de56a206fb71ffbf4540ff11c1c12ad0fb856677921165b794f0e47c9c14f301491ccabe79964630 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = ed2bb905f2a06e9e92fd983976af63f9 +IV = 3154a262fc7240bc24901c50 +PT = ecb89bea416458df +AAD = a85a168c40bb5beb + +Count = 1 +Key = ac3dcb872ae3fa9f29f8e828a772b145 +IV = 08fd05cd80d44cd591dd68f2 +PT = f28b4a3ebba6d9d1 +AAD = e5d2640dcda0462f + +Count = 2 +Key = 84c5aade720aa0986a7b41b3e967f1f4 +IV = 5e9bef63f6598f0e9565bcc4 +PT = d03268262fc39a4b +AAD = c9468cbbc4c97bfa + +Count = 3 +Key = 75688ae8daf1ca5b67837ddee3b6027a +IV = 43867151cb35c84295ecfafc +PT = 7a7f3ac446b16c20 +AAD = 86aa342fd640ffce + +Count = 4 +Key = bd69ba8b4561a229ccdce16bec5a5c88 +IV = e81a0d0827ae1d5185c4421f +PT = 43a142bb0ec80628 +AAD = 1216514ab83981ee + +Count = 5 +Key = 9b15695c701c513a40cf6e13b951ad45 +IV = a804c893f180b822a890512f +PT = 8d42a00b46f700d3 +AAD = cb5346600c25f6a9 + +Count = 6 +Key = 85bacbb6812206f573255cb2175e874f +IV = fc8a412e795c709a3897431f +PT = a1f79fda9fd9040d +AAD = db34078d25e7e4a5 + +Count = 7 +Key = 13789eb77e9ddbb2c90e8b0c227a3f8f +IV = c8c82fafb6b8f8b3ba971458 +PT = 59d2296c16060aa6 +AAD = a805758d8a7cf32c + +Count = 8 +Key = 670a06ca8e6766a6fdaf7f0744f81f98 +IV = 247e0d7d2202bcad5e4d60e5 +PT = be610ac6e23b6572 +AAD = be35ff1994937afa + +Count = 9 +Key = 671821527c5e0aaa326f3e8210314fca +IV = 98906aadea7014344345af7d +PT = ccc084be4989d143 +AAD = eb0f00ab9e05fd10 + +Count = 10 +Key = 4143282ec160967255427da654f4afa6 +IV = 53cdc8c65ac8f2cf0274febf +PT = 5efae0614a35d2a1 +AAD = a4cbc1623822bcae + +Count = 11 +Key = 170a14cd0a65b511ec17b1ce2fcdd82f +IV = ef265f442ba51083b8af7f60 +PT = 717f43e72b07d6c0 +AAD = 0e9d681073ad2e0a + +Count = 12 +Key = ce66241c1399dff24af3e8a4307aa854 +IV = 1df46dc0d31911bc0261e2eb +PT = 6e3736f78e1b1fd9 +AAD = 0cc26ac1df4661c0 + +Count = 13 +Key = 3151d838633becd95dece264507a9a3d +IV = 170ea366f5a312b9dc94ad1f +PT = 3e08a02c08c37fb2 +AAD = 96b8f9b41a438294 + +Count = 14 +Key = c2a47c684306c2ad72931abb39b1338b +IV = 3e06bbff583ed22fb4dc605b +PT = 99fc399920aee4f2 +AAD = 8371016e757958ee + +[Keylen = 128] +[IVlen = 96] +[PTlen = 64] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 8961773fb023a8522674a8f29bf7edff +IV = a6e2af7512b0b425898230a6 +PT = ef49da40aafa9124 +AAD = 778ae97b6aff2da87a09468ded97ce36c91dd9d031b739ca + +Count = 1 +Key = 93aa26d630338c898999787080f11ed1 +IV = c709b5193a1e963fdf0e0718 +PT = 8160f8730a8c04d2 +AAD = 6f801b75cea8513f0ef776f623bc30ad38b067d168ee99a5 + +Count = 2 +Key = 2552e98caa0fd67e4d7e9ac4a3b8106b +IV = 6df6481379f0def3020c2c4b +PT = 558fe6d06113414b +AAD = c1b3db3d2e87e196a8c48aaad13c780ee2106500891fa0ee + +Count = 3 +Key = d82b76d6889ba37bda86453fd3671ec1 +IV = e9de46516298268a3ef0faa4 +PT = a23896a3e49a8904 +AAD = b27e7018fc3a98ab28912bfd69e839428ff664e160999735 + +Count = 4 +Key = aa89cfce7dbaa49efb837f1f51d32085 +IV = 836f12921292522b386bbcf4 +PT = 1d0dd4aaf4b45a15 +AAD = c0de17162ff59d4b9e089a96394cea88366e30c228fb181a + +Count = 5 +Key = 465c636cd4f6787ea9dd49733e39eb0f +IV = ebd422dab92d8b226036d900 +PT = a2fbb5e8e20ed5af +AAD = 219fae427648325577244e26fcd3ecb4d47ed34c562e2635 + +Count = 6 +Key = 589252ffbd785815fe693b39770dac49 +IV = 8c4e81a0559aa4e0424e89e2 +PT = 9b3f93f3aa5eea7b +AAD = 37bd5d1c206274e5539120090701d6bded2f255fb1c90614 + +Count = 7 +Key = 9d04b4eb8286c248f3064f8b6e8573d4 +IV = 2ced49c3e445cd36235e3148 +PT = 1e67d3cc32d4d1cc +AAD = 6f2ef8b8965d5a4ba6df1b29d699020b6349875fcf696915 + +Count = 8 +Key = 0012b2f48a140ce4309693a7a94a1108 +IV = 5a2837f7efac1a5ad78184bb +PT = 019f9b092e029f23 +AAD = 9b317b088c073a5e9c58474d50e9763f786f03aae814252a + +Count = 9 +Key = 290a829f91096e38928419bd3379c57e +IV = 0dc6719c00f35458c8a7dc6f +PT = 1ec00205bef37929 +AAD = fd5f671ada3f20c540763e46d17b3a4d61d92bfc96f638b1 + +Count = 10 +Key = 50e4b10e1d7d7519ba61f4166b80e5fe +IV = 88971f4aa3b303bfb71f2bba +PT = acb4ca3d3dcd7dcd +AAD = 109db0b67c22465b58b9a90bd5e6c41666479a2ee3c5e44e + +Count = 11 +Key = 2f761c93eec359d8b11da9d258f49a84 +IV = 48ab5deb3e337e61f5a0b63c +PT = 23e22327beeb41e7 +AAD = f7ba22b269550820e698509a580b75806021b1befe33cdd7 + +Count = 12 +Key = 3fdef54f93a2eb35f9802d87517633b5 +IV = 1df7012ca2cbbf3175ab81ce +PT = cd6520fac60da01c +AAD = 4c697a17f90c34c02529b4e97f8037a70da559f6892a242c + +Count = 13 +Key = 2c966856333c945a20713bf4cb2d6fb5 +IV = 4d4f0a73d8c773bbc04c9d95 +PT = 0ed0fbfa693ccf8d +AAD = e0b3662e2b0a866e2f71f57a8b87faffe4b46bc714fe8884 + +Count = 14 +Key = 43d910ffd60705bdb158e7e885ddd53f +IV = 37aea6988621f78046645543 +PT = 1b22750492e2315b +AAD = da763fc1c0e56a4908dc72dd995b05389d1da15f59444dad + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 0] +[Taglen = 128] + +Count = 0 +Key = 136283e98572cbf7011063cfa03f98bc +IV = d8e068368a9ef3db4efe1509 +PT = 81a6bd31a1aa60769a3f8b647b67a55cd657e607c59437a3 +AAD = + +Count = 1 +Key = 97e6cca1681e67bd56b5c1065d5bcc40 +IV = 0993aead0d918787af070fec +PT = d807257d000ebb60f9912eba906cab107d36b950657a0bd2 +AAD = + +Count = 2 +Key = 6141a8a3750d81adef35ee00a49fea1d +IV = d2c5484d53641dac116a2877 +PT = dd71444e26c44a62466a25c08cc46ade7ce04b34f02ddf46 +AAD = + +Count = 3 +Key = 41948b53b94334f47bad3e9c45455eab +IV = 9a6f938fb56c574364a1196e +PT = 3c3f26cca25ff5e0d1be8734790442060ece595fd00d0119 +AAD = + +Count = 4 +Key = 163d967995907a26fa938fccd4cfd8c0 +IV = fa145a1fb8f21d17ebb81949 +PT = fe6ead4924104b5f511ae8eb6535207c0bbdafb7b74288f8 +AAD = + +Count = 5 +Key = f15d40eb7652fe3f4f3700015c643bf4 +IV = bd9a6914c94116e8548a5cee +PT = 0fb4fec5a63dd2c7c519d4af26041c726741acf88df8900c +AAD = + +Count = 6 +Key = 7bedd6cbfc3b559faf3a2b30dfb3fd29 +IV = 132e766ba8c33cd192fc3268 +PT = cb9a5549c2585a74007e7baa308131deae86d9cebd080ad4 +AAD = + +Count = 7 +Key = 6b28cd30e7179ee7169181da1c851e4c +IV = 767e14cc671559434c175567 +PT = 8c50cb20c4d1506c40f2c235caf555eb7efcfab22cc4b0ca +AAD = + +Count = 8 +Key = 0024ec5e1cf01edebc581d94cb7cd817 +IV = afb8aebcfa898eef12f3dfab +PT = 2d66a00a457c6e9807a545e71e316a9a677dcc69ed6f8898 +AAD = + +Count = 9 +Key = dfc140eb045b4d5884ca06fa64847e4b +IV = 8f22d2e7fc519076afcae885 +PT = b6af75a8d78f08f065142d6914f94556b71d64a1cf9da6fe +AAD = + +Count = 10 +Key = 9533fddddd51bac354a9b474eefd70c7 +IV = 7165cf6c251f67012e4a3490 +PT = 313a760080446e632a18254eea60aeac532ef1a2d30ae304 +AAD = + +Count = 11 +Key = cdc2297595d0c76791fec70dc336ab0d +IV = 245f2013816b0bf189e16bdf +PT = be1486e6321c195a9020c5d5ea3ac3799ed6f0013f804527 +AAD = + +Count = 12 +Key = 8ac6d28a802b9e37d494e1be5e503c80 +IV = 7fd5d8e2b0bf3568634bfb34 +PT = cd9a15183a61e66bff4ae3282e55643e49ec84af1f78cc02 +AAD = + +Count = 13 +Key = 7cde7b9be14ca2d0992f5efe4cce134b +IV = 26f16632a2081ddb2097dbc8 +PT = a737a64e6d49f7de2260a4f2813d739deebc728e10b22766 +AAD = + +Count = 14 +Key = 1038e1aeee14149b67274c384d57c500 +IV = 8510022d55c809b4c1d05e87 +PT = d4d3dc99368a075ce1b92b1da60427528f4cc39655faa4e2 +AAD = + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 128] +[Taglen = 128] + +Count = 0 +Key = d3e9c0be42c2824023c3982d0e392e66 +IV = 10b7d7575fdb6b41278a59ad +PT = 67b1448aeac076b1330b297cb0f8f771c14c2a7d01d0a510 +AAD = 8279ebd316bb1844c3fe3b876ffc7a39 + +Count = 1 +Key = a83c7d0e860d8f200762d23934718646 +IV = a1bcefb419c6eb7c2b5cc126 +PT = eac061c80d32baf479f9db0159587bea5c35d73d1fea6d0b +AAD = 1807ae0e85398fb6589e7af8fccd7660 + +Count = 2 +Key = f96b6e5a93907541ab0ec8910a61de92 +IV = a645d3ae23eddf194d70a825 +PT = 7be840e044a2f7f7b5f436241fe6d53aa955b9b139232ca9 +AAD = 19388b689df8e366422ce8e4d97b6c34 + +Count = 3 +Key = d93f6906425509794f374ad7b2449e99 +IV = fd20ebbfe55888c2761af662 +PT = c7303c2a6a42859b14b27c05037143fb74fbfd8d28afdcae +AAD = 1a60bbd9bde0eb44f8c2ed61ce8113c0 + +Count = 4 +Key = c459b2b555f7f8e31ac53711653117a9 +IV = 918708a7229cde6fe3bde28c +PT = bec8a0f6e0e96557c6a43a8ab238355819c7c6bec8c14ad0 +AAD = faaa8f0904d54f592755f949a1171e00 + +Count = 5 +Key = 616a5b7b7e78325ccc1db8b94f2e07cf +IV = 17b8c44bd9ee2100180edce1 +PT = 9ae6afce86fac7be0e00e8a11e6e3f8046591d6e1b9bb3b3 +AAD = 90510876c8f3a6f8a0da46f510818c7a + +Count = 6 +Key = cc8b1819d05d923a366c24aac5e397e8 +IV = 9f17247685ee9e2526db8afb +PT = f81512058d482d4fa837d7965f68c53272ace8d9cb6f62c8 +AAD = 1273594b8424d91bc77bece3a7a6b990 + +Count = 7 +Key = f3a1a1238440d39d6156cc5a737fe608 +IV = 6da79dfe09f61fcd9acc4f1b +PT = 98a41bce42b2626d83f144a2191ff3ce638ced883e82f76d +AAD = 9d91846fbfa0834d20572041bbf8ce20 + +Count = 8 +Key = 62b66471bfcaa5404fb12dbb75368d71 +IV = 367018449853dbbe5c36f54a +PT = de31645e9d05f160e335b0b66e512c3a5891e61829490902 +AAD = f572852ae749b960bc34d4fec0cfbd60 + +Count = 9 +Key = 6aba911981ccbe76f033d1733360403a +IV = e64416797e7033071c22ffa7 +PT = be86e98d101533356da16ebaecf4e020aabcc469c418a968 +AAD = a41abf1f7678ceb0e2d0943bce5295cf + +Count = 10 +Key = f1bc82b57222125469b218e764310d5d +IV = 1ff7338f4b22c073bd14184e +PT = f1dfdeb4bbf10e7f13c1e9630bbcb92ee70f6658f1e512ca +AAD = 7c6de2c42b6b187db6a699caa620a0fd + +Count = 11 +Key = 9e28f1c9a0d0461c6199b2a35f6dc49d +IV = 491d1bf1638f8e82e949052c +PT = 10023587308d5d7a78de19e0b619aa3283a2f065de6fd6de +AAD = 7e40f05b9f89c828e30881a5acd30237 + +Count = 12 +Key = 5c772c7ee2d5b4a74a2db57355bbb487 +IV = 324850c10a6b7be5f78d842e +PT = ab0e0a378aafc6c4d298b1290a5426a267cadc9395f6216f +AAD = c6c7d55eec1f4549b193b55f6704d781 + +Count = 13 +Key = 582ca479cd11f7d3b2c92f8d6003ada8 +IV = 5b4a3a8a9d2aa1e117e1b24d +PT = 622bde90950dec9acd9348f9ebedf69c330da90adbad1776 +AAD = 4e6b58dc0b515a42371ec8f31eb45fc8 + +Count = 14 +Key = acdc738e5493026d2c282bdd62de563e +IV = d70e1fa8cf0e878c383fdfee +PT = a730edaadac292fd8fd08b2c77902d57e1e62270a8ac8538 +AAD = 1e7e90b8994bc840318c91f869d5a4ad + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 512] +[Taglen = 128] + +Count = 0 +Key = feb94b4f61de433b3dc3ad3113915136 +IV = c1a275b396ca969aaa3a6781 +PT = 59744b8dd911cb54ff8e3eb01f6089a1bd3dc297c75bc2e3 +AAD = a74cb5ec17b7128b92dadda10a3084b4fcb818b57b33a9ec2df59e470e71dab593e736bff3a2cf267040a2b944dc7b1c76627462b1ddb10d7fb3929c55d3109e + +Count = 1 +Key = c8b109ce96749d1ffb5a31708b705dc3 +IV = 7980059c3bf25102776a7573 +PT = 2199d4f08dc4c41bcb62220f1cad4e07e1936caf4c3a9806 +AAD = 0d7fd8772251185ba7e33d37a0ce0ee7e7c81704e9a949109aa46e751582b238e4430802764bbab2fdc3710ac28fe42063022b880333a928245a5913fefe11bd + +Count = 2 +Key = cbf054e815791d41561b9cca4d0e66ed +IV = 5b1574d8a199bd246e6361fc +PT = 23a36e9399f0aa0c827472ba00c016880a1b1879b60b7738 +AAD = 6e8d3788a0f54bd979dbc1da0b6eaedfd06f5345cde0c78e5cac203f8d900bc9a856d6bf0cb9bd27cca5e492fe0c897bb60b0f36bfa152ef9a093c0e0283f222 + +Count = 3 +Key = fe71efb47ccc4f2f828b506960896fb4 +IV = 84a06a4e1bf7cd21ebe47ed5 +PT = 36fe8b2bae42347a253a4e4e9c22eb62adb6188304be6af4 +AAD = df0524078d5360bc5254fd527a8bd4b4157f993827613e4d9bf2ddf464f0d1d2e0a5bba0545f0a709b2a2566f1df8540b928ad22bfee2d4a1d2e280e10c6d59d + +Count = 4 +Key = 8821c9ea9c51a6868e5aff0b4376bdf0 +IV = b39fd791dc88f83f67eb6029 +PT = 1995cb0f09f4674ba76ea5f7d728b20bb8fad8e2213fa6a6 +AAD = 7be7bad6f7c5a4cb41f1875ef7f1a1328d9e3e838553789c46ec22c778765170949addb89192184cc89c638b8a940b0d2423d33e71104e0c7e7ccf013bf4706c + +Count = 5 +Key = c558b51cc872be1aeebaf175b2586877 +IV = d440fc97bdb8cb54d33e2ef1 +PT = 58104899e8ac7d2e63745c8fae6ec1cdf2e43959293fa547 +AAD = 821aa8298d8e13717abf3b6cc641b84ae2a45645fe460dfa909ef5101cc8a7b1a181d054a206dda993a74181834d3a9522cb014a34c119a255e0d61cf9137945 + +Count = 6 +Key = c4cfc437f6b9145c1cc24cc6716b94f6 +IV = f2d3073f66d403d525361ee7 +PT = 96b748c08ed4fa52b7e0793405a6461b533b240698397b45 +AAD = fad86493562fd42e51ab25467682e8178dfd696557d5a1c9ec9162681abf17afe6b8b2b08712b23108cf4e656fc1b10319c348dada54b9ebcf0b148ca473b678 + +Count = 7 +Key = 2a91b98155d05fae65cc0d0f2820f8c2 +IV = 3d4df6b52a93543c487a6495 +PT = 089f11b913429686d653760b397a4897516fd6302ed9cdaf +AAD = f4c60c46ee37b618a9fe45195ced3c02b257e434c052ae9a2b96bd43e62284bcb4d15c6d3e08e379a61b89797b5c8b300e1f8eb0517e498897bed07321247bf7 + +Count = 8 +Key = 6a85cbfc33a4d8bee158a050f4145c6d +IV = bfd61ccf7be5a496bba24d38 +PT = dcdc3352f23130e17016a1124b8bdf8f5e30ff0d4368c174 +AAD = 9705060bd5e358a51f0cf13ac82ffdfac6beb4b42ffed0c026e162ebc6fd4abeeab6fb51aa042cacde5e02baa2e6dc13c6128c0bf1f3ed98d82a839cbf8cb2f8 + +Count = 9 +Key = e6cf5fb28655b1211b468863302d24a2 +IV = ed8d02a7f9d57a8b612ea607 +PT = fefe54ed9fa4117bf300962bb5536c8d108d2007626832f0 +AAD = c6f5120865a2c09260e950d5f13796ac48eab6edfcf4ecad19d591f6458c785c79e7e1b53e2af515c5f78cac1b884d2571f0bb9f6bee8afd23c588f6f4b18e73 + +Count = 10 +Key = 5e0cf256626d74b80360b53815e790e9 +IV = d7b995845368de8cdd646d8a +PT = b970e9331aabc0b3b4a5c53b7c80e44918440fe8b43d8aab +AAD = 18fbf40a9a01f00197f42cc6805cfcb0540aa20021fd52dee7b55abc5d655ee2ba61fab16fed8aa1f5366b843dccbf12c0fc9476c34f0d274aa827c24c7aecc5 + +Count = 11 +Key = 2f169c9add0336354158791bf3f12470 +IV = e6183636e45446b51f79e305 +PT = 60caddeff270451106c506be8d7ec5030f309a6b30b964c7 +AAD = 99d1fd664aa7cd9e054fb4a06030ba9a176c89d7a50e63856ac77434590f2fb1794a8ae08396e735cd226d76cfdf12dde02ee8fd34ef37c9a2edc29d5aa9e050 + +Count = 12 +Key = d11581d02376ebbde81f1b7da6b19257 +IV = 64add888da8a1b235454910b +PT = 2e1a7638ea938cd863397d95210688303eae134b1a5f6996 +AAD = 8d3c0172e29f07b91b819db5ec4a12dab69b942222fb1d41374388bb1d6b2fa002d612226013f8641073ccc8a47e4be34171483a3eabc31e1a41afca4d386f1c + +Count = 13 +Key = 7f56924e283b8978002b449f90dad751 +IV = d17ba5099e41045ee585f445 +PT = b113321cb5c0c7ebc9e85b08c82b889827d6efd53bd4c220 +AAD = 4bdedf5b5b4e630e88de68ddf82aa9b9ce60fe94a386f37de24c833070d2620620c28478bf6de5634f5332373c3d68ee6ea906c1d2761487415c8244aac56a94 + +Count = 14 +Key = 3bd3c0f0cb1568fde06d4710d7dda081 +IV = a64c64f38f34bf06e1171cc7 +PT = 8778c92c831300df7e0d50d6f89a0eb3d5b1c409297b2ec4 +AAD = 4fcacc4a551bd67e5054fb634e9287ba5a329355061630696cd4fd3d1f5c4b8b3eb0b93e92e00aef96ba71b83e065aa4bc431004918dc5dc46d0339e704c67ef + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 64] +[Taglen = 128] + +Count = 0 +Key = 5c24788e03aa699104d423545ddb57a2 +IV = dd65283e0c59bce5173848d6 +PT = 2d68e3e07385667c558cc614c2dba3fb2706ec388508b96f +AAD = 64a3409082f8ed8a + +Count = 1 +Key = 548e60d2738b3968d6f6ac65ba75567a +IV = fa6cd631fd45ea88eda580c8 +PT = ac70db3f73c2e2b0de26a349fa804912bdeb37b2f7ad2ba3 +AAD = 5f923c4328f2f65f + +Count = 2 +Key = 0c0979c6ae97cbcf04f258ebb9f6a812 +IV = 8577a5d44203b8818adf90c4 +PT = ed2cddcfa62f0e591621075deb70b8e9c57aeaefba81aa14 +AAD = 193e201392e5b770 + +Count = 3 +Key = 2e05a2ce46c370cbca9a898fbd0b1160 +IV = 40f5c1975314b7080edf91d4 +PT = 858948ab301c7efcf16058b9237a10498f3e42c617d8bc53 +AAD = 811093bb045714dd + +Count = 4 +Key = 9401d7704e26736deb3d9b38f5238af5 +IV = fc65fa673975011a9d54a4f8 +PT = 4936c5c0a4203055d5c0afe8dc3f677ad96eb322f86a058a +AAD = f1e7f573750f72c3 + +Count = 5 +Key = e51c64ac97e2f2d0c7e92f8b5d1299fa +IV = bdf923e2395042d0bb7cfc38 +PT = 2428ee21b97b7aece0bb0e45e60cc513720b3f6aac7a40ac +AAD = 61a5439746ce01ef + +Count = 6 +Key = 25bb62343df28471b3524dbfdc32503b +IV = b14cd980352c76d863a1e273 +PT = 16079963203b1f700d1dbf2ade94214998504d27b0b7387c +AAD = 245299cbc39ebbb6 + +Count = 7 +Key = 173ff566cc5e36cf3351d03edf0b1919 +IV = 3c7ba92ab88756565c23d8d6 +PT = be90bb7be493dddce4b6dc30310bf801d29dc7e77d319050 +AAD = f61c7a06f023b958 + +Count = 8 +Key = 5f26049bc717b9a8ad67913d430c82f2 +IV = ede01428bf8b072c86fa86b8 +PT = ba92ce507d61b6e92ed31ed3f93b20a65d8fd05a53fb4da9 +AAD = ee3e9b4d8c1ff2ab + +Count = 9 +Key = b27255fc8eaf026f3cf405ecf0883f37 +IV = 06bd183c81cfee9662dc6592 +PT = 1eae5a94f3fa66226ffc7a522f87e136c28700d39ea4cc65 +AAD = 3a7347ca26cd4257 + +Count = 10 +Key = 291b656c1481a0f055d6907b158a67b2 +IV = 7ce40f60b0e750bc2d11a50b +PT = ba9eb0ceb7d25dd6913dfad16a05446c66ec72d685d74c71 +AAD = 02181bef87b546c7 + +Count = 11 +Key = 75ec9cbd78182dff65db14156891b217 +IV = ae2193c7cb8d723f00120e65 +PT = 8a5a06b0ac6ac110900e892646b067b308766790ecfe9a8a +AAD = 45b93802d55df23b + +Count = 12 +Key = 2c6a81b9dc248791b3d4268104cdb746 +IV = 66e9e64e33161e3da709ede3 +PT = a7c5a8ee15899ff5b42c9b70149d232fee890b308c531468 +AAD = c97f3638d4e0eed1 + +Count = 13 +Key = 6e3b2b5f7af1bdb6446394382c75fe6c +IV = ae8c45242e247289b8790c7e +PT = d8c0caab56323b7a488c9c104b2b2b5fdd4b28c52467b8fb +AAD = 0c6faed267994d60 + +Count = 14 +Key = 0fce415d5ca22f0b2ba51382babd31b6 +IV = d69ab25732d5452f5be120e1 +PT = 3d0d716b90d3a3381c5944eefa16ddc7e86e783e821516a5 +AAD = d354adb61f72b2d6 + +[Keylen = 128] +[IVlen = 96] +[PTlen = 192] +[AADlen = 192] +[Taglen = 128] + +Count = 0 +Key = 316c82cc2ecca82fbaecc15db4e7cc71 +IV = 8dd015ed131edbd56f02b35f +PT = 7d993a4a46a7e0280e0dcd4d46c1f216795d6f2aed31cfc7 +AAD = eee4d23d45dd8095857b82b7237b46849de21660a72e19f6 + +Count = 1 +Key = 6787b08df347276981500a64fe9c7735 +IV = 75fbc2306688779433dc91e6 +PT = 77f26448a6dbac86c330b906c9e2ca0b2e15e8fe854e60b1 +AAD = 35ace0e4d58255beefd9702a28ada8615214a7835588ce27 + +Count = 2 +Key = 989b432e7982fa444e954ad0d9c215b8 +IV = dc79596abf2d30fa64c8c83f +PT = 193358050c8a36974e29ccc6217df15e491a45146a0d0258 +AAD = ea10552d383e32ce979aca9b50e3b74f0a4daa93a04d9c45 + +Count = 3 +Key = 88ede8028d4a111278bf266e02b5dffe +IV = 5753e4615f670da5ca1227f2 +PT = 6c3dd65c1fd72ff8cd3e3e1138d3a8a3aa23a11da25ec64f +AAD = fde02076b8a8724e11a4c0405c53a02d4b4cce0b1f4f6fac + +Count = 4 +Key = 1d592def66de13f71bc5e0793036f5e5 +IV = cf501f180d9a17b393529849 +PT = d0f8c18639e7d81e8405ba9cc7c1e9bf6c9cf64c6e744f7b +AAD = e55fc93aa01fbd89d06906b75a5828d54b86af85d9c7e04f + +Count = 5 +Key = 852a1ff499610a7cfe61a1da2724371c +IV = 65932752d20a007896d22512 +PT = 4e2b4c7e5416fd7a643b51686f974eb87d7443274ac2cd43 +AAD = 87ce0a29d2cf0368992019765448fd94ea6c38e09b66469c + +Count = 6 +Key = 657e0c48607cab8926ab53f12f53f436 +IV = 29a7955efc5e00244a0f3096 +PT = f362d58ac0751db5ba8cdfaba401c1c824d3ad79da392ed3 +AAD = 12965fcade3bf76bc95b8e9b9ff48abcd129c3f6b9e8b355 + +Count = 7 +Key = 935b7204b66434b9cdb0eea389523d75 +IV = dfbd44d8294c34e5b2306a10 +PT = 5173fe6e1b479c4f1b6bf7202c0d566409bbf49013c4db8d +AAD = 916f6c3c827232a271d1292c83541d4bf0554ca5d095bcc5 + +Count = 8 +Key = 0a068b3e4d38317aecd5e0b9a93d2212 +IV = 14935f66a62d429b7536c663 +PT = 2bb755c7b644703c39181e35ba30d9f8791a7a1fe79c947a +AAD = 3489fa4384aad8fbc88ecb5784a503c3580a44f2c6c5030b + +Count = 9 +Key = b2a5b9d86b64709ef3029751d7faff92 +IV = e697dac1d8b72a8753766a0b +PT = 3e05cff8a75537e6b1474674b6689fd01ec11e2107319449 +AAD = 660b0d56ca771a8e10187720adf03d32e8b5dacd6ce390d3 + +Count = 10 +Key = fe6a20f8c1ac0935bcb6b9a2845e0a6b +IV = add415046d40714784dbe6a7 +PT = d5915fce9786fb1c8166cef55e61aa3246383e8bf85b13ea +AAD = 2ed2b5f80c15bb609c87c294bb6a1cfa1cac898c2839fb00 + +Count = 11 +Key = 9006ee2f7bde0f60c5e6fc1155bcab18 +IV = 5545944704d6030167e82b19 +PT = fa6918f7367ba3867edab35befa90a3ad7e912b495dd0b78 +AAD = 6a077656759e5e8170654089acf7015447b6f99c7b9461cd + +Count = 12 +Key = 584a9e23e10e23a2c10c0634be788ea5 +IV = a6b9a605b138dcd50e808ae3 +PT = 36a323867adc4d5f0e040cfd0854f40e0634ecd183e15e94 +AAD = 6616a89d09ecb1f8ac39345d6c9b7e1dcc2fa09834246226 + +Count = 13 +Key = 57b36eff241672aaa9ad70cf40eac959 +IV = 730ae6236d6726900e6b28b8 +PT = 46d2f7299836a2cc16561b631f6535ece74414752473aed3 +AAD = 651021c304f56fcc974d09074f3b9ee211b7eff6fc6667da + +Count = 14 +Key = aa199ba256ac2209e95c23f3755ec70e +IV = 9f5d40cad5b4573de92dde15 +PT = dad6aad17888cabaf9d9a0c4af49213cd942bf43eb66e43c +AAD = 62603917055a2efd4d0c18308aa73d6469fb180fedd77451 + diff --git a/test/atca_test.c b/test/atca_test.c index c5a246e39..cb1b0abf5 100644 --- a/test/atca_test.c +++ b/test/atca_test.c @@ -106,11 +106,39 @@ const uint8_t sha204_default_config[ATCA_SHA_CONFIG_SIZE] = { 0x00, 0x00, 0x55, 0x55, }; +// These keys are chosen specifically to test the CMAC subkey generation code. +// When the keys are used to encrypt an all-zero block we need all bit +// combinations of the uppermost 2 bits (0b00, 0b01, 0b10, 0b11) +// 2B7E151628AED2A6ABF7158809CF4F3C AESEnc(0)=7DF76B0C1AB899B33E42F047B91B546F 7D=0b01 111101 +// 6BE163D42B623E70D164FA145DB1D463 AESEnc(0)=EEA8C3FD920AC8D3D3A424E473C56B4A EE=0b11 101110 +// 7058710B58E1E665D3D2F5B465176403 AESEnc(0)=38AE4CF5CAB844CF6D1463044C8749AE 38=0b00 111000 +// 114443FA8E9614845EC7296CD13BC9DC AESEnc(0)=863496604DDD579049A63908D49853D5 86=0b10 000110 +// The first key is one commonly used by NIST for some AES test vectors +const uint8_t g_aes_keys[4][16] = { + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, + { 0x6B, 0xE1, 0x63, 0xD4, 0x2B, 0x62, 0x3E, 0x70, 0xD1, 0x64, 0xFA, 0x14, 0x5D, 0xB1, 0xD4, 0x63 }, + { 0x70, 0x58, 0x71, 0x0B, 0x58, 0xE1, 0xE6, 0x65, 0xD3, 0xD2, 0xF5, 0xB4, 0x65, 0x17, 0x64, 0x03 }, + { 0x11, 0x44, 0x43, 0xFA, 0x8E, 0x96, 0x14, 0x84, 0x5E, 0xC7, 0x29, 0x6C, 0xD1, 0x3B, 0xC9, 0xDC } +}; + +// Input plaintext for testing. +// This input test data is commonly used by NIST for some AES test vectors +const uint8_t g_plaintext[64] = { + 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a, + 0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51, + 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef, + 0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 +}; + t_test_case_info* basic_tests[] = { startup_basic_test_info, info_basic_test_info, aes_basic_test_info, + aes_cbc_basic_test_info, + aes_cmac_basic_test_info, + aes_ctr_basic_test_info, + aes_gcm_basic_test_info, verify_basic_test_info, derivekey_basic_test_info, sha_basic_test_info, diff --git a/test/atca_test.h b/test/atca_test.h index 939c03ca9..53579cee8 100644 --- a/test/atca_test.h +++ b/test/atca_test.h @@ -58,6 +58,10 @@ void RunAllTests(t_test_case_info** tests_list); extern t_test_case_info startup_basic_test_info[]; extern t_test_case_info info_basic_test_info[]; extern t_test_case_info aes_basic_test_info[]; +extern t_test_case_info aes_cbc_basic_test_info[]; +extern t_test_case_info aes_cmac_basic_test_info[]; +extern t_test_case_info aes_ctr_basic_test_info[]; +extern t_test_case_info aes_gcm_basic_test_info[]; extern t_test_case_info verify_basic_test_info[]; extern t_test_case_info derivekey_basic_test_info[]; extern t_test_case_info sha_basic_test_info[]; @@ -133,4 +137,7 @@ void RunBasicOtpZero(void); void RunAllBasicTests(void); void RunAllFeatureTests(void); +#ifdef _WIN32 +void hex_to_data(const char* hex_str, uint8_t* data, size_t data_size); +#endif #endif /* ATCA_TEST_H_ */ diff --git a/test/atca_tests_aes.c b/test/atca_tests_aes.c index 3b541ce2c..9ab4d88ac 100644 --- a/test/atca_tests_aes.c +++ b/test/atca_tests_aes.c @@ -25,40 +25,22 @@ * THIS SOFTWARE. */ #include +#ifdef _WIN32 +#include +#endif #include "atca_test.h" #include "basic/atca_basic.h" #include "host/atca_host.h" #include "test/atca_tests.h" #include "atca_execution.h" -// These keys are chosen specifically to test the CMAC subkey generation code. -// When the keys are used to encrypt an all-zero block we need all bit -// combinations of the uppermost 2 bits (0b00, 0b01, 0b10, 0b11) -// 2B7E151628AED2A6ABF7158809CF4F3C AESEnc(0)=7DF76B0C1AB899B33E42F047B91B546F 7D=0b01 111101 -// 6BE163D42B623E70D164FA145DB1D463 AESEnc(0)=EEA8C3FD920AC8D3D3A424E473C56B4A EE=0b11 101110 -// 7058710B58E1E665D3D2F5B465176403 AESEnc(0)=38AE4CF5CAB844CF6D1463044C8749AE 38=0b00 111000 -// 114443FA8E9614845EC7296CD13BC9DC AESEnc(0)=863496604DDD579049A63908D49853D5 86=0b10 000110 -// The first key is one commonly used by NIST for some AES test vectors -static const uint8_t g_aes_keys[4][16] = { - { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, - { 0x6B, 0xE1, 0x63, 0xD4, 0x2B, 0x62, 0x3E, 0x70, 0xD1, 0x64, 0xFA, 0x14, 0x5D, 0xB1, 0xD4, 0x63 }, - { 0x70, 0x58, 0x71, 0x0B, 0x58, 0xE1, 0xE6, 0x65, 0xD3, 0xD2, 0xF5, 0xB4, 0x65, 0x17, 0x64, 0x03 }, - { 0x11, 0x44, 0x43, 0xFA, 0x8E, 0x96, 0x14, 0x84, 0x5E, 0xC7, 0x29, 0x6C, 0xD1, 0x3B, 0xC9, 0xDC } -}; - -// Input plaintext for testing. -// This input test data is commonly used by NIST for some AES test vectors -static const uint8_t g_plaintext[64] = { - 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a, - 0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c, 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51, - 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef, - 0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 -}; +extern const uint8_t g_aes_keys[4][16]; +extern const uint8_t g_plaintext[64]; // Output ciphertext for AES-ECB mode for the g_plaintext and g_aes_keys keys // First output is from the NIST AES-ECB test vectors // https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_ECB.pdf -static const uint8_t g_ciphertext_ecb[4][64] = { +const uint8_t g_ciphertext_ecb[4][64] = { { 0x3A, 0xD7, 0x7B, 0xB4, 0x0D, 0x7A, 0x36, 0x60, 0xA8, 0x9E, 0xCA, 0xF3, 0x24, 0x66, 0xEF, 0x97, 0xF5, 0xD3, 0xD5, 0x85, 0x03, 0xB9, 0x69, 0x9D, 0xE7, 0x85, 0x89, 0x5A, 0x96, 0xFD, 0xBA, 0xAF, @@ -85,71 +67,6 @@ static const uint8_t g_ciphertext_ecb[4][64] = { } }; -// Initialization vector for testing block cipher modes. -// Commonly used by NIST for some AES test vectors -const uint8_t g_iv[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F -}; - -// NIST text vector output for first key in AES128-CBC mode -// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CBC.pdf -const uint8_t g_ciphertext_cbc[1][64] = { - { - 0x76, 0x49, 0xAB, 0xAC, 0x81, 0x19, 0xB2, 0x46, 0xCE, 0xE9, 0x8E, 0x9B, 0x12, 0xE9, 0x19, 0x7D, - 0x50, 0x86, 0xCB, 0x9B, 0x50, 0x72, 0x19, 0xEE, 0x95, 0xDB, 0x11, 0x3A, 0x91, 0x76, 0x78, 0xB2, - 0x73, 0xBE, 0xD6, 0xB8, 0xE3, 0xC1, 0x74, 0x3B, 0x71, 0x16, 0xE6, 0x9E, 0x22, 0x22, 0x95, 0x16, - 0x3F, 0xF1, 0xCA, 0xA1, 0x68, 0x1F, 0xAC, 0x09, 0x12, 0x0E, 0xCA, 0x30, 0x75, 0x86, 0xE1, 0xA7, - } -}; - - -// NIST text vectors for AES128-CTR mode -// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CTR.pdf -const uint8_t g_ctr_counter[16] = { - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF -}; - -const uint8_t g_ciphertext_ctr[1][64] = { - { - 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26, 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE, - 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF, 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF, - 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E, 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB, - 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1, 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE, - } -}; -// Message sizes from the g_plaintext array to try when testing the AES128-CMAC -// functions -const uint32_t g_cmac_msg_sizes[] = { 0, 16, 20, 64 }; -// Expected CMACs for all keys and message sizes -// The first set of entries is from the the NIST CMAC test vectors -// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CMAC.pdf -const uint8_t g_cmacs[4][4][16] = { - { - { 0xbb, 0x1d, 0x69, 0x29, 0xe9, 0x59, 0x37, 0x28, 0x7f, 0xa3, 0x7d, 0x12, 0x9b, 0x75, 0x67, 0x46 }, - { 0x07, 0x0a, 0x16, 0xb4, 0x6b, 0x4d, 0x41, 0x44, 0xf7, 0x9b, 0xdd, 0x9d, 0xd0, 0x4a, 0x28, 0x7c }, - { 0x7d, 0x85, 0x44, 0x9e, 0xa6, 0xea, 0x19, 0xc8, 0x23, 0xa7, 0xbf, 0x78, 0x83, 0x7d, 0xfa, 0xde }, - { 0x51, 0xf0, 0xbe, 0xbf, 0x7e, 0x3b, 0x9d, 0x92, 0xfc, 0x49, 0x74, 0x17, 0x79, 0x36, 0x3c, 0xfe }, - }, - { - { 0xfc, 0xfd, 0x69, 0xfe, 0x15, 0x80, 0xc0, 0x95, 0xa7, 0x83, 0x54, 0x89, 0x31, 0xf3, 0x01, 0x70 }, - { 0x5e, 0x36, 0xdc, 0x8f, 0x6a, 0xd2, 0xbe, 0x40, 0xb3, 0x87, 0xae, 0x78, 0x52, 0x28, 0xfe, 0x56 }, - { 0x03, 0xcc, 0x26, 0x2a, 0xfe, 0x76, 0x91, 0x5f, 0xe5, 0x6a, 0x52, 0xe0, 0x57, 0x98, 0xf2, 0xeb }, - { 0xd5, 0x29, 0x4e, 0xe1, 0x19, 0xb6, 0x70, 0x44, 0xb5, 0x57, 0xbc, 0x94, 0x65, 0x0b, 0x3f, 0xa5 }, - }, - { - { 0xe2, 0x86, 0xa8, 0x0e, 0xd6, 0xbd, 0x92, 0xa4, 0xaa, 0xaf, 0x20, 0x6e, 0xb3, 0x27, 0x21, 0x29 }, - { 0xac, 0xac, 0x7d, 0x25, 0x9e, 0x9d, 0x26, 0x69, 0x52, 0x66, 0xa6, 0xb8, 0xed, 0x09, 0x76, 0xcf }, - { 0xba, 0x12, 0x9f, 0x42, 0x27, 0x1f, 0x7d, 0x5f, 0x7d, 0x3f, 0x57, 0xf3, 0x08, 0xee, 0x37, 0xb2 }, - { 0x4d, 0xd1, 0x67, 0x53, 0xe3, 0xd3, 0x61, 0xc6, 0x36, 0x3b, 0xf5, 0x16, 0x04, 0x45, 0x2e, 0x85 }, - }, - { - { 0xbf, 0xb7, 0x21, 0xb5, 0x2c, 0xc2, 0x13, 0x66, 0x99, 0xca, 0x97, 0x8b, 0x50, 0xb9, 0xa0, 0xa3 }, - { 0x82, 0x84, 0xbe, 0x95, 0x59, 0xcd, 0x27, 0xf2, 0x4d, 0x9b, 0x07, 0x33, 0x93, 0x56, 0xc2, 0x3e }, - { 0xb9, 0xc7, 0xa3, 0x5f, 0xc5, 0x83, 0xf1, 0x3f, 0x4d, 0x0f, 0x8c, 0x79, 0x8d, 0xac, 0xc8, 0xc5 }, - { 0x91, 0xed, 0x39, 0x68, 0xff, 0x64, 0xbe, 0x68, 0x8f, 0x43, 0x6e, 0xbc, 0xeb, 0x57, 0x72, 0xe7 }, - } -}; - TEST(atca_cmd_unit_test, aes) { ATCA_STATUS status; @@ -458,214 +375,15 @@ TEST(atca_cmd_basic_test, volatile_key_permit) } -TEST(atca_cmd_basic_test, aes_cbc_encrypt_block) -{ - uint8_t ciphertext[AES_DATA_SIZE]; - size_t data_block; - atca_aes_cbc_ctx_t ctx; - ATCA_STATUS status; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Init CBC mode context using 1st key in TempKey - status = atcab_aes_cbc_init(&ctx, ATCA_TEMPKEY_KEYID, 0, g_iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Encrypt blocks - for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) - { - status = atcab_aes_cbc_encrypt_block(&ctx, &g_plaintext[data_block * AES_DATA_SIZE], ciphertext); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(&g_ciphertext_cbc[0][data_block * AES_DATA_SIZE], ciphertext, AES_DATA_SIZE); - } -} - -TEST(atca_cmd_basic_test, aes_cbc_decrypt_block) -{ - uint8_t plaintext[AES_DATA_SIZE]; - size_t data_block; - atca_aes_cbc_ctx_t ctx; - ATCA_STATUS status; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Init CBC mode context using 3rd key in TempKey - status = atcab_aes_cbc_init(&ctx, ATCA_TEMPKEY_KEYID, 0, g_iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Decrypt blocks - for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) - { - status = atcab_aes_cbc_decrypt_block(&ctx, &g_ciphertext_cbc[0][data_block * AES_DATA_SIZE], plaintext); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(&g_plaintext[data_block * AES_DATA_SIZE], plaintext, AES_DATA_SIZE); - } -} - -TEST(atca_cmd_basic_test, aes_cmac) -{ - ATCA_STATUS status; - uint8_t key_block; - size_t msg_index; - atca_aes_cmac_ctx_t ctx; - uint8_t cmac[AES_DATA_SIZE]; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - for (key_block = 0; key_block < 4; key_block++) - { - for (msg_index = 0; msg_index < sizeof(g_cmac_msg_sizes) / sizeof(g_cmac_msg_sizes[0]); msg_index++) - { - status = atcab_aes_cmac_init(&ctx, ATCA_TEMPKEY_KEYID, key_block); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - status = atcab_aes_cmac_update(&ctx, g_plaintext, g_cmac_msg_sizes[msg_index]); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - status = atcab_aes_cmac_finish(&ctx, cmac, sizeof(cmac)); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(g_cmacs[key_block][msg_index], cmac, sizeof(cmac)); - } - } -} - -TEST(atca_cmd_basic_test, aes_ctr_encrypt_block) -{ - atca_aes_ctr_ctx_t ctx; - ATCA_STATUS status; - uint16_t key_id = ATCA_TEMPKEY_KEYID; - uint8_t aes_key_block = 0; - uint16_t key_block = 0; - size_t data_block; - uint8_t ciphertext[AES_DATA_SIZE]; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Init CTR mode context using key in TempKey - status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, g_ctr_counter); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Encrypt blocks - for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) - { - status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[data_block * AES_DATA_SIZE], ciphertext); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(&g_ciphertext_ctr[key_block][data_block * AES_DATA_SIZE], ciphertext, AES_DATA_SIZE); - } -} - -TEST(atca_cmd_basic_test, aes_ctr_decrypt_block) -{ - atca_aes_ctr_ctx_t ctx; - ATCA_STATUS status; - uint16_t key_id = ATCA_TEMPKEY_KEYID; - uint8_t key_block = 0; - size_t data_block; - uint8_t plaintext[AES_DATA_SIZE]; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Init CTR mode context using key in TempKey - status = atcab_aes_ctr_init(&ctx, key_id, key_block, 4, g_ctr_counter); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Decrypt blocks - for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) - { - status = atcab_aes_ctr_decrypt_block(&ctx, &g_ciphertext_ctr[0][data_block * AES_DATA_SIZE], plaintext); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(&g_plaintext[data_block * AES_DATA_SIZE], plaintext, AES_DATA_SIZE); - } -} - -TEST(atca_cmd_basic_test, aes_ctr_increment) -{ - atca_aes_ctr_ctx_t ctx; - ATCA_STATUS status; - uint16_t key_id = ATCA_TEMPKEY_KEYID; - uint8_t aes_key_block = 0; - uint8_t iv[AES_DATA_SIZE] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF - }; - const uint8_t iv_inc[AES_DATA_SIZE] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 - }; - uint8_t ciphertext[AES_DATA_SIZE]; - - check_config_aes_enable(); - - // Load AES keys into TempKey - status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - - // Test chained carry - status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - TEST_ASSERT_EQUAL_MEMORY(iv_inc, ctx.iv, AES_DATA_SIZE); - - // Test overflow - iv[12] = 0xFF; - status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); - TEST_ASSERT_EQUAL(ATCA_INVALID_SIZE, status); - - // Rerun test with a counter as the entire iv. Should never happen in - // practice, but good to be thorough. - memset(iv, 0xFF, sizeof(iv)); - status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, AES_DATA_SIZE, iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); - TEST_ASSERT_EQUAL(ATCA_INVALID_SIZE, status); - - // Test with ctx.counter_size corrupted larger than the block - memset(iv, 0xFF, sizeof(iv)); - status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, AES_DATA_SIZE, iv); - TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - ctx.counter_size = AES_DATA_SIZE + 1; // Corrupt counter_size - status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); - TEST_ASSERT_EQUAL(ATCA_INVALID_SIZE, status); -} - // *INDENT-OFF* - Preserve formatting t_test_case_info aes_basic_test_info[] = { - { REGISTER_TEST_CASE(atca_cmd_basic_test, volatile_key_permit), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_encrypt_key_tempkey), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_decrypt_key_tempkey), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_encrypt_key_slot), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_decrypt_key_slot), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gfm), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cbc_encrypt_block), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cbc_decrypt_block), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cmac), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_encrypt_block), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_decrypt_block), DEVICE_MASK(ATECC608A) }, - { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_increment), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, volatile_key_permit), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_encrypt_key_tempkey), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_decrypt_key_tempkey), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_encrypt_key_slot), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_decrypt_key_slot), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gfm), DEVICE_MASK(ATECC608A) }, { (fp_test_case)NULL, (uint8_t)0 }, /* Array Termination element*/ }; diff --git a/test/atca_tests_aes_cbc.c b/test/atca_tests_aes_cbc.c new file mode 100644 index 000000000..1e252add6 --- /dev/null +++ b/test/atca_tests_aes_cbc.c @@ -0,0 +1,117 @@ +/** + * \file + * \brief Unity tests for the cryptoauthlib Basic API + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include +#ifdef _WIN32 +#include +#endif +#include "atca_test.h" +#include "basic/atca_basic.h" +#include "host/atca_host.h" +#include "test/atca_tests.h" +#include "atca_execution.h" + +extern const uint8_t g_aes_keys[4][16]; +extern const uint8_t g_plaintext[64]; + +// Initialization vector for testing block cipher modes. +// Commonly used by NIST for some AES test vectors +const uint8_t g_iv[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +// NIST text vector output for first key in AES128-CBC mode +// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CBC.pdf +const uint8_t g_ciphertext_cbc[1][64] = { + { + 0x76, 0x49, 0xAB, 0xAC, 0x81, 0x19, 0xB2, 0x46, 0xCE, 0xE9, 0x8E, 0x9B, 0x12, 0xE9, 0x19, 0x7D, + 0x50, 0x86, 0xCB, 0x9B, 0x50, 0x72, 0x19, 0xEE, 0x95, 0xDB, 0x11, 0x3A, 0x91, 0x76, 0x78, 0xB2, + 0x73, 0xBE, 0xD6, 0xB8, 0xE3, 0xC1, 0x74, 0x3B, 0x71, 0x16, 0xE6, 0x9E, 0x22, 0x22, 0x95, 0x16, + 0x3F, 0xF1, 0xCA, 0xA1, 0x68, 0x1F, 0xAC, 0x09, 0x12, 0x0E, 0xCA, 0x30, 0x75, 0x86, 0xE1, 0xA7, + } +}; + +TEST(atca_cmd_basic_test, aes_cbc_encrypt_block) +{ + uint8_t ciphertext[AES_DATA_SIZE]; + size_t data_block; + atca_aes_cbc_ctx_t ctx; + ATCA_STATUS status; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Init CBC mode context using 1st key in TempKey + status = atcab_aes_cbc_init(&ctx, ATCA_TEMPKEY_KEYID, 0, g_iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Encrypt blocks + for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) + { + status = atcab_aes_cbc_encrypt_block(&ctx, &g_plaintext[data_block * AES_DATA_SIZE], ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(&g_ciphertext_cbc[0][data_block * AES_DATA_SIZE], ciphertext, AES_DATA_SIZE); + } +} + +TEST(atca_cmd_basic_test, aes_cbc_decrypt_block) +{ + uint8_t plaintext[AES_DATA_SIZE]; + size_t data_block; + atca_aes_cbc_ctx_t ctx; + ATCA_STATUS status; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Init CBC mode context using 3rd key in TempKey + status = atcab_aes_cbc_init(&ctx, ATCA_TEMPKEY_KEYID, 0, g_iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Decrypt blocks + for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) + { + status = atcab_aes_cbc_decrypt_block(&ctx, &g_ciphertext_cbc[0][data_block * AES_DATA_SIZE], plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(&g_plaintext[data_block * AES_DATA_SIZE], plaintext, AES_DATA_SIZE); + } +} + +// *INDENT-OFF* - Preserve formatting +t_test_case_info aes_cbc_basic_test_info[] = +{ + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cbc_encrypt_block), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cbc_decrypt_block), DEVICE_MASK(ATECC608A) }, + { (fp_test_case)NULL, (uint8_t)0 }, /* Array Termination element*/ +}; + +// *INDENT-ON* diff --git a/test/atca_tests_aes_cmac.c b/test/atca_tests_aes_cmac.c new file mode 100644 index 000000000..65ce255a6 --- /dev/null +++ b/test/atca_tests_aes_cmac.c @@ -0,0 +1,111 @@ +/** + * \file + * \brief Unity tests for the cryptoauthlib Basic API + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include +#ifdef _WIN32 +#include +#endif +#include "atca_test.h" +#include "basic/atca_basic.h" +#include "host/atca_host.h" +#include "test/atca_tests.h" + +extern const uint8_t g_aes_keys[4][16]; +extern const uint8_t g_plaintext[64]; + +// Message sizes from the g_plaintext array to try when testing the AES128-CMAC +// functions +const uint32_t g_cmac_msg_sizes[] = { 0, 16, 20, 64 }; +// Expected CMACs for all keys and message sizes +// The first set of entries is from the the NIST CMAC test vectors +// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CMAC.pdf +const uint8_t g_cmacs[4][4][16] = { + { + { 0xbb, 0x1d, 0x69, 0x29, 0xe9, 0x59, 0x37, 0x28, 0x7f, 0xa3, 0x7d, 0x12, 0x9b, 0x75, 0x67, 0x46 }, + { 0x07, 0x0a, 0x16, 0xb4, 0x6b, 0x4d, 0x41, 0x44, 0xf7, 0x9b, 0xdd, 0x9d, 0xd0, 0x4a, 0x28, 0x7c }, + { 0x7d, 0x85, 0x44, 0x9e, 0xa6, 0xea, 0x19, 0xc8, 0x23, 0xa7, 0xbf, 0x78, 0x83, 0x7d, 0xfa, 0xde }, + { 0x51, 0xf0, 0xbe, 0xbf, 0x7e, 0x3b, 0x9d, 0x92, 0xfc, 0x49, 0x74, 0x17, 0x79, 0x36, 0x3c, 0xfe }, + }, + { + { 0xfc, 0xfd, 0x69, 0xfe, 0x15, 0x80, 0xc0, 0x95, 0xa7, 0x83, 0x54, 0x89, 0x31, 0xf3, 0x01, 0x70 }, + { 0x5e, 0x36, 0xdc, 0x8f, 0x6a, 0xd2, 0xbe, 0x40, 0xb3, 0x87, 0xae, 0x78, 0x52, 0x28, 0xfe, 0x56 }, + { 0x03, 0xcc, 0x26, 0x2a, 0xfe, 0x76, 0x91, 0x5f, 0xe5, 0x6a, 0x52, 0xe0, 0x57, 0x98, 0xf2, 0xeb }, + { 0xd5, 0x29, 0x4e, 0xe1, 0x19, 0xb6, 0x70, 0x44, 0xb5, 0x57, 0xbc, 0x94, 0x65, 0x0b, 0x3f, 0xa5 }, + }, + { + { 0xe2, 0x86, 0xa8, 0x0e, 0xd6, 0xbd, 0x92, 0xa4, 0xaa, 0xaf, 0x20, 0x6e, 0xb3, 0x27, 0x21, 0x29 }, + { 0xac, 0xac, 0x7d, 0x25, 0x9e, 0x9d, 0x26, 0x69, 0x52, 0x66, 0xa6, 0xb8, 0xed, 0x09, 0x76, 0xcf }, + { 0xba, 0x12, 0x9f, 0x42, 0x27, 0x1f, 0x7d, 0x5f, 0x7d, 0x3f, 0x57, 0xf3, 0x08, 0xee, 0x37, 0xb2 }, + { 0x4d, 0xd1, 0x67, 0x53, 0xe3, 0xd3, 0x61, 0xc6, 0x36, 0x3b, 0xf5, 0x16, 0x04, 0x45, 0x2e, 0x85 }, + }, + { + { 0xbf, 0xb7, 0x21, 0xb5, 0x2c, 0xc2, 0x13, 0x66, 0x99, 0xca, 0x97, 0x8b, 0x50, 0xb9, 0xa0, 0xa3 }, + { 0x82, 0x84, 0xbe, 0x95, 0x59, 0xcd, 0x27, 0xf2, 0x4d, 0x9b, 0x07, 0x33, 0x93, 0x56, 0xc2, 0x3e }, + { 0xb9, 0xc7, 0xa3, 0x5f, 0xc5, 0x83, 0xf1, 0x3f, 0x4d, 0x0f, 0x8c, 0x79, 0x8d, 0xac, 0xc8, 0xc5 }, + { 0x91, 0xed, 0x39, 0x68, 0xff, 0x64, 0xbe, 0x68, 0x8f, 0x43, 0x6e, 0xbc, 0xeb, 0x57, 0x72, 0xe7 }, + } +}; + + +TEST(atca_cmd_basic_test, aes_cmac) +{ + ATCA_STATUS status; + uint8_t key_block; + size_t msg_index; + atca_aes_cmac_ctx_t ctx; + uint8_t cmac[AES_DATA_SIZE]; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + for (key_block = 0; key_block < 4; key_block++) + { + for (msg_index = 0; msg_index < sizeof(g_cmac_msg_sizes) / sizeof(g_cmac_msg_sizes[0]); msg_index++) + { + status = atcab_aes_cmac_init(&ctx, ATCA_TEMPKEY_KEYID, key_block); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + status = atcab_aes_cmac_update(&ctx, g_plaintext, g_cmac_msg_sizes[msg_index]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + status = atcab_aes_cmac_finish(&ctx, cmac, sizeof(cmac)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(g_cmacs[key_block][msg_index], cmac, sizeof(cmac)); + } + } +} + +// *INDENT-OFF* - Preserve formatting +t_test_case_info aes_cmac_basic_test_info[] = +{ + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_cmac), DEVICE_MASK(ATECC608A) }, + { (fp_test_case)NULL, (uint8_t)0 }, /* Array Termination element*/ +}; + +// *INDENT-ON* diff --git a/test/atca_tests_aes_ctr.c b/test/atca_tests_aes_ctr.c new file mode 100644 index 000000000..071fb9a1e --- /dev/null +++ b/test/atca_tests_aes_ctr.c @@ -0,0 +1,180 @@ +/** + * \file + * \brief Unity tests for the cryptoauthlib Basic API + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include +#ifdef _WIN32 +#include +#endif +#include "atca_test.h" +#include "basic/atca_basic.h" +#include "host/atca_host.h" +#include "test/atca_tests.h" + +extern const uint8_t g_aes_keys[4][16]; +extern const uint8_t g_plaintext[64]; + +// NIST text vectors for AES128-CTR mode +// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CTR.pdf +const uint8_t g_ctr_counter[16] = { + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF +}; + +const uint8_t g_ciphertext_ctr[1][64] = { + { + 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26, 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE, + 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF, 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF, + 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E, 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB, + 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1, 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE, + } +}; + +TEST(atca_cmd_basic_test, aes_ctr_encrypt_block) +{ + atca_aes_ctr_ctx_t ctx; + ATCA_STATUS status; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint16_t key_block = 0; + size_t data_block; + uint8_t ciphertext[AES_DATA_SIZE]; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Init CTR mode context using key in TempKey + status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, g_ctr_counter); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Encrypt blocks + for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) + { + status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[data_block * AES_DATA_SIZE], ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(&g_ciphertext_ctr[key_block][data_block * AES_DATA_SIZE], ciphertext, AES_DATA_SIZE); + } +} + +TEST(atca_cmd_basic_test, aes_ctr_decrypt_block) +{ + atca_aes_ctr_ctx_t ctx; + ATCA_STATUS status; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t key_block = 0; + size_t data_block; + uint8_t plaintext[AES_DATA_SIZE]; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Init CTR mode context using key in TempKey + status = atcab_aes_ctr_init(&ctx, key_id, key_block, 4, g_ctr_counter); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Decrypt blocks + for (data_block = 0; data_block < sizeof(g_plaintext) / AES_DATA_SIZE; data_block++) + { + status = atcab_aes_ctr_decrypt_block(&ctx, &g_ciphertext_ctr[0][data_block * AES_DATA_SIZE], plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(&g_plaintext[data_block * AES_DATA_SIZE], plaintext, AES_DATA_SIZE); + } +} + +TEST(atca_cmd_basic_test, aes_ctr_increment) +{ + atca_aes_ctr_ctx_t ctx; + ATCA_STATUS status; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint8_t iv[AES_DATA_SIZE] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF + }; + const uint8_t iv_inc[AES_DATA_SIZE] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 + }; + uint8_t ciphertext[AES_DATA_SIZE]; + uint8_t zero[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, g_aes_keys[0], 64); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + // Test chained carry + status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(iv_inc, ctx.cb, AES_DATA_SIZE); + + // Test overflow + iv[12] = 0xFF; + status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, 4, iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(zero, &ctx.cb[12], 4); + + // Rerun test with a counter as the entire iv. Should never happen in + // practice, but good to be thorough. + memset(iv, 0xFF, sizeof(iv)); + status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, AES_DATA_SIZE, iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(zero, ctx.cb, AES_DATA_SIZE); + + // Test with ctx.counter_size corrupted larger than the block + memset(iv, 0xFF, sizeof(iv)); + status = atcab_aes_ctr_init(&ctx, key_id, aes_key_block, AES_DATA_SIZE, iv); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + ctx.counter_size = AES_DATA_SIZE + 1; // Corrupt counter_size + status = atcab_aes_ctr_encrypt_block(&ctx, &g_plaintext[0], ciphertext); + TEST_ASSERT_EQUAL(ATCA_BAD_PARAM, status); +} + + +// *INDENT-OFF* - Preserve formatting +t_test_case_info aes_ctr_basic_test_info[] = +{ + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_encrypt_block), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_decrypt_block), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_ctr_increment), DEVICE_MASK(ATECC608A) }, + { (fp_test_case)NULL, (uint8_t)0 }, /* Array Termination element*/ +}; + +// *INDENT-ON* diff --git a/test/atca_tests_aes_gcm.c b/test/atca_tests_aes_gcm.c new file mode 100644 index 000000000..24f835bc8 --- /dev/null +++ b/test/atca_tests_aes_gcm.c @@ -0,0 +1,922 @@ +/** + * \file + * \brief Unity tests for the cryptoauthlib AES GCM functions. + * + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip software + * and any derivatives exclusively with Microchip products. It is your + * responsibility to comply with third party license terms applicable to your + * use of third party software (including open source software) that may + * accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR + * THIS SOFTWARE. + */ +#include +#ifdef _WIN32 +#include +#endif +#include "atca_test.h" +#include "basic/atca_basic.h" +#include "basic/atca_basic_aes_gcm.h" +#include "host/atca_host.h" +#include "test/atca_tests.h" + +#define GCM_TEST_VECTORS_DATA_SIZE_MAX 100 +typedef struct +{ + const char* vector_name; + uint8_t key[32]; + size_t iv_size; + uint8_t iv[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint32_t text_size; + uint8_t plaintext[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint8_t ciphertext[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint32_t aad_size; + uint8_t aad[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint8_t tag[AES_DATA_SIZE]; +}aes_gcm_test_vectors; + +// *INDENT-OFF* - Preserve formatting +const aes_gcm_test_vectors gcm_test_cases[] = +{ + //http://luca-giuzzi.unibs.it/corsi/Support/papers-cryptography/gcm-spec.pdf + { + "Test case 1", + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + 12, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + 0, + { 0 }, + { 0 }, + 0, + { 0 }, + { 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61, 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a } + }, + { + "Test case 2", + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + 12, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + 16, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92, 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 }, + 0, + { 0 }, + { 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd, 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf } + }, + { + "Test case 3", + { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, + 12, + { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 0xde, 0xca, 0xf8, 0x88 }, + 64, + { 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, + { 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85 }, + 0, + { 0 }, + { 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 } + }, + { + "Test case 4", + { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, + 12, + { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 0xde, 0xca, 0xf8, 0x88 }, + 60, + { 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 0xba, 0x63, 0x7b, 0x39 }, + { 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 0x3d, 0x58, 0xe0, 0x91 }, + 20, + { 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 }, + { 0x5b, 0xc9, 0x4f, 0xbc, 0x32, 0x21, 0xa5, 0xdb, 0x94, 0xfa, 0xe9, 0x5a, 0xe7, 0x12, 0x1a, 0x47 } + }, + { + "Test case 5", + { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, + 8, + { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad }, + 60, + { 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 0xba, 0x63, 0x7b, 0x39 }, + { 0x61, 0x35, 0x3b, 0x4c, 0x28, 0x06, 0x93, 0x4a, 0x77, 0x7f, 0xf5, 0x1f, 0xa2, 0x2a, 0x47, 0x55, + 0x69, 0x9b, 0x2a, 0x71, 0x4f, 0xcd, 0xc6, 0xf8, 0x37, 0x66, 0xe5, 0xf9, 0x7b, 0x6c, 0x74, 0x23, + 0x73, 0x80, 0x69, 0x00, 0xe4, 0x9f, 0x24, 0xb2, 0x2b, 0x09, 0x75, 0x44, 0xd4, 0x89, 0x6b, 0x42, + 0x49, 0x89, 0xb5, 0xe1, 0xeb, 0xac, 0x0f, 0x07, 0xc2, 0x3f, 0x45, 0x98 }, + 20, + { 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 }, + { 0x36, 0x12, 0xd2, 0xe7, 0x9e, 0x3b, 0x07, 0x85, 0x56, 0x1b, 0xe1, 0x4a, 0xac, 0xa2, 0xfc, 0xcb } + }, + { + "Test case 6", + { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, + 60, + { 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5, 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa, + 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1, 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28, + 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39, 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54, + 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57, 0xa6, 0x37, 0xb3, 0x9b }, + 60, + { 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 0xba, 0x63, 0x7b, 0x39 }, + { 0x8c, 0xe2, 0x49, 0x98, 0x62, 0x56, 0x15, 0xb6, 0x03, 0xa0, 0x33, 0xac, 0xa1, 0x3f, 0xb8, 0x94, + 0xbe, 0x91, 0x12, 0xa5, 0xc3, 0xa2, 0x11, 0xa8, 0xba, 0x26, 0x2a, 0x3c, 0xca, 0x7e, 0x2c, 0xa7, + 0x01, 0xe4, 0xa9, 0xa4, 0xfb, 0xa4, 0x3c, 0x90, 0xcc, 0xdc, 0xb2, 0x81, 0xd4, 0x8c, 0x7c, 0x6f, + 0xd6, 0x28, 0x75, 0xd2, 0xac, 0xa4, 0x17, 0x03, 0x4c, 0x34, 0xae, 0xe5 }, + 20, + { 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 }, + { 0x61, 0x9c, 0xc5, 0xae, 0xff, 0xfe, 0x0b, 0xfa, 0x46, 0x2a, 0xf4, 0x3c, 0x16, 0x99, 0xd0, 0x50 } + }, + //http://www.ieee802.org/1/files/public/docs2011/bn-randall-test-vectors-0511-v1.pdf + { + "2.1.1 54-byte Packet", + { 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45 }, + 12, + { 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 0xB2, 0xC2, 0x84, 0x65 }, + 0, + { 0 }, + { 0 }, + 70, + { 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 0x88, 0xE5, 0x22, 0x2A, + 0xB2, 0xC2, 0x84, 0x65, 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 0x08, 0x00, 0x0F, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, + 0x31, 0x32, 0x33, 0x34, 0x00, 0x01 }, + { 0xF0, 0x94, 0x78, 0xA9, 0xB0, 0x90, 0x07, 0xD0, 0x6F, 0x46, 0xE9, 0xB6, 0xA1, 0xDA, 0x25, 0xDD } + }, + { + "2.2.1 60-byte Packet", + { 0xAD, 0x7A, 0x2B, 0xD0, 0x3E, 0xAC, 0x83, 0x5A, 0x6F, 0x62, 0x0F, 0xDC, 0xB5, 0x06, 0xB3, 0x45 }, + 12, + { 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81, 0xB2, 0xC2, 0x84, 0x65 }, + 48, + { 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, + 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x00, 0x02 }, + { 0x70, 0x1A, 0xFA, 0x1C, 0xC0, 0x39, 0xC0, 0xD7, 0x65, 0x12, 0x8A, 0x66, 0x5D, 0xAB, 0x69, 0x24, + 0x38, 0x99, 0xBF, 0x73, 0x18, 0xCC, 0xDC, 0x81, 0xC9, 0x93, 0x1D, 0xA1, 0x7F, 0xBE, 0x8E, 0xDD, + 0x7D, 0x17, 0xCB, 0x8B, 0x4C, 0x26, 0xFC, 0x81, 0xE3, 0x28, 0x4F, 0x2B, 0x7F, 0xBA, 0x71, 0x3D }, + 28, + { 0xD6, 0x09, 0xB1, 0xF0, 0x56, 0x63, 0x7A, 0x0D, 0x46, 0xDF, 0x99, 0x8D, 0x88, 0xE5, 0x2E, 0x00, + 0xB2, 0xC2, 0x84, 0x65, 0x12, 0x15, 0x35, 0x24, 0xC0, 0x89, 0x5E, 0x81 }, + { 0x4F, 0x8D, 0x55, 0xE7, 0xD3, 0xF0, 0x6F, 0xD5, 0xA1, 0x3C, 0x0C, 0x29, 0xB9, 0xD5, 0xB8, 0x80 } + }, + { + "2.3.1 60-byte Packet", + { 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82 }, + 12, + { 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 0x00, 0x01, 0x76, 0xD4, 0x57, 0xED }, + 0, + { 0 }, + { 0 }, + 68, + { 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 0x88, 0xE5, 0x40, 0x00, + 0x76, 0xD4, 0x57, 0xED, 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x00, 0x03 }, + { 0x0C, 0x01, 0x7B, 0xC7, 0x3B, 0x22, 0x7D, 0xFC, 0xC9, 0xBA, 0xFA, 0x1C, 0x41, 0xAC, 0xC3, 0x53 } + }, + { + "2.4.1 54-byte Packet", + { 0x07, 0x1B, 0x11, 0x3B, 0x0C, 0xA7, 0x43, 0xFE, 0xCC, 0xCF, 0x3D, 0x05, 0x1F, 0x73, 0x73, 0x82 }, + 12, + { 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 0x00, 0x01, 0x76, 0xD4, 0x57, 0xED }, + 42, + { 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, + 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x00, 0x04 }, + { 0x13, 0xB4, 0xC7, 0x2B, 0x38, 0x9D, 0xC5, 0x01, 0x8E, 0x72, 0xA1, 0x71, 0xDD, 0x85, 0xA5, 0xD3, + 0x75, 0x22, 0x74, 0xD3, 0xA0, 0x19, 0xFB, 0xCA, 0xED, 0x09, 0xA4, 0x25, 0xCD, 0x9B, 0x2E, 0x1C, + 0x9B, 0x72, 0xEE, 0xE7, 0xC9, 0xDE, 0x7D, 0x52, 0xB3, 0xF3 }, + 20, + { 0xE2, 0x01, 0x06, 0xD7, 0xCD, 0x0D, 0xF0, 0x76, 0x1E, 0x8D, 0xCD, 0x3D, 0x88, 0xE5, 0x4C, 0x2A, + 0x76, 0xD4, 0x57, 0xED }, + { 0xD6, 0xA5, 0x28, 0x4F, 0x4A, 0x6D, 0x3F, 0xE2, 0x2A, 0x5D, 0x6C, 0x2B, 0x96, 0x04, 0x94, 0xC3 } + }, + { + "2.5.1 65-byte Packet", + { 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90 }, + 12, + { 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 0x89, 0x32, 0xD6, 0x12 }, + 0, + { 0 }, + { 0 }, + 81, + { 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 0x88, 0xE5, 0x23, 0x00, + 0x89, 0x32, 0xD6, 0x12, 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 0x08, 0x00, 0x0F, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, + 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x00, + 0x05 }, + { 0x21, 0x78, 0x67, 0xE5, 0x0C, 0x2D, 0xAD, 0x74, 0xC2, 0x8C, 0x3B, 0x50, 0xAB, 0xDF, 0x69, 0x5A } + }, + { + "2.6.1 61-byte Packet", + { 0x01, 0x3F, 0xE0, 0x0B, 0x5F, 0x11, 0xBE, 0x7F, 0x86, 0x6D, 0x0C, 0xBB, 0xC5, 0x5A, 0x7A, 0x90 }, + 12, + { 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6, 0x89, 0x32, 0xD6, 0x12 }, + 49, + { 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, + 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x00, + 0x06 }, + { 0x3A, 0x4D, 0xE6, 0xFA, 0x32, 0x19, 0x10, 0x14, 0xDB, 0xB3, 0x03, 0xD9, 0x2E, 0xE3, 0xA9, 0xE8, + 0xA1, 0xB5, 0x99, 0xC1, 0x4D, 0x22, 0xFB, 0x08, 0x00, 0x96, 0xE1, 0x38, 0x11, 0x81, 0x6A, 0x3C, + 0x9C, 0x9B, 0xCF, 0x7C, 0x1B, 0x9B, 0x96, 0xDA, 0x80, 0x92, 0x04, 0xE2, 0x9D, 0x0E, 0x2A, 0x76, + 0x42 }, + 28, + { 0x84, 0xC5, 0xD5, 0x13, 0xD2, 0xAA, 0xF6, 0xE5, 0xBB, 0xD2, 0x72, 0x77, 0x88, 0xE5, 0x2F, 0x00, + 0x89, 0x32, 0xD6, 0x12, 0x7C, 0xFD, 0xE9, 0xF9, 0xE3, 0x37, 0x24, 0xC6 }, + { 0xBF, 0xD3, 0x10, 0xA4, 0x83, 0x7C, 0x81, 0x6C, 0xCF, 0xA5, 0xAC, 0x23, 0xAB, 0x00, 0x39, 0x88 } + }, + { + "2.7.1 79-byte Packet", + { 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD }, + 12,{ 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 0x00, 0x01, 0x2E, 0x58, 0x49, 0x5C }, + 0, + { 0 }, + { 0 }, + 87, + { 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 0x88, 0xE5, 0x41, 0x00, + 0x2E, 0x58, 0x49, 0x5C, 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, + 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x00, 0x07 }, + { 0x07, 0x92, 0x2B, 0x8E, 0xBC, 0xF1, 0x0B, 0xB2, 0x29, 0x75, 0x88, 0xCA, 0x4C, 0x61, 0x45, 0x23 } + }, + { + "2.8.1 75-byte Packet", + { 0x88, 0xEE, 0x08, 0x7F, 0xD9, 0x5D, 0xA9, 0xFB, 0xF6, 0x72, 0x5A, 0xA9, 0xD7, 0x57, 0xB0, 0xCD }, + 12, + { 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 0x00, 0x01, 0x2E, 0x58, 0x49, 0x5C }, + 63, + { 0x08, 0x00, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, + 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, + 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x00, 0x08 }, + { 0xC3, 0x1F, 0x53, 0xD9, 0x9E, 0x56, 0x87, 0xF7, 0x36, 0x51, 0x19, 0xB8, 0x32, 0xD2, 0xAA, 0xE7, + 0x07, 0x41, 0xD5, 0x93, 0xF1, 0xF9, 0xE2, 0xAB, 0x34, 0x55, 0x77, 0x9B, 0x07, 0x8E, 0xB8, 0xFE, + 0xAC, 0xDF, 0xEC, 0x1F, 0x8E, 0x3E, 0x52, 0x77, 0xF8, 0x18, 0x0B, 0x43, 0x36, 0x1F, 0x65, 0x12, + 0xAD, 0xB1, 0x6D, 0x2E, 0x38, 0x54, 0x8A, 0x2C, 0x71, 0x9D, 0xBA, 0x72, 0x28, 0xD8, 0x40 }, + 20, + { 0x68, 0xF2, 0xE7, 0x76, 0x96, 0xCE, 0x7A, 0xE8, 0xE2, 0xCA, 0x4E, 0xC5, 0x88, 0xE5, 0x4D, 0x00, + 0x2E, 0x58, 0x49, 0x5C }, + { 0x88, 0xF8, 0x75, 0x7A, 0xDB, 0x8A, 0xA7, 0x88, 0xD8, 0xF6, 0x5A, 0xD6, 0x68, 0xBE, 0x70, 0xE7 } + }, +}; +// *INDENT-ON* + +typedef struct +{ + uint32_t text_size; + uint8_t plaintext[32]; + uint8_t ciphertext[32]; + uint32_t aad_size; + uint8_t aad[32]; + uint8_t tag[16]; +} aes_gcm_partial_block_vectors; + +// *INDENT-OFF* - Preserve formatting +const aes_gcm_partial_block_vectors test_vectors[] = +{ + { + 30, + { 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1, 0x76, 0xdf, + 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1 }, + { 0xA6, 0x97, 0x10, 0x3A, 0x70, 0x29, 0x7A, 0xAA, 0xCD, 0x25, 0x9E, 0x1A, 0x85, 0x36, 0xA7, 0xDC, + 0x3E, 0x61, 0x7D, 0xA2, 0xA8, 0x66, 0x3F, 0xD2, 0xFC, 0x5D, 0x6A, 0x6C, 0x36, 0xEA }, + 30, + { 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0, 0x09, 0x66, + 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0 }, + { 0x72, 0xE3, 0x22, 0x8A, 0x06, 0xE5, 0x88, 0x14, 0x94, 0xC7, 0x08, 0xF3, 0xAC, 0x8B, 0xA9, 0xC5 } + }, + { + 16, + { 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1, 0x76, 0xdf }, + { 0xA6, 0x97, 0x10, 0x3A, 0x70, 0x29, 0x7A, 0xAA, 0xCD, 0x25, 0x9E, 0x1A, 0x85, 0x36, 0xA7, 0xDC }, + 16, + { 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0, 0x09, 0x66 }, + { 0xE8, 0x8C, 0x95, 0x9A, 0xBC, 0x1E, 0x75, 0x93, 0xA0, 0x3E, 0xF0, 0x34, 0x84, 0x64, 0xF2, 0xD5 } + }, + { + 32, + { 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1, 0x76, 0xdf, + 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1, 0x76, 0xdf }, + { 0xA6, 0x97, 0x10, 0x3A, 0x70, 0x29, 0x7A, 0xAA, 0xCD, 0x25, 0x9E, 0x1A, 0x85, 0x36, 0xA7, 0xDC, + 0x3E, 0x61, 0x7D, 0xA2, 0xA8, 0x66, 0x3F, 0xD2, 0xFC, 0x5D, 0x6A, 0x6C, 0x36, 0xEA, 0x2C, 0xD8 }, + 32, + { 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0, 0x09, 0x66, + 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0, 0x09, 0x66 }, + { 0x3E, 0xCA, 0xD1, 0x08, 0xF6, 0x8D, 0xC4, 0x54, 0xE6, 0xA1, 0x17, 0x5B, 0x9D, 0x4E, 0x16, 0xB3 } + }, + { + 24, + { 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52, 0x53, 0xd9, 0x99, 0x58, 0xcc, 0xb1, 0x76, 0xdf, + 0x9f, 0xee, 0xbb, 0xdf, 0x16, 0x0f, 0x96, 0x52 }, + { 0xA6,0x97, 0x10, 0x3A, 0x70, 0x29, 0x7A, 0xAA, 0xCD, 0x25, 0x9E, 0x1A, 0x85, 0x36, 0xA7, 0xDC, + 0x3E, 0x61, 0x7D, 0xA2, 0xA8, 0x66, 0x3F, 0xD2 }, + 24, + { 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, 0xdc, 0xc2, 0x3d, 0xf5, 0xdc, 0xb0, 0x09, 0x66, + 0x47, 0x6b, 0x48, 0x80, 0xf5, 0x93, 0x33, 0x14, }, + { 0x74, 0x99, 0x3B, 0x31, 0x06, 0xBA, 0x6B, 0xE5, 0x00, 0x8F, 0xD5, 0x3A, 0xA4, 0x91, 0xAA, 0xAF } + }, +}; +// *INDENT-ON* + +TEST(atca_cmd_basic_test, aes_gcm_encrypt_partial_blocks) +{ + ATCA_STATUS status; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint8_t ciphertext[32]; + uint8_t tag[AES_DATA_SIZE]; + atca_aes_gcm_ctx_t ctx; + const aes_gcm_partial_block_vectors* current_vector; + uint8_t key[] = { 0xb7, 0xcf, 0x6c, 0xf5, 0xe7, 0xf3, 0xca, 0x22, 0x3c, 0xa7, 0x3c, 0x81, 0x9d, 0xcd, 0x62, 0xfe }; + uint8_t iv[] = { 0xa4, 0x13, 0x60, 0x09, 0xc0, 0xa7, 0xfd, 0xac, 0xfe, 0x53, 0xf5, 0x07 }; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, key, 32); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + current_vector = &test_vectors[0]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[15], 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_encrypt_update(&ctx, current_vector->plaintext, 15, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_encrypt_update(&ctx, ¤t_vector->plaintext[15], 15, &ciphertext[15]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->ciphertext, ciphertext, current_vector->text_size); + TEST_ASSERT_EQUAL_MEMORY(current_vector->tag, tag, sizeof(tag)); + + current_vector = &test_vectors[1]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[15], 1); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_encrypt_update(&ctx, current_vector->plaintext, 15, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_encrypt_update(&ctx, ¤t_vector->plaintext[15], 1, &ciphertext[15]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->ciphertext, ciphertext, current_vector->text_size); + TEST_ASSERT_EQUAL_MEMORY(current_vector->tag, tag, sizeof(tag)); + + current_vector = &test_vectors[2]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[16], 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_encrypt_update(&ctx, current_vector->plaintext, 16, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_encrypt_update(&ctx, ¤t_vector->plaintext[16], 16, &ciphertext[16]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->ciphertext, ciphertext, current_vector->text_size); + TEST_ASSERT_EQUAL_MEMORY(current_vector->tag, tag, sizeof(tag)); + + current_vector = &test_vectors[3]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[16], 8); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_encrypt_update(&ctx, current_vector->plaintext, 16, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_encrypt_update(&ctx, ¤t_vector->plaintext[16], 8, &ciphertext[16]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->ciphertext, ciphertext, current_vector->text_size); + TEST_ASSERT_EQUAL_MEMORY(current_vector->tag, tag, sizeof(tag)); +} + +TEST(atca_cmd_basic_test, aes_gcm_decrypt_partial_blocks) +{ + ATCA_STATUS status; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint8_t plaintext[32]; + bool is_verified; + atca_aes_gcm_ctx_t ctx; + const aes_gcm_partial_block_vectors* current_vector; + uint8_t key[] = { 0xb7, 0xcf, 0x6c, 0xf5, 0xe7, 0xf3, 0xca, 0x22, 0x3c, 0xa7, 0x3c, 0x81, 0x9d, 0xcd, 0x62, 0xfe }; + uint8_t iv[] = { 0xa4, 0x13, 0x60, 0x09, 0xc0, 0xa7, 0xfd, 0xac, 0xfe, 0x53, 0xf5, 0x07 }; + + check_config_aes_enable(); + + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, key, 32); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + current_vector = &test_vectors[0]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[15], 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_decrypt_update(&ctx, current_vector->ciphertext, 15, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_decrypt_update(&ctx, ¤t_vector->ciphertext[15], 15, &plaintext[15]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_decrypt_finish(&ctx, current_vector->tag, sizeof(current_vector->tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->plaintext, plaintext, current_vector->text_size); + TEST_ASSERT(is_verified); + + current_vector = &test_vectors[1]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 15); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[15], 1); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_decrypt_update(&ctx, current_vector->ciphertext, 15, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_decrypt_update(&ctx, ¤t_vector->ciphertext[15], 1, &plaintext[15]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_decrypt_finish(&ctx, current_vector->tag, sizeof(current_vector->tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->plaintext, plaintext, current_vector->text_size); + TEST_ASSERT(is_verified); + + current_vector = &test_vectors[2]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[16], 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_decrypt_update(&ctx, current_vector->ciphertext, 16, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_decrypt_update(&ctx, ¤t_vector->ciphertext[16], 16, &plaintext[16]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_decrypt_finish(&ctx, current_vector->tag, sizeof(current_vector->tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->plaintext, plaintext, current_vector->text_size); + TEST_ASSERT(is_verified); + + current_vector = &test_vectors[3]; + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, sizeof(iv)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, current_vector->aad, 16); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_aad_update(&ctx, ¤t_vector->aad[16], 8); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Encrypt data + status = atcab_aes_gcm_decrypt_update(&ctx, current_vector->ciphertext, 16, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + status = atcab_aes_gcm_decrypt_update(&ctx, ¤t_vector->ciphertext[16], 8, &plaintext[16]); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + //Calculate authentication tag + status = atcab_aes_gcm_decrypt_finish(&ctx, current_vector->tag, sizeof(current_vector->tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(current_vector->plaintext, plaintext, current_vector->text_size); + TEST_ASSERT(is_verified); +} + +TEST(atca_cmd_basic_test, aes_gcm_nist_vectors) +{ + ATCA_STATUS status; + uint8_t test_index; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint8_t ciphertext[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint8_t plaintext[GCM_TEST_VECTORS_DATA_SIZE_MAX]; + uint8_t tag[AES_DATA_SIZE]; + bool is_verified; + atca_aes_gcm_ctx_t ctx; + + check_config_aes_enable(); + + for (test_index = 0; test_index < (sizeof(gcm_test_cases) / sizeof(aes_gcm_test_vectors)); test_index++) + { + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, gcm_test_cases[test_index].key, 32); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + ////////////////////////////////////// Encryption ///////////////////////////////////////// + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, gcm_test_cases[test_index].iv, gcm_test_cases[test_index].iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, gcm_test_cases[test_index].aad, gcm_test_cases[test_index].aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Encrypt data + status = atcab_aes_gcm_encrypt_update(&ctx, gcm_test_cases[test_index].plaintext, gcm_test_cases[test_index].text_size, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Verify ciphertext with expected data + if (gcm_test_cases[test_index].text_size > 0) + { + TEST_ASSERT_EQUAL_MEMORY(gcm_test_cases[test_index].ciphertext, ciphertext, gcm_test_cases[test_index].text_size); + } + + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Verify calculated tag + TEST_ASSERT_EQUAL_MEMORY(gcm_test_cases[test_index].tag, tag, sizeof(tag)); + + // Repeat, but skip unused calls + if (gcm_test_cases[test_index].aad_size == 0 || gcm_test_cases[test_index].text_size == 0) + { + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, gcm_test_cases[test_index].iv, gcm_test_cases[test_index].iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + if (gcm_test_cases[test_index].aad_size > 0) + { + status = atcab_aes_gcm_aad_update(&ctx, gcm_test_cases[test_index].aad, gcm_test_cases[test_index].aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + } + + //Encrypt data + if (gcm_test_cases[test_index].text_size > 0) + { + status = atcab_aes_gcm_encrypt_update(&ctx, gcm_test_cases[test_index].plaintext, gcm_test_cases[test_index].text_size, ciphertext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT_EQUAL_MEMORY(gcm_test_cases[test_index].ciphertext, ciphertext, gcm_test_cases[test_index].text_size); + } + + //Calculate authentication tag + status = atcab_aes_gcm_encrypt_finish(&ctx, tag, sizeof(tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Verify calculated tag + TEST_ASSERT_EQUAL_MEMORY(gcm_test_cases[test_index].tag, tag, sizeof(tag)); + } + + + ////////////////////////////////////// Decryption ///////////////////////////////////////// + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, gcm_test_cases[test_index].iv, gcm_test_cases[test_index].iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, gcm_test_cases[test_index].aad, gcm_test_cases[test_index].aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add ciphertext to gcm + status = atcab_aes_gcm_decrypt_update(&ctx, gcm_test_cases[test_index].ciphertext, gcm_test_cases[test_index].text_size, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Verify plaintext with expected data + if (gcm_test_cases[test_index].text_size > 0) + { + TEST_ASSERT_EQUAL_MEMORY(plaintext, gcm_test_cases[test_index].plaintext, gcm_test_cases[test_index].text_size); + } + + status = atcab_aes_gcm_decrypt_finish(&ctx, gcm_test_cases[test_index].tag, sizeof(tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT(is_verified); + + // Repeat, but skip unused calls + if (gcm_test_cases[test_index].aad_size == 0 || gcm_test_cases[test_index].text_size == 0) + { + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, gcm_test_cases[test_index].iv, gcm_test_cases[test_index].iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + if (gcm_test_cases[test_index].aad_size > 0) + { + status = atcab_aes_gcm_aad_update(&ctx, gcm_test_cases[test_index].aad, gcm_test_cases[test_index].aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + } + + //Add ciphertext to gcm + if (gcm_test_cases[test_index].text_size > 0) + { + status = atcab_aes_gcm_decrypt_update(&ctx, gcm_test_cases[test_index].ciphertext, gcm_test_cases[test_index].text_size, plaintext); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Verify plaintext with expected data + TEST_ASSERT_EQUAL_MEMORY(plaintext, gcm_test_cases[test_index].plaintext, gcm_test_cases[test_index].text_size); + } + + status = atcab_aes_gcm_decrypt_finish(&ctx, gcm_test_cases[test_index].tag, sizeof(tag), &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + TEST_ASSERT(is_verified); + } + } +} + +TEST(atca_cmd_basic_test, aes_gcm_encrypt_cavp_vectors) +{ +#ifndef _WIN32 + TEST_IGNORE_MESSAGE("Test only available under windows."); +#else + ATCA_STATUS status; + FILE* req_file = NULL; + FILE* rsp_file = NULL; + uint8_t line[255]; + char *str, *name_value; + uint8_t key[128], iv[128], pt[128], ct[128], aad[128]; + size_t key_size, iv_size; + uint32_t text_size, aad_size; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + uint8_t cal_tag[AES_DATA_SIZE]; + size_t i; + uint16_t test_count = 0; + atca_aes_gcm_ctx_t ctx; + + check_config_aes_enable(); + + req_file = fopen("cryptoauthlib/test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.req", "r"); + TEST_ASSERT_NOT_NULL_MESSAGE(req_file, "Failed to open .req file"); + + rsp_file = fopen("cryptoauthlib/test/aes_gcm_cavp_vectors/gcmEncryptExtIV128.rsp", "w"); + TEST_ASSERT_NOT_NULL_MESSAGE(rsp_file, "Failed to open .rsp file"); + + time_t current_time; + current_time = time(NULL); + fprintf(rsp_file, "# Executed Vectors on %s", ctime(¤t_time)); + + do + { + if (NULL == (str = fgets(line, sizeof(line), req_file))) + { + continue; + } + + fputs(str, rsp_file); + if (!memcmp(str, "Key = ", strlen("Key = "))) + { + name_value = &line[strlen("Key = ")]; + key_size = strlen(name_value) / 2; + hex_to_data(name_value, key, key_size); + } + else if (!memcmp(str, "IV = ", strlen("IV = "))) + { + name_value = &line[strlen("IV = ")]; + iv_size = strlen(name_value) / 2; + hex_to_data(name_value, iv, iv_size); + } + else if (!memcmp(str, "PT = ", strlen("PT = "))) + { + name_value = &line[strlen("PT = ")]; + text_size = (uint32_t)strlen(name_value) / 2; + hex_to_data(name_value, pt, text_size); + } + else if (!memcmp(str, "AAD = ", strlen("AAD = "))) + { + name_value = &line[strlen("AAD = ")]; + aad_size = (uint32_t)strlen(name_value) / 2; + hex_to_data(name_value, aad, aad_size); + + //Process read vector + printf("%04d\r", test_count++); + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, key, 32); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, aad, aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add plaintext to gcm + status = atcab_aes_gcm_encrypt_update(&ctx, pt, text_size, ct); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Finish encrypt and get tag + status = atcab_aes_gcm_encrypt_finish(&ctx, cal_tag, sizeof(cal_tag)); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + fputs("CT = ", rsp_file); + for (i = 0; i < text_size; i++) + { + fprintf(rsp_file, "%02x", ct[i]); + } + fputs("\n", rsp_file); + + fputs("Tag = ", rsp_file); + for (i = 0; i < AES_DATA_SIZE; i++) + { + fprintf(rsp_file, "%02x", cal_tag[i]); + } + fputs("\n", rsp_file); + } + + + } + while (!feof(req_file)); + + fclose(req_file); + fclose(rsp_file); + printf("\n"); +#endif +} + +TEST(atca_cmd_basic_test, aes_gcm_decrypt_cavp_vectors) +{ +#ifndef _WIN32 + TEST_IGNORE_MESSAGE("Test only available under windows."); +#else + ATCA_STATUS status; + FILE* req_file = NULL; + FILE* rsp_file = NULL; + uint8_t line[255]; + char *str, *name_value; + uint8_t key[128], iv[128], pt[128], ct[128], aad[128], tag[128]; + size_t key_size, iv_size, tag_size; + uint32_t text_size, aad_size; + uint16_t key_id = ATCA_TEMPKEY_KEYID; + uint8_t aes_key_block = 0; + size_t i; + bool is_verified; + uint16_t test_count = 0; + atca_aes_gcm_ctx_t ctx; + + check_config_aes_enable(); + + req_file = fopen("cryptoauthlib/test/aes_gcm_cavp_vectors/gcmDecrypt128.req", "r"); + TEST_ASSERT_NOT_NULL_MESSAGE(req_file, "Failed to open .req file"); + + rsp_file = fopen("cryptoauthlib/test/aes_gcm_cavp_vectors/gcmDecrypt128.rsp", "w"); + TEST_ASSERT_NOT_NULL_MESSAGE(rsp_file, "Failed to open .rsp file"); + + time_t current_time; + current_time = time(NULL); + fprintf(rsp_file, "# Executed Vectors on %s", ctime(¤t_time)); + + do + { + if (NULL == (str = fgets(line, sizeof(line), req_file))) + { + continue; + } + + fputs(str, rsp_file); + if (!memcmp(str, "Key = ", strlen("Key = "))) + { + name_value = &line[strlen("Key = ")]; + key_size = strlen(name_value) / 2; + hex_to_data(name_value, key, key_size); + } + else if (!memcmp(str, "IV = ", strlen("IV = "))) + { + name_value = &line[strlen("IV = ")]; + iv_size = strlen(name_value) / 2; + hex_to_data(name_value, iv, iv_size); + } + else if (!memcmp(str, "CT = ", strlen("CT = "))) + { + name_value = &line[strlen("CT = ")]; + text_size = (uint32_t)strlen(name_value) / 2; + hex_to_data(name_value, ct, text_size); + } + else if (!memcmp(str, "AAD = ", strlen("AAD = "))) + { + name_value = &line[strlen("AAD = ")]; + aad_size = (uint32_t)strlen(name_value) / 2; + hex_to_data(name_value, aad, aad_size); + } + else if (!memcmp(str, "Tag = ", strlen("Tag = "))) + { + name_value = &line[strlen("Tag = ")]; + tag_size = strlen(name_value) / 2; + hex_to_data(name_value, tag, tag_size); + + //Process read vector + printf("%04d\r", test_count++); + // Load AES keys into TempKey + status = atcab_nonce_load(NONCE_MODE_TARGET_TEMPKEY, key, 32); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Initialize gcm ctx with IV + status = atcab_aes_gcm_init(&ctx, key_id, aes_key_block, iv, iv_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add aad to gcm + status = atcab_aes_gcm_aad_update(&ctx, aad, aad_size); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Add cipher to gcm + status = atcab_aes_gcm_decrypt_update(&ctx, ct, text_size, pt); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + //Complete GCM decrypt and validate tag + status = atcab_aes_gcm_decrypt_finish(&ctx, tag, tag_size, &is_verified); + TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); + + if (!is_verified) + { + fputs("FAIL\n", rsp_file); + } + else + { + fputs("PT = ", rsp_file); + for (i = 0; i < text_size; i++) + { + fprintf(rsp_file, "%02x", pt[i]); + } + fputs("\n", rsp_file); + } + } + } + while (!feof(req_file)); + + fclose(req_file); + fclose(rsp_file); + printf("\n"); +#endif +} + +// *INDENT-OFF* - Preserve formatting +t_test_case_info aes_gcm_basic_test_info[] = +{ + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gcm_nist_vectors), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gcm_encrypt_partial_blocks), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gcm_decrypt_partial_blocks), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gcm_encrypt_cavp_vectors), DEVICE_MASK(ATECC608A) }, + { REGISTER_TEST_CASE(atca_cmd_basic_test, aes_gcm_decrypt_cavp_vectors), DEVICE_MASK(ATECC608A) }, + { (fp_test_case)NULL, (uint8_t)0 }, /* Array Termination element*/ +}; + +// *INDENT-ON* diff --git a/test/atca_tests_counter.c b/test/atca_tests_counter.c index 02bb7e275..32deebc4c 100644 --- a/test/atca_tests_counter.c +++ b/test/atca_tests_counter.c @@ -118,7 +118,7 @@ TEST(atca_cmd_basic_test, counter_match) // Read the current counter 0 value status = atcab_counter_read(0, &counter0_value); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - printf("Starting counter 0: %u\r\n", counter0_value); + printf("Starting counter 0: %u\r\n", (unsigned int)counter0_value); // Increase the counter 0 value so that it is aligned to multiple of 32-counter_limit while ((uint8_t)(counter0_value % 32) < (32 - 1)) @@ -126,7 +126,7 @@ TEST(atca_cmd_basic_test, counter_match) status = atcab_counter_increment(0, &counter0_value); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); } - printf("Incrementing counter 0 to 32-byte boundary: %u\r\n", counter0_value); + printf("Incrementing counter 0 to 32-byte boundary: %u\r\n", (unsigned int)counter0_value); // Update the counter match value counter_match = counter0_value + 1; // Calculate the counter match value to be written in slot @@ -134,7 +134,7 @@ TEST(atca_cmd_basic_test, counter_match) TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcab_write_bytes_zone(ATCA_ZONE_DATA, 10, 0, counter_match_slot_data, sizeof(counter_match_slot_data)); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - printf("Setting counter match to: %u\r\n", counter_match); + printf("Setting counter match to: %u\r\n", (unsigned int)counter_match); // Generate random message status = atcab_random(msg); @@ -151,7 +151,7 @@ TEST(atca_cmd_basic_test, counter_match) // Validate counter change status = atcab_counter_read(0, &counter0_value); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - printf("Counter 0 after successful sign: %u\r\n", counter0_value); + printf("Counter 0 after successful sign: %u\r\n", (unsigned int)counter0_value); TEST_ASSERT_EQUAL(counter_match, counter0_value); // Counter should now equal the counter match value // Verify signature @@ -166,7 +166,7 @@ TEST(atca_cmd_basic_test, counter_match) // Validate counter doesn't change status = atcab_counter_read(0, &counter0_value); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); - printf("Counter 0 after failed sign: %u\r\n", counter0_value); + printf("Counter 0 after failed sign: %u\r\n", (unsigned int)counter0_value); TEST_ASSERT_EQUAL(counter_match, counter0_value); // Counter should not increment after reaching counter match // Set counter match value to high limit so the slot can be used for other tests diff --git a/test/atca_tests_sha.c b/test/atca_tests_sha.c index 5f073e310..c7c1743ef 100644 --- a/test/atca_tests_sha.c +++ b/test/atca_tests_sha.c @@ -222,7 +222,7 @@ static void hex_to_uint8(const char hex_str[2], uint8_t* num) TEST_FAIL_MESSAGE("Not a hex digit."); } } -static void hex_to_data(const char* hex_str, uint8_t* data, size_t data_size) +void hex_to_data(const char* hex_str, uint8_t* data, size_t data_size) { size_t i = 0;