Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
protection_handler_cc.h
Go to the documentation of this file.
1/*
2*
3* Copyright (c) Microsoft Corporation.
4* All rights reserved.
5*
6* This code is licensed under the MIT License.
7*
8* Permission is hereby granted, free of charge, to any person obtaining a copy
9* of this software and associated documentation files(the "Software"), to deal
10* in the Software without restriction, including without limitation the rights
11* to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12* copies of the Software, and to permit persons to whom the Software is
13* furnished to do so, subject to the following conditions :
14*
15* The above copyright notice and this permission notice shall be included in
16* all copies or substantial portions of the Software.
17*
18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24* THE SOFTWARE.
25*
26*/
27/**
28* @brief Defines C-Style ProtectionHandler interface
29*
30* @file protection_handler_cc.h
31*/
32
33#ifndef API_MIP_PROTECTION_PROTECTION_HANDLER_CC_H_
34#define API_MIP_PROTECTION_PROTECTION_HANDLER_CC_H_
35
36#include <stdint.h>
37
39#include "mip_cc/error_cc.h"
42#include "mip_cc/result_cc.h"
44
48
49/**
50* @brief Defines pre-license format
51*/
52typedef enum {
53 MIP_PRE_LICENSE_FORMAT_XML = 0, /**< Legacy XML/SOAP format used by MSIPC */
54 MIP_PRE_LICENSE_FORMAT_JSON = 1, /**< JSON/REST format used by MIP SDK and RMS SDK */
56
57/**
58 * @brief Create a settings object used to create a protection handler for publishing new content
59 *
60 * @param descriptor Protection details
61 * @param settings [Output] Newly-created settings instance
62 * @param errorInfo [Output] (Optional) Failure info if operation result is error
63 *
64 * @return Result code indicating success or failure
65 */
66MIP_CC_API(mip_cc_result) MIP_CC_CreateProtectionHandlerPublishingSettings(
70
71/**
72 * @brief Sets whether or not deprecated crypto algorithm (ECB) is preferred for backwards compatibility
73 *
74 * @param settings Protection handler settings
75 * @param isDeprecatedAlgorithmPreferred Whether or not deprecated algorithm is preferred
76 * @param errorInfo [Output] (Optional) Failure info if operation result is error
77 *
78 * @return Result code indicating success or failure
79 */
80MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetIsDeprecatedAlgorithmPreferred(
84
85/**
86 * @brief Sets whether or not non-MIP-aware applications are allowed to open protected content
87 *
88 * @param settings Protection handler settings
89 * @param isAuditedExtractionAllowed Whether or not non-MIP-aware applications are allowed to open protected content
90 * @param errorInfo [Output] (Optional) Failure info if operation result is error
91 *
92 * @return Result code indicating success or failure
93 */
94MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetIsAuditedExtractionAllowed(
98
99/**
100 * @brief Sets whether or not PL is in JSON format (default is XML)
101 *
102 * @param settings Protection handler settings
103 * @param isPublishingFormatJson Whether or not resulting PL should be in JSON format
104 * @param errorInfo [Output] (Optional) Failure info if operation result is error
105 *
106 * @return Result code indicating success or failure
107 */
108MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetIsPublishingFormatJson(
112
113/**
114 * @brief Sets delegated user
115 *
116 * @param settings Protection handler settings
117 * @param delegatedUserEmail Email address of delegated user
118 * @param errorInfo [Output] (Optional) Failure info if operation result is error
119 *
120 * @return Result code indicating success or failure
121 *
122 * @note A delegated user is specified when the authenticating user/application is acting on behalf of another user
123 */
124MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetDelegatedUserEmail(
128
129/**
130 * @brief Sets pre-license user
131 *
132 * @param settings Protection handler settings
133 * @param preLicenseUserEmail Email address of pre-license user
134 * @param errorInfo [Output] (Optional) Failure info if operation result is error
135 *
136 * @return Result code indicating success or failure
137 *
138 * @note A pre-license user is specified when a pre-license should be fetched when publishing
139 */
140MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetPreLicenseUserEmail(
144
145
146/**
147 * @brief Sets application scenario Id
148 *
149 * @param settings Protection handler settings
150 * @param applicationScenarioId application scenario Id
151 * @param errorInfo [Output] (Optional) Failure info if operation result is error
152 *
153 * @return Result code indicating success or failure
154 *
155 */
156MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetApplicationScenarioId(
160
161/**
162 * @brief Configures custom settings, used for feature gating and testing.
163 *
164 * @param settings Protection handler settings
165 * @param customSettings Key/value pairs of custom settings
166 * @param errorInfo [Output] (Optional) Failure info if operation result is error
167 *
168 * @return Result code indicating success or failure
169 */
170MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerPublishingSettings_SetCustomSettings(
174
175/**
176 * @brief Create a settings object used to create a protection handler for consuming existing content
177 *
178 * @param publishingLicenseBuffer Buffer containing raw publishing license
179 * @param publishingLicenseBufferSize Size of publishing license buffer
180 * @param settings [Output] Newly-created settings instance
181 * @param errorInfo [Output] (Optional) Failure info if operation result is error
182 *
183 * @return Result code indicating success or failure
184 */
185MIP_CC_API(mip_cc_result) MIP_CC_CreateProtectionHandlerConsumptionSettings(
186 const uint8_t* publishingLicenseBuffer,
190
191/**
192 * @brief Create a settings object used to create a protection handler for consuming existing content
193 *
194 * @param preLicenseBuffer Buffer containing raw pre license buffer
195 * @param preLicenseBufferSize Size of pre license buffer
196 * @param publishingLicenseBuffer Buffer containing raw publishing license
197 * @param publishingLicenseBufferSize Size of publishing license buffer
198 * @param settings [Output] Newly-created settings instance
199 * @param errorInfo [Output] (Optional) Failure info if operation result is error
200 *
201 * @return Result code indicating success or failure
202 */
203MIP_CC_API(mip_cc_result) MIP_CC_CreateProtectionHandlerConsumptionSettingsWithPreLicense(
204 const uint8_t* preLicenseBuffer,
205 const int64_t preLicenseBufferSize,
207 const int64_t publishingLicenseBufferSize,
210
211/**
212 * @brief Sets whether or not protection handler creation permits online HTTP operations
213 *
214 * @param settings Protection handler settings
215 * @param isOfflineOnly True if HTTP operations are forbidden, else false
216 * @param errorInfo [Output] (Optional) Failure info if operation result is error
217 *
218 * @return Result code indicating success or failure
219 *
220 * @note If this is set to true, protection handler creation will only succeed if content has already been previously
221 * decrypted and its unexpired license is cached. A MIP_RESULT_ERROR_NETWORK result will be returned if cached
222 * content is not found.
223 */
224MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_SetIsOfflineOnly(
226 const bool isOfflineOnly,
228
229/**
230 * @brief Sets delegated user
231 *
232 * @param settings Protection handler settings
233 * @param delegatedUserEmail Email address of delegated user
234 * @param errorInfo [Output] (Optional) Failure info if operation result is error
235 *
236 * @return Result code indicating success or failure
237 *
238 * @note A delegated user is specified when the authenticating user/application is acting on behalf of another user
239 */
240MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_SetDelegatedUserEmail(
242 const char* delegatedUserEmail,
244
245/**
246 * @brief Sets application scenario Id
247 *
248 * @param settings Protection handler settings
249 * @param applicationScenarioId application scenario Id
250 * @param errorInfo [Output] (Optional) Failure info if operation result is error
251 *
252 * @return Result code indicating success or failure
253 *
254 */
255MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_SetApplicationScenarioId(
257 const char* applicationScenarioId,
259
260/**
261 * @brief Configures custom settings, used for feature gating and testing.
262 *
263 * @param settings Protection handler settings
264 * @param customSettings Key/value pairs of custom settings
265 * @param errorInfo [Output] (Optional) Failure info if operation result is error
266 *
267 * @return Result code indicating success or failure
268 */
269MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_SetCustomSettings(
273
274/**
275 * @brief Gets size of publishing license (in bytes)
276 *
277 * @param handler Handler representing protected content
278 * @param publishingLicenseBufferSize [Output] Size of publishing license (in bytes)
279 * @param errorInfo [Output] (Optional) Failure info if operation result is error
280 *
281 * @return Result code indicating success or failure
282 */
283MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetSerializedPublishingLicenseSize(
287
288/**
289 * @brief Gets publishing license
290 *
291 * @param handler Handler representing protected content
292 * @param publishingLicenseBuffer [Output] Buffer to which publishing license will be written
293 * @param publishingLicenseBufferSize Size of publishing license buffer
294 * @param actualPublishingLicenseSize [Output] Actual size of publishing license (in bytes)
295 * @param errorInfo [Output] (Optional) Failure info if operation result is error
296 *
297 * @return Result code indicating success or failure
298 *
299 * @note If publishingLicenseBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and
300 * actualPublishingLicenseSize will be set to the minimum required buffer size.
301 */
302MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetSerializedPublishingLicense(
305 const int64_t publishingLicenseBufferSize,
308
309/**
310 * @brief Gets size of pre-license (in bytes)
311 *
312 * @param handler Handler representing protected content
313 * @param format Pre-license format
314 * @param preLicenseBufferSize [Output] Size of pre-license (in bytes)
315 * @param errorInfo [Output] (Optional) Failure info if operation result is error
316 *
317 * @return Result code indicating success or failure
318 */
319MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetSerializedPreLicenseSize(
322 int64_t* preLicenseBufferSize,
324
325/**
326 * @brief Gets pre-license
327 *
328 * @param handler Handler representing protected content
329 * @param format Pre-license format
330 * @param preLicenseBuffer [Output] Buffer to which pre-license will be written
331 * @param preLicenseBufferSize Size of pre-license buffer
332 * @param actualPreLicenseSize [Output] Actual size of pre-license (in bytes)
333 * @param errorInfo [Output] (Optional) Failure info if operation result is error
334 *
335 * @return Result code indicating success or failure
336 *
337 * @note If preLicenseBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and
338 * actualPreLicenseSize will be set to the minimum required buffer size.
339 */
340MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetSerializedPreLicense(
344 const int64_t preLicenseBufferSize,
347
348/**
349 * @brief Gets protection descriptor
350 *
351 * @param handler Handler representing protected content
352 * @param descriptor [Output] Protection descriptor
353 * @param errorInfo [Output] (Optional) Failure info if operation result is error
354 *
355 * @return Result code indicating success or failure
356 */
357MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetProtectionDescriptor(
361
362/**
363 * @brief Gets list of rights granted to a user
364 *
365 * @param handler Handler representing protected content
366 * @param rights [Output] List of rights granted to a user, memory owned by caller
367 * @param errorInfo [Output] (Optional) Failure info if operation result is error
368 *
369 * @return Result code indicating success or failure
370 *
371 * @note The 'rights' variable must be released by the caller by calling MIP_CC_ReleaseStringList
372 */
373MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetRights(
377
378/**
379 * @brief Calculates size of protected content, factoring in padding, etc.
380 *
381 * @param handler Handler representing protected content
382 * @param unprotectedSize Size of unprotected/cleartext content (in bytes)
383 * @param includesFinalBlock Describes if the unprotected content in question includes the final block or not.
384 * For example, in CBC4k encryption mode, non-final protected blocks are the same size as unprotected blocks, but
385 * final protected blocks are larger than their unprotected counterparts.
386 * @param protectedSize [Output] Size of protected content
387 * @param errorInfo [Output] (Optional) Failure info if operation result is error
388 *
389 * @return Result code indicating success or failure
390 */
391MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetProtectedContentSize(
393 const int64_t unprotectedSize,
397
398/**
399 * @brief Gets the block size (in bytes) for the cipher mode used by a protection handler
400 *
401 * @param handler Handler representing protected content
402 * @param blockSize [Output] Block size (in bytes)
403 * @param errorInfo [Output] (Optional) Failure info if operation result is error
404 *
405 * @return Result code indicating success or failure
406 */
407MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetBlockSize(
409 int64_t* blockSize,
411
412/**
413 * @brief Gets size of buffer required to store user that has been granted access to protected content
414 *
415 * @param handler Handler representing protected content
416 * @param issuedUserSize [Output] Size of buffer to hold issued user (in number of chars)
417 * @param errorInfo [Output] (Optional) Failure info if operation result is error
418 *
419 * @return Result code indicating success or failure
420 */
421MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetIssuedUserSize(
425
426/**
427 * @brief Gets the user that has been granted access to protected content
428 *
429 * @param handler Handler representing protected content
430 * @param issuedUserBuffer [Output] Buffer the issued user will be copied into.
431 * @param issuedUserBufferSize Size (in number of chars) of the issuedUserBuffer.
432 * @param actualIssuedUserSize [Output] Number of chars written to the buffer
433 * @param errorInfo [Output] (Optional) Failure info if operation result is error
434 *
435 * @return Result code indicating success or failure
436 *
437 * @note If issuedUserBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and
438 * actualIssuedUserSize will be set to the minimum required buffer size.
439 */
440MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetIssuedUser(
443 const int64_t issuedUserBufferSize,
446
447/**
448 * @brief Gets size of buffer required to store the owner of protected content
449 *
450 * @param handler Handler representing protected content
451 * @param ownerSize [Output] Size of buffer to hold issued user (in number of chars)
452 * @param errorInfo [Output] (Optional) Failure info if operation result is error
453 *
454 * @return Result code indicating success or failure
455 */
456MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetOwnerSize(
458 int64_t* ownerSize,
460
461/**
462 * @brief Gets the owner of protected content
463 *
464 * @param handler Handler representing protected content
465 * @param ownerBuffer [Output] Buffer the issued user will be copied into.
466 * @param ownerBufferSize Size (in number of chars) of the ownerBuffer.
467 * @param actualOwnerSize [Output] Number of chars written to the buffer
468 * @param errorInfo [Output] (Optional) Failure info if operation result is error
469 *
470 * @return Result code indicating success or failure
471 *
472 * @note If ownerBuffer is null or insufficient, MIP_RESULT_ERROR_INSUFFICIENT_BUFFER will be returned and
473 * actualOwnerSize will be set to the minimum required buffer size.
474 */
475MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetOwner(
478 const int64_t ownerBufferSize,
481
482/**
483 * @brief Gets the content IE of protected content
484 *
485 * @param handler Handler representing protected content
486 * @param contentId [Output] Content ID
487 * @param errorInfo [Output] (Optional) Failure info if operation result is error
488 *
489 * @note Publishing licenses will have this identifier surrounded by curly braces "{}".
490 * Those braces are removed from the value stored in contentId
491 *
492 * @return Result code indicating success or failure
493 */
494MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetContentId(
498
499/**
500 * @brief Gets whether or not protection handler uses deprecated crypto algorithm (ECB) for backwards compatibility
501 *
502 * @param handler Handler representing protected content
503 * @param doesUseDeprecatedAlgorithm [Output] Whether or not protection handler uses deprecated crypto algorithm
504 * @param errorInfo [Output] (Optional) Failure info if operation result is error
505 *
506 * @return Result code indicating success or failure
507 */
508MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_DoesUseDeprecatedAlgorithm(
512
513/**
514 * @brief Encrypt a buffer
515 *
516 * @param offsetFromStart Relative position of inputBuffer from the very beginning of the cleartext content
517 * @param inputBuffer Buffer of cleartext content that will be encrypted
518 * @param inputBufferSize Size (in bytes) of input buffer
519 * @param outputBuffer [Output] Buffer into which encrypted content will be copied
520 * @param outputBufferSize Size (in bytes) of output buffer
521 * @param isFinal If input buffer contains the final cleartext bytes or not
522 * @param actualEncryptedSize [Output] Actual size of encrypted content (in bytes)
523 * @param errorInfo [Output] (Optional) Failure info if operation result is error
524 *
525 * @return Result code indicating success or failure
526 */
527MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_EncryptBuffer(
529 const int64_t offsetFromStart,
530 const uint8_t* inputBuffer,
531 const int64_t inputBufferSize,
532 uint8_t* outputBuffer,
533 const int64_t outputBufferSize,
534 const bool isFinal,
537
538/**
539 * @brief Decrypt a buffer
540 *
541 * @param offsetFromStart Relative position of inputBuffer from the very beginning of the encrypted content
542 * @param inputBuffer Buffer of encrypted content that will be decrypted
543 * @param inputBufferSize Size (in bytes) of input buffer
544 * @param outputBuffer [Output] Buffer into which decrypted content will be copied
545 * @param outputBufferSize Size (in bytes) of output buffer
546 * @param isFinal If input buffer contains the final encrypted bytes or not
547 * @param actualDecryptedSize [Output] Actual size of encrypted content (in bytes)
548 * @param errorInfo [Output] (Optional) Failure info if operation result is error
549 *
550 * @return Result code indicating success or failure
551 */
552MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_DecryptBuffer(
554 const int64_t offsetFromStart,
555 const uint8_t* inputBuffer,
556 const int64_t inputBufferSize,
557 uint8_t* outputBuffer,
558 const int64_t outputBufferSize,
559 const bool isFinal,
562
563/**
564 * @brief Gets the cipher mode of the protection handler
565 *
566 * @param handler Handler representing protected content
567 * @param cipherMode [Output] The cipher mode
568 * @param errorInfo [Output] (Optional) Failure info if operation result is error
569 *
570 * @return Result code indicating success or failure
571 */
572MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandler_GetCipherMode(
576
577/**
578 * @brief Release resources associated with a protection handler settings
579 *
580 * @param settings Protection handler settings to be released
581 */
582MIP_CC_API(void) MIP_CC_ReleaseProtectionHandlerPublishingSettings(mip_cc_protection_handler_publishing_settings settings);
583
584/**
585 * @brief Release resources associated with a protection handler settings
586 *
587 * @param settings Protection handler settings to be released
588 */
589MIP_CC_API(void) MIP_CC_ReleaseProtectionHandlerConsumptionSettings(mip_cc_protection_handler_consumption_settings settings);
590
591/**
592 * @brief Add a capability to the set of capabilities supported when calling RMS
593 *
594 * @param consumptionSettings Consumption handler settings
595 * @param capability The capability to add to indicate a supported feature to RMS
596 * @param errorInfo [Output] (Optional) Failure info if operation result is error
597 *
598 * @return Result code indicating success or failure
599 */
600MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_AddRmsCapability(
601 const mip_cc_protection_handler_consumption_settings consumptionSettings,
602 const char* capability,
604
605/**
606 * @brief Remove a capability from the set of capabilities supported when calling RMS
607 *
608 * @param consumptionSettings Consumption handler settings
609 * @param capability The capability to remove from the supported features in RMS
610 * @param removed [Output] A boolean indiciating if the supplied capability was removed.
611 * @param errorInfo [Output] (Optional) Failure info if operation result is error
612 *
613 * @return Result code indicating success or failure
614 */
615MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_RemoveRmsCapability(
616 const mip_cc_protection_handler_consumption_settings consumptionSettings,
617 const char* capability,
618 bool* removed,
620
621/**
622 * @brief Gets the set of supported capabilities being passed to RMS
623 *
624 * @param consumptionSettings Consumption handler settings
625 * @param capabilities [Output] Gets the list of capabilities being passed to RMS
626 * @param errorInfo [Output] (Optional) Failure info if operation result is error
627 *
628 * @return Result code indicating success or failure
629 *
630 * @note The returned 'capabilities' (mip_cc_string_list*) must be freed by
631 * calling MIP_CC_ReleaseStringList.
632*/
633MIP_CC_API(mip_cc_result) MIP_CC_ProtectionHandlerConsumptionSettings_GetRmsCapability (
634 const mip_cc_protection_handler_consumption_settings consumptionSettings,
637
638/**
639 * @brief Release resources associated with a protection handler
640 *
641 * @param handler Protection handler to be released
642 */
643MIP_CC_API(void) MIP_CC_ReleaseProtectionHandler(mip_cc_protection_handler handler);
644#endif // API_MIP_PROTECTION_PROTECTION_HANDLER_CC_H_
A file Containing the common types used by the upe, file and protection modules.
Error definition and functions.
Defines C-Style crypto types.
mip_cc_cipher_mode
Cipher mode identifier.
Defines C-Style ProtectionDescriptor interface.
const mip_cc_protection_handler_publishing_settings const void mip_cc_protection_handler * handler
mip_cc_protection_handler_publishing_settings mip_cc_error * errorInfo
const int64_t const uint8_t const int64_t uint8_t const int64_t const bool isFinal
const int64_t const uint8_t const int64_t uint8_t const int64_t const bool int64_t * actualDecryptedSize
char const int64_t issuedUserBufferSize
const char bool * removed
const int64_t const uint8_t * inputBuffer
char const int64_t int64_t * actualIssuedUserSize
mip_cc_protection_descriptor * descriptor
const int64_t publishingLicenseBufferSize
const int64_t offsetFromStart
mip_cc_guid * contentId
char const int64_t int64_t * actualOwnerSize
mip_cc_protection_handler_publishing_settings * settings
const bool isDeprecatedAlgorithmPreferred
mip_cc_pre_license_format uint8_t * preLicenseBuffer
const int64_t const bool includesFinalBlock
mip_cc_pre_license_format format
const int64_t const uint8_t const int64_t uint8_t const int64_t outputBufferSize
int64_t * issuedUserSize
const bool isPublishingFormatJson
const int64_t const uint8_t * publishingLicenseBuffer
const int64_t const uint8_t const int64_t uint8_t * outputBuffer
mip_cc_handle * mip_cc_protection_handler_consumption_settings
mip_cc_pre_license_format
Defines pre-license format.
@ MIP_PRE_LICENSE_FORMAT_JSON
JSON/REST format used by MIP SDK and RMS SDK.
@ MIP_PRE_LICENSE_FORMAT_XML
Legacy XML/SOAP format used by MSIPC.
uint8_t const int64_t int64_t * actualPublishingLicenseSize
mip_cc_handle * mip_cc_protection_handler_publishing_settings
const mip_cc_dictionary customSettings
mip_cc_string_list * capabilities
const char * delegatedUserEmail
int64_t * ownerSize
char * ownerBuffer
const int64_t const uint8_t const int64_t uint8_t const int64_t const bool int64_t * actualEncryptedSize
const char * applicationScenarioId
mip_cc_pre_license_format uint8_t const int64_t int64_t * actualPreLicenseSize
const char * preLicenseUserEmail
const int64_t unprotectedSize
MIP_CC_API(void) MIP_CC_ReleaseProtectionHandlerPublishingSettings(mip_cc_protection_handler_publishing_settings settings)
Release resources associated with a protection handler settings.
bool * doesUseDeprecatedAlgorithm
int64_t * blockSize
const int64_t const uint8_t const int64_t inputBufferSize
mip_cc_string_list * rights
const bool isAuditedExtractionAllowed
mip_cc_handle * mip_cc_protection_handler
mip_cc_cipher_mode * cipherMode
char * issuedUserBuffer
const int64_t preLicenseBufferSize
const int64_t const bool int64_t * protectedSize
char const int64_t ownerBufferSize
const char * capability
const bool isOfflineOnly
Defines success/error result codes.
mip_cc_result
API success/failure result.
Definition result_cc.h:44
Contains C API definitions for common string list.
Error information.
Definition error_cc.h:79
Opaque handle to MIP object.