RIC:1060: Change in PTL
[ric-plt/e2.git] / RIC-E2-TERMINATION / base64.h
1 /*
2  * Copyright 2019 AT&T Intellectual Property
3  * Copyright 2019 Nokia
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17  
18  /*
19  * This source code is part of the near-RT RIC (RAN Intelligent Controller)
20  * platform project (RICP).
21  */
22
23 //
24 // Created by adi ENZEL on 9/26/19.
25 //
26
27 #ifndef E2_BASE64_H
28 #define E2_BASE64_H
29
30 #include <mdclog/mdclog.h>
31 #include <cstring>
32 #include <zconf.h>
33
34 static const unsigned char base64_table[65] =
35         "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
36
37 #define INVERSE_TABLE_SIZE 256
38
39 class base64 {
40 public:
41     /**
42      *
43      * @param src
44      * @param srcLen
45      * @param dst
46      * @param dstLen
47      * @return 0 = OK -1 fault
48      */
49     static int encode(const unsigned char *src, int srcLen, char unsigned *dst, long &dstLen);
50     /**
51      *
52      * @param src
53      * @param srcLen
54      * @param dst
55      * @param dstLen
56      * @return 0 = OK -1 fault
57      */
58     static int decode(const unsigned char *src, int srcLen, char unsigned *dst, long dstLen);
59
60 };
61
62
63 #endif //E2_BASE64_H