![]() |
kinetic-c
v0.12.0
Seagate Kinetic Protocol Client Library for C
|
#include "kinetic_builder.h"
#include "kinetic_operation.h"
#include "kinetic_controller.h"
#include "kinetic_session.h"
#include "kinetic_message.h"
#include "kinetic_bus.h"
#include "kinetic_response.h"
#include "kinetic_device_info.h"
#include "kinetic_allocator.h"
#include "kinetic_logger.h"
#include "kinetic_request.h"
#include "kinetic_acl.h"
#include "kinetic_callbacks.h"
#include <stdlib.h>
#include <errno.h>
#include <sys/time.h>
#include <stdio.h>
Go to the source code of this file.
Functions | |
KineticStatus | KineticBuilder_BuildNoop (KineticOperation *const op) |
KineticStatus | KineticBuilder_BuildPut (KineticOperation *const op, KineticEntry *const entry) |
static void | build_get_command (KineticOperation *const op, KineticEntry *const entry, KineticOperationCallback cb, Com__Seagate__Kinetic__Proto__Command__MessageType command_id) |
KineticStatus | KineticBuilder_BuildGet (KineticOperation *const op, KineticEntry *const entry) |
KineticStatus | KineticBuilder_BuildGetPrevious (KineticOperation *const op, KineticEntry *const entry) |
KineticStatus | KineticBuilder_BuildGetNext (KineticOperation *const op, KineticEntry *const entry) |
KineticStatus | KineticBuilder_BuildFlush (KineticOperation *const op) |
KineticStatus | KineticBuilder_BuildDelete (KineticOperation *const op, KineticEntry *const entry) |
KineticStatus | KineticBuilder_BuildGetKeyRange (KineticOperation *const op, KineticKeyRange *range, ByteBufferArray *buffers) |
Com__Seagate__Kinetic__Proto__Command__P2POperation * | build_p2pOp (uint32_t nestingLevel, KineticP2P_Operation const *const p2pOp) |
KineticStatus | KineticBuilder_BuildP2POperation (KineticOperation *const op, KineticP2P_Operation *const p2pOp) |
KineticStatus | KineticBuilder_BuildGetLog (KineticOperation *const op, Com__Seagate__Kinetic__Proto__Command__GetLog__Type type, ByteArray name, KineticLogInfo **info) |
KineticStatus | KineticBuilder_BuildSetPin (KineticOperation *const op, ByteArray old_pin, ByteArray new_pin, bool lock) |
KineticStatus | KineticBuilder_BuildErase (KineticOperation *const op, bool secure_erase, ByteArray *pin) |
KineticStatus | KineticBuilder_BuildLockUnlock (KineticOperation *const op, bool lock, ByteArray *pin) |
KineticStatus | KineticBuilder_BuildSetClusterVersion (KineticOperation *op, int64_t new_cluster_version) |
KineticStatus | KineticBuilder_BuildSetACL (KineticOperation *const op, struct ACL *ACLs) |
KineticStatus | KineticBuilder_BuildUpdateFirmware (KineticOperation *const op, const char *fw_path) |
KineticStatus KineticBuilder_BuildNoop | ( | KineticOperation *const | op | ) |
Definition at line 45 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__NOOP, KINETIC_STATUS_SUCCESS, KineticCallbacks_Basic(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildPut | ( | KineticOperation *const | op, |
KineticEntry *const | entry | ||
) |
Definition at line 54 of file kinetic_builder.c.
References ByteBuffer::bytesUsed, COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__PUT, KINETIC_OBJ_SIZE, KINETIC_STATUS_BUFFER_OVERRUN, KINETIC_STATUS_SUCCESS, KineticCallbacks_Put(), KineticMessage_ConfigureKeyValue(), KineticOperation_ValidateOperation(), LOGF2, and KineticEntry::value.
|
static |
Definition at line 77 of file kinetic_builder.c.
References ByteBuffer_Reset(), KineticMessage_ConfigureKeyValue(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildGet | ( | KineticOperation *const | op, |
KineticEntry *const | entry | ||
) |
Definition at line 99 of file kinetic_builder.c.
References build_get_command(), COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__GET, KINETIC_STATUS_SUCCESS, and KineticCallbacks_Get().
KineticStatus KineticBuilder_BuildGetPrevious | ( | KineticOperation *const | op, |
KineticEntry *const | entry | ||
) |
Definition at line 108 of file kinetic_builder.c.
References build_get_command(), COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__GETPREVIOUS, KINETIC_STATUS_SUCCESS, and KineticCallbacks_Get().
KineticStatus KineticBuilder_BuildGetNext | ( | KineticOperation *const | op, |
KineticEntry *const | entry | ||
) |
Definition at line 117 of file kinetic_builder.c.
References build_get_command(), COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__GETNEXT, KINETIC_STATUS_SUCCESS, and KineticCallbacks_Get().
KineticStatus KineticBuilder_BuildFlush | ( | KineticOperation *const | op | ) |
Definition at line 126 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__FLUSHALLDATA, KINETIC_STATUS_SUCCESS, KineticCallbacks_Basic(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildDelete | ( | KineticOperation *const | op, |
KineticEntry *const | entry | ||
) |
Definition at line 138 of file kinetic_builder.c.
References ByteBuffer_Reset(), COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__DELETE, KINETIC_STATUS_SUCCESS, KineticCallbacks_Delete(), KineticMessage_ConfigureKeyValue(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildGetKeyRange | ( | KineticOperation *const | op, |
KineticKeyRange * | range, | ||
ByteBufferArray * | buffers | ||
) |
Definition at line 160 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__GETKEYRANGE, KINETIC_ASSERT, KINETIC_STATUS_SUCCESS, KineticCallbacks_GetKeyRange(), KineticMessage_ConfigureKeyRange(), and KineticOperation_ValidateOperation().
Com__Seagate__Kinetic__Proto__Command__P2POperation* build_p2pOp | ( | uint32_t | nestingLevel, |
KineticP2P_Operation const *const | p2pOp | ||
) |
Definition at line 178 of file kinetic_builder.c.
References ByteBuffer_IsNull(), com__seagate__kinetic__proto__command__p2_poperation__init(), com__seagate__kinetic__proto__command__p2_poperation__operation__init(), com__seagate__kinetic__proto__command__p2_poperation__peer__init(), KINETIC_ASSERT, KINETIC_P2P_MAX_NESTING, KineticAllocator_FreeP2PProtobuf(), and LOGF0.
KineticStatus KineticBuilder_BuildP2POperation | ( | KineticOperation *const | op, |
KineticP2P_Operation *const | p2pOp | ||
) |
Definition at line 248 of file kinetic_builder.c.
References build_p2pOp(), COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__PEER2PEERPUSH, KINETIC_P2P_OPERATION_LIMIT, KINETIC_STATUS_BUFFER_OVERRUN, KINETIC_STATUS_OPERATION_INVALID, KINETIC_STATUS_SUCCESS, KineticCallbacks_P2POperation(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildGetLog | ( | KineticOperation *const | op, |
Com__Seagate__Kinetic__Proto__Command__GetLog__Type | type, | ||
ByteArray | name, | ||
KineticLogInfo ** | info | ||
) |
Definition at line 278 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__GET_LOG__TYPE__DEVICE, COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__GETLOG, ByteArray::data, KINETIC_STATUS_DEVICE_NAME_REQUIRED, KINETIC_STATUS_SUCCESS, KineticCallbacks_GetLog(), KineticOperation_ValidateOperation(), and ByteArray::len.
KineticStatus KineticBuilder_BuildSetPin | ( | KineticOperation *const | op, |
ByteArray | old_pin, | ||
ByteArray | new_pin, | ||
bool | lock | ||
) |
Definition at line 307 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__SECURITY, ByteArray::data, KINETIC_STATUS_SUCCESS, KineticCallbacks_Basic(), KineticOperation_TimeoutSetPin, KineticOperation_ValidateOperation(), and ByteArray::len.
KineticStatus KineticBuilder_BuildErase | ( | KineticOperation *const | op, |
bool | secure_erase, | ||
ByteArray * | pin | ||
) |
Definition at line 340 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__PINOP, COM__SEAGATE__KINETIC__PROTO__COMMAND__PIN_OPERATION__PIN_OP_TYPE__ERASE_PINOP, COM__SEAGATE__KINETIC__PROTO__COMMAND__PIN_OPERATION__PIN_OP_TYPE__SECURE_ERASE_PINOP, KINETIC_STATUS_SUCCESS, KineticCallbacks_Basic(), KineticOperation_TimeoutErase, and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildLockUnlock | ( | KineticOperation *const | op, |
bool | lock, | ||
ByteArray * | pin | ||
) |
Definition at line 361 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__PINOP, COM__SEAGATE__KINETIC__PROTO__COMMAND__PIN_OPERATION__PIN_OP_TYPE__LOCK_PINOP, COM__SEAGATE__KINETIC__PROTO__COMMAND__PIN_OPERATION__PIN_OP_TYPE__UNLOCK_PINOP, KINETIC_STATUS_SUCCESS, KineticCallbacks_Basic(), KineticOperation_TimeoutLockUnlock, and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildSetClusterVersion | ( | KineticOperation * | op, |
int64_t | new_cluster_version | ||
) |
Definition at line 383 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__SETUP, KINETIC_STATUS_SUCCESS, KineticCallbacks_SetClusterVersion(), and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildSetACL | ( | KineticOperation *const | op, |
struct ACL * | ACLs | ||
) |
Definition at line 401 of file kinetic_builder.c.
References ACL::ACL_count, ACL::ACLs, COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__SECURITY, KINETIC_STATUS_SUCCESS, KineticCallbacks_SetACL(), KineticOperation_TimeoutSetACL, and KineticOperation_ValidateOperation().
KineticStatus KineticBuilder_BuildUpdateFirmware | ( | KineticOperation *const | op, |
const char * | fw_path | ||
) |
Definition at line 420 of file kinetic_builder.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__MESSAGE_TYPE__SETUP, KINETIC_STATUS_INVALID, KINETIC_STATUS_INVALID_FILE, KINETIC_STATUS_MEMORY_ERROR, KINETIC_STATUS_SUCCESS, KineticCallbacks_UpdateFirmware(), KineticOperation_ValidateOperation(), LOG0, and LOGF0.