kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
kinetic_entry.c
Go to the documentation of this file.
1 /*
2 * kinetic-c
3 * Copyright (C) 2015 Seagate Technology.
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20 
21 #include "kinetic_entry.h"
22 #include "kinetic_logger.h"
23 
25 {
26  KINETIC_ASSERT(entry != NULL);
27  *entry = (KineticEntry) {
29  .value = BYTE_BUFFER_NONE
30  };
31 }
32 
34 {
35  KINETIC_ASSERT(entry != NULL);
36  return &entry->dbVersion;
37 }
38 
40 {
41  KINETIC_ASSERT(entry != NULL);
42  entry->dbVersion = version;
43 }
44 
46 {
47  KINETIC_ASSERT(entry != NULL);
48  return &entry->tag;
49 }
50 
52 {
53  KINETIC_ASSERT(entry != NULL);
54  entry->tag = tag;
55 }
56 
58 {
59  KINETIC_ASSERT(entry != NULL);
60  return entry->algorithm;
61 }
62 
64 {
65  KINETIC_ASSERT(entry != NULL);
66  entry->algorithm = algorithm;
67 }
Structure for an embedded ByteArray as a buffer.
Definition: byte_array.h:53
KineticAlgorithm KineticEntry_GetAlgorithm(KineticEntry *entry)
Definition: kinetic_entry.c:57
ByteBuffer tag
Generated authentication hash per the specified algorithm
ByteBuffer * KineticEntry_GetTag(KineticEntry *entry)
Definition: kinetic_entry.c:45
KineticAlgorithm algorithm
Algorithm used to generate the specified tag
void KineticEntry_SetTag(KineticEntry *entry, ByteBuffer tag)
Definition: kinetic_entry.c:51
KineticAlgorithm
Enumeration of encryption/checksum key algorithms.
Definition: kinetic_types.h:73
void KineticEntry_Init(KineticEntry *entry)
Definition: kinetic_entry.c:24
Kinetic object instance.
ByteBuffer * KineticEntry_GetVersion(KineticEntry *entry)
Definition: kinetic_entry.c:33
#define KINETIC_ASSERT(cond)
void KineticEntry_SetAlgorithm(KineticEntry *entry, KineticAlgorithm algorithm)
Definition: kinetic_entry.c:63
void KineticEntry_SetVersion(KineticEntry *entry, ByteBuffer version)
Definition: kinetic_entry.c:39
ByteBuffer key
Key associated with the object stored on disk.
#define BYTE_BUFFER_NONE
Convenience macro to represent an empty buffer with no data.
Definition: byte_array.h:65
ByteBuffer dbVersion
Current version of the entry (optional)