Virtru SDK for C++  2.8.0
Virtru C++ SDK library - Create, Read, and Manage TDF3 Files
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
virtru_client_c.h
Go to the documentation of this file.
1 /*
2 * Copyright © 2018 - 2019 Virtru Corporation
3 *
4 * SPDX - License - Identifier: MIT
5 *
6 */
7 //
8 // Virtru TDF3 SDK
9 //
10 // Created by Sujan Reddy on 2019/10/18.
11 //
12 
13 #ifndef __VIRTRU_CLIENT_C_H
14 #define __VIRTRU_CLIENT_C_H
15 
16 #include "virtru_constants_c.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21  DLL_PUBLIC VSTATUS VFreeMemory(void* vMemoryPtr);
24 
34  DLL_PUBLIC VClientPtr VClientCreateWithAppId(const char* owner, const char* appId);
35 
46  DLL_PUBLIC VClientPtr VClientCreateWithHMAC(const char* owner, const char* apiKey, const char* apiSecret);
47 
56  DLL_PUBLIC VClientPtr VClientCreateWithOIDC(const char* owner, const char* organizationName, const char* clientId, const char* clientSecret);
57 
60  DLL_PUBLIC void VClientDestroy(VClientPtr vClientPtr);
61 
65 
72  DLL_PUBLIC VSTATUS VSetProtocol(VClientPtr vClientPtr, VProtocol vProtocol);
73 
79  DLL_PUBLIC VSTATUS VSetOffline(VClientPtr vClientPtr, bool state);
80 
88  DLL_PUBLIC VSTATUS VClientEncryptFile(VClientPtr vClientPtr, VEncryptFileParamsPtr vEncryptFileParamsPtr, char** outPolicyId);
89 
95  DLL_PUBLIC VSTATUS VClientDecryptFile(VClientPtr vClientPtr, const char* inFilepath, const char* outFilepath);
96 
106  DLL_PUBLIC VSTATUS VClientEncryptString(VClientPtr vClientPtr, VEncryptStringParamsPtr vEncryptStringParamsPtr,
107  char** outPolicyId, VBytesPtr* outBytesPtr, VBytesLength* outBytesLength);
108 
118  VBytesLength inBytesLength, VBytesPtr* outBytesPtr, VBytesLength* outBytesLength);
119 
126  DLL_PUBLIC VSTATUS VClientFetchPolicyForUUID(VClientPtr vClientPtr, const char* policyUUID, VPolicyPtr* vPolicyPtr);
127 
132  DLL_PUBLIC VSTATUS VClientSetKasUrl(VClientPtr vClientPtr, const char* kasUrl);
133 
138  DLL_PUBLIC VSTATUS VClientSetOIDCProviderUrl(VClientPtr vClientPtr, const char* oidcUrl);
139 
145  DLL_PUBLIC VSTATUS VClientSetEasUrl(VClientPtr vClientPtr, const char* easUrl);
146 
147 
152  DLL_PUBLIC VSTATUS VClientSetAcmUrl(VClientPtr vClientPtr, const char* acmUrl);
153 
158  DLL_PUBLIC VSTATUS VClientSetSecureReaderUrl(VClientPtr vClientPtr, const char* srUrl);
159 
160 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif // __VIRTRU_CLIENT_C_H
unsigned char * VBytesPtr
Definition: virtru_constants_c.h:82
DLL_PUBLIC VSTATUS VSetOffline(VClientPtr vClientPtr, bool state)
DLL_PUBLIC VSTATUS VEnableConsoleLogging(VClientPtr vClientPtr, VLogLevel logLevel)
DLL_PUBLIC VSTATUS VClientDecryptFile(VClientPtr vClientPtr, const char *inFilepath, const char *outFilepath)
DLL_PUBLIC VClientPtr VClientCreateWithOIDC(const char *owner, const char *organizationName, const char *clientId, const char *clientSecret)
DLL_PUBLIC VSTATUS VClientSetOIDCProviderUrl(VClientPtr vClientPtr, const char *oidcUrl)
DLL_PUBLIC VSTATUS VClientEncryptFile(VClientPtr vClientPtr, VEncryptFileParamsPtr vEncryptFileParamsPtr, char **outPolicyId)
DLL_PUBLIC VSTATUS VFreeMemory(void *vMemoryPtr)
VSTATUS
Definition: virtru_constants_c.h:48
DLL_PUBLIC VSTATUS VClientSetAcmUrl(VClientPtr vClientPtr, const char *acmUrl)
void * VClientPtr
Definition: virtru_constants_c.h:71
unsigned int VBytesLength
Definition: virtru_constants_c.h:84
const unsigned char * VCBytesPtr
Definition: virtru_constants_c.h:83
DLL_PUBLIC VClientPtr VClientCreateWithAppId(const char *owner, const char *appId)
DLL_PUBLIC void VClientDestroy(VClientPtr vClientPtr)
DLL_PUBLIC VClientPtr VClientCreateWithHMAC(const char *owner, const char *apiKey, const char *apiSecret)
void * VPolicyPtr
Definition: virtru_constants_c.h:80
DLL_PUBLIC VSTATUS VClientDecryptString(VClientPtr vClientPtr, VCBytesPtr inBytesPtr, VBytesLength inBytesLength, VBytesPtr *outBytesPtr, VBytesLength *outBytesLength)
DLL_PUBLIC VSTATUS VClientSetSecureReaderUrl(VClientPtr vClientPtr, const char *srUrl)
#define DLL_PUBLIC
Definition: virtru_constants_c.h:38
DLL_PUBLIC VSTATUS VSetProtocol(VClientPtr vClientPtr, VProtocol vProtocol)
VProtocol
Definition: virtru_constants_c.h:55
DLL_PUBLIC VSTATUS VClientFetchPolicyForUUID(VClientPtr vClientPtr, const char *policyUUID, VPolicyPtr *vPolicyPtr)
void * VEncryptFileParamsPtr
Definition: virtru_constants_c.h:74
DLL_PUBLIC VSTATUS VClientSetKasUrl(VClientPtr vClientPtr, const char *kasUrl)
DLL_PUBLIC VSTATUS VClientSetEasUrl(VClientPtr vClientPtr, const char *easUrl)
DLL_PUBLIC VSTATUS VClientEncryptString(VClientPtr vClientPtr, VEncryptStringParamsPtr vEncryptStringParamsPtr, char **outPolicyId, VBytesPtr *outBytesPtr, VBytesLength *outBytesLength)
VLogLevel
Defines a log level.
Definition: virtru_constants_c.h:61
void * VEncryptStringParamsPtr
Definition: virtru_constants_c.h:77