kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
kinetic_admin_client.h
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 #ifndef _KINETIC_ADMIN_CLIENT_H
22 #define _KINETIC_ADMIN_CLIENT_H
23 
24 #include "kinetic_types.h"
25 #include "kinetic_client.h"
26 
39 KineticClient * KineticAdminClient_Init(KineticClientConfig *config);
40 
44 void KineticAdminClient_Shutdown(KineticClient * const client);
45 
69  KineticClient * const client, KineticSession** session);
70 
80 KineticStatus KineticAdminClient_DestroySession(KineticSession * const session);
81 
93 KineticStatus KineticAdminClient_SetErasePin(KineticSession * const session,
94  ByteArray old_pin, ByteArray new_pin);
95 
104 KineticStatus KineticAdminClient_SecureErase(KineticSession * const session,
105  ByteArray pin);
106 
115 KineticStatus KineticAdminClient_InstantErase(KineticSession * const session,
116  ByteArray pin);
117 
129 KineticStatus KineticAdminClient_SetLockPin(KineticSession * const session,
130  ByteArray old_pin, ByteArray new_pin);
131 
140 KineticStatus KineticAdminClient_LockDevice(KineticSession * const session,
141  ByteArray pin);
142 
151 KineticStatus KineticAdminClient_UnlockDevice(KineticSession * const session,
152  ByteArray pin);
153 
171 KineticStatus KineticAdminClient_GetLog(KineticSession * const session,
172  KineticLogInfo_Type type,
173  KineticLogInfo** info,
174  KineticCompletionClosure* closure);
192 KineticStatus KineticAdminClient_GetDeviceSpecificLog(KineticSession * const session,
193  ByteArray name,
194  KineticLogInfo** info,
195  KineticCompletionClosure* closure);
196 
203 void KineticAdminClient_FreeLogInfo(KineticSession * const session,
204  KineticLogInfo* info);
205 
214 KineticStatus KineticAdminClient_SetClusterVersion(KineticSession * const session,
215  int64_t version);
216 
225 KineticStatus KineticAdminClient_SetACL(KineticSession * const session,
226  const char *ACLPath);
227 
236 KineticStatus KineticAdminClient_UpdateFirmware(KineticSession * const session,
237  char const * const fw_path);
238 
239 #endif // _KINETIC_ADMIN_CLIENT_H
Structure for handling generic arrays of bytes.
Definition: byte_array.h:34
KineticStatus KineticAdminClient_SetLockPin(KineticSession *const session, ByteArray old_pin, ByteArray new_pin)
Sets the lock PIN of the Kinetic Device.
Structure used to specify the configuration for a session.
KineticStatus KineticAdminClient_UnlockDevice(KineticSession *const session, ByteArray pin)
Executes an UNLOCK operation to unlock the Kinetic device.
void KineticAdminClient_FreeLogInfo(KineticSession *const session, KineticLogInfo *info)
Free the KineticLogInfo result from KineticClient_GetLog.
KineticStatus KineticAdminClient_SetACL(KineticSession *const session, const char *ACLPath)
Executes a SECURITY operation, setting one or more ACLs.
KineticStatus KineticAdminClient_SetErasePin(KineticSession *const session, ByteArray old_pin, ByteArray new_pin)
Sets the erase PIN of the Kinetic Device.
Closure which can be specified for operations which support asynchronous mode.
void KineticAdminClient_Shutdown(KineticClient *const client)
Performs shutdown/cleanup of the kinetic-c client library.
KineticLogInfo_Type
Log info type.
Base log info structure which is allocated by client and passed to KineticAdminClient_GetLog.
KineticStatus KineticAdminClient_GetDeviceSpecificLog(KineticSession *const session, ByteArray name, KineticLogInfo **info, KineticCompletionClosure *closure)
Executes a GETLOG operation to retrieve device-specific log info from the Kinetic Device via name/key...
KineticStatus KineticAdminClient_InstantErase(KineticSession *const session, ByteArray pin)
Executes an InstantErase operation to erase all data from the Kinetic device.
KineticStatus KineticAdminClient_UpdateFirmware(KineticSession *const session, char const *const fw_path)
Executes a Firmware Download operation to update the firmware on the Kinetic device.
KineticStatus KineticAdminClient_SecureErase(KineticSession *const session, ByteArray pin)
Executes a SecureErase command to erase all data from the Kinetic device.
KineticStatus KineticAdminClient_DestroySession(KineticSession *const session)
Closes the connection to a host.
KineticStatus KineticAdminClient_LockDevice(KineticSession *const session, ByteArray pin)
Executes a LOCK operation to lock the Kinetic device.
KineticStatus
Kinetic status codes.
Configuration values for the KineticClient connection.
KineticStatus KineticAdminClient_CreateSession(KineticSessionConfig *const config, KineticClient *const client, KineticSession **session)
Creates a session with the Kinetic Device per specified configuration.
KineticStatus KineticAdminClient_SetClusterVersion(KineticSession *const session, int64_t version)
Updates the cluster version of the Kinetic Device.
KineticStatus KineticAdminClient_GetLog(KineticSession *const session, KineticLogInfo_Type type, KineticLogInfo **info, KineticCompletionClosure *closure)
Executes a GETLOG operation to retrieve specific configuration and/or operational data from the Kinet...
KineticClient * KineticAdminClient_Init(KineticClientConfig *config)
Initializes the Kinetic Admin API and configures logging.