Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
dictionary_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/**
29* @brief Contains C API definitions for common string dictionary.
30*
31* @file dictionary_cc.h
32*/
33
34#ifndef API_MIP_DICTIONARY_CC_H
35#define API_MIP_DICTIONARY_CC_H
36
37#include <stdint.h>
38
40#include "mip_cc/error_cc.h"
42#include "mip_cc/result_cc.h"
43
45
46/**
47 * @brief Key/value pair
48 */
49typedef struct {
50 const char* key; /**< Key */
51 const char* value; /**< Value */
53
54/**
55 * @brief Create a dictionary of string keys/values
56 *
57 * @param entries Array of key/value pairs
58 * @param count Number of key/value pairs
59 * @param dictionary [Output] Newly-created dictionary
60 * @param errorInfo [Output] (Optional) Failure info if operation result is error
61 *
62 * @return Result code indicating success or failure
63 *
64 * @note A mip_cc_dictionary must be freed by calling MIP_CC_ReleaseDictionary
65 */
66MIP_CC_API(mip_cc_result) MIP_CC_CreateDictionary(
68 const int64_t count,
71
72/**
73 * @brief Get key/value pairs that compose a dictionary
74 *
75 * @param dictionary Source dictionary
76 * @param entries [Output] Array of key/value pairs, memory owned by mip_cc_dictionary object
77 * @param count [Output] Number of key/value pairs
78 * @param errorInfo [Output] (Optional) Failure info if operation result is error
79 *
80 * @return Result code indicating success or failure
81 *
82 * @note The memory for 'entries' is owned by the mip_cc_dictionary object, so it should not be freed independently
83 */
84MIP_CC_API(mip_cc_result) MIP_CC_Dictionary_GetEntries(
87 int64_t* count,
89
90/**
91 * @brief Release resources associated with a dictionary
92 *
93 * @param dictionary Dictionary to be released
94 */
95MIP_CC_API(void) MIP_CC_ReleaseDictionary(mip_cc_dictionary dictionary);
96
97#endif // API_MIP_DICTIONARY_CC_H
A file Containing the common types used by the upe, file and protection modules.
MIP_CC_API(void) MIP_CC_ReleaseDictionary(mip_cc_dictionary dictionary)
Release resources associated with a dictionary.
const int64_t mip_cc_dictionary mip_cc_error * errorInfo
mip_cc_handle * mip_cc_dictionary
mip_cc_kv_pair ** entries
const int64_t count
const int64_t mip_cc_dictionary * dictionary
Error definition and functions.
Export/import and other macros for C API.
Defines success/error result codes.
mip_cc_result
API success/failure result.
Definition result_cc.h:44
Error information.
Definition error_cc.h:79
Opaque handle to MIP object.
Key/value pair.
const char * value
Value.
const char * key
Key.