1 /******************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
20 ******************************************************************/
22 #ifndef __JNIOCSECURITY_H
23 #define __JNIOCSECURITY_H
36 static size_t getDBSize(const char *filepath);
37 static OCStackResult ResetDBFile(const char *cred_file);
38 static size_t client_read(void *buffer, size_t size, size_t nmemb, FILE *fp);
40 static size_t client_write(const void *buffer, size_t size,
41 size_t nmemb, FILE *fp);
42 static FILE* client_open(const char*, const char*);
43 static FILE* client_open_enc(const char*, const char*);
44 static FILE* client_open_rescue(const char*, const char*);
45 static int client_unlink(const char *path);
46 static int client_encrypt(const unsigned char *pt, size_t pt_len,
47 unsigned char **ct, size_t *ct_len);
48 static int client_decrypt(const unsigned char *ct, size_t ct_len,
49 unsigned char **pt, size_t *pt_len);
51 static std::string& store_path(void);
52 static std::string& getEncDbPath(void);
53 static std::string& getRescueDbPath(void);
54 static void StoreDbPath(const std::string&);
55 static void StoreDefault_DbPath(const std::string&, const std::string&, int);
56 static OCPersistentStorage* getOCPersistentStorage(void);
57 static OCPersistentStorage* getOCPersistentStorageEnc(void);
58 static OCPersistentStorage* getOCPersistentStorageRescue(void);
62 #endif //__JNIOCSECURITY_H