fota lib for mdot

Dependents:   UQ_LoraWAN

Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Fri Sep 14 15:39:09 2018 -0500
Revision:
3:63d10f2375ea
fota lib updates

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 1 /**************************************************************************
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 2 Copyright (C) 2009 Lander Casado, Philippas Tsigas
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 3
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 4 All rights reserved.
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 5
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 6 Permission is hereby granted, free of charge, to any person obtaining
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 7 a copy of this software and associated documentation files
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 8 (the "Software"), to deal with the Software without restriction, including
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 9 without limitation the rights to use, copy, modify, merge, publish,
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 10 distribute, sublicense, and/or sell copies of the Software, and to
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 11 permit persons to whom the Software is furnished to do so, subject to
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 12 the following conditions:
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 13
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 14 Redistributions of source code must retain the above copyright notice,
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 15 this list of conditions and the following disclaimers. Redistributions in
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 16 binary form must reproduce the above copyright notice, this list of
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 17 conditions and the following disclaimers in the documentation and/or
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 18 other materials provided with the distribution.
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 19
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 20 In no event shall the authors or copyright holders be liable for any special,
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 21 incidental, indirect or consequential damages of any kind, or any damages
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 22 whatsoever resulting from loss of use, data or profits, whether or not
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 23 advised of the possibility of damage, and on any theory of liability,
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 24 arising out of or in connection with the use or performance of this software.
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 25
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 26 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 27 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 28 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 29 CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 30 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 31 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 32 DEALINGS WITH THE SOFTWARE
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 33
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 34 *****************************************************************************/
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 35
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 36 #ifndef _CMAC_H_
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 37 #define _CMAC_H_
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 38
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 39 #include "casado/aes.h"
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 40
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 41 #ifdef __cplusplus
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 42 extern "C" {
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 43 #endif
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 44
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 45 #define AES_CMAC_KEY_LENGTH 16
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 46 #define AES_CMAC_DIGEST_LENGTH 16
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 47
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 48
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 49 typedef unsigned char u_int8_t;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 50 typedef unsigned int u_int;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 51 typedef struct _AES_CMAC_CTX {
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 52 aes_context rijndael;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 53 u_int8_t X[16];
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 54 u_int8_t M_last[16];
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 55 u_int M_n;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 56 } AES_CMAC_CTX;
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 57
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 58 //#include <sys/cdefs.h>
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 59
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 60 //__BEGIN_DECLS
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 61 void AES_CMAC_Init(AES_CMAC_CTX * ctx);
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 62 void AES_CMAC_SetKey(AES_CMAC_CTX * ctx, const u_int8_t key[AES_CMAC_KEY_LENGTH]);
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 63 void AES_CMAC_Update(AES_CMAC_CTX * ctx, const u_int8_t * data, u_int len);
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 64 // __attribute__((__bounded__(__string__,2,3)));
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 65 void AES_CMAC_Final(u_int8_t digest[AES_CMAC_DIGEST_LENGTH], AES_CMAC_CTX * ctx);
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 66 // __attribute__((__bounded__(__minbytes__,1,AES_CMAC_DIGEST_LENGTH)));
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 67 //__END_DECLS
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 68
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 69 #ifdef __cplusplus
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 70 }
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 71 #endif
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 72
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 73 #endif /* _CMAC_H_ */
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 74
Jenkins@KEILDM1.dc.multitech.prv 3:63d10f2375ea 75