![]() |
kinetic-c
v0.12.0
Seagate Kinetic Protocol Client Library for C
|
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include "kinetic_logger.h"
#include "kinetic_acl.h"
#include "json.h"
Go to the source code of this file.
Macros | |
#define | PERM_TABLE_ROWS (sizeof(permission_table)/sizeof(permission_table)[0]) |
Functions | |
static KineticACLLoadResult | read_next_ACL (const char *buf, size_t buf_size, size_t offset, size_t *new_offset, struct json_tokener *tokener, Com__Seagate__Kinetic__Proto__Command__Security__ACL **instance) |
static KineticACLLoadResult | unpack_scopes (Com__Seagate__Kinetic__Proto__Command__Security__ACL *acl, int scope_count, json_object *scopes) |
static KineticACLLoadResult | acl_of_string (const char *buf, size_t buf_size, struct ACL **instance) |
static const char * | str_of_permission (Com__Seagate__Kinetic__Proto__Command__Security__ACL__Permission perm) |
static Com__Seagate__Kinetic__Proto__Command__Security__ACL__Permission | permission_of_str (const char *str) |
KineticACLLoadResult | KineticACL_LoadFromFile (const char *path, struct ACL **instance) |
void | KineticACL_Print (FILE *f, struct ACL *ACLs) |
void | KineticACL_Free (struct ACL *ACLs) |
Variables | |
static permission_pair | permission_table [] |
#define PERM_TABLE_ROWS (sizeof(permission_table)/sizeof(permission_table)[0]) |
Definition at line 46 of file kinetic_acl.c.
|
static |
Definition at line 198 of file kinetic_acl.c.
References ACL_END_OF_STREAM, ACL_ERROR_BAD_JSON, ACL_ERROR_INVALID_FIELD, ACL_ERROR_MEMORY, ACL_ERROR_MISSING_FIELD, ACL_OK, COM__SEAGATE__KINETIC__PROTO__COMMAND__SECURITY__ACL__HMACALGORITHM__HmacSHA1, com__seagate__kinetic__proto__command__security__acl__init(), LOGF2, and unpack_scopes().
|
static |
Definition at line 286 of file kinetic_acl.c.
References ACL_ERROR_INVALID_FIELD, ACL_ERROR_MEMORY, ACL_MAX_PERMISSIONS, ACL_OK, COM__SEAGATE__KINETIC__PROTO__COMMAND__SECURITY__ACL__PERMISSION__INVALID_PERMISSION, com__seagate__kinetic__proto__command__security__acl__scope__init(), and permission_of_str().
|
static |
Definition at line 130 of file kinetic_acl.c.
References ACL::ACL_ceil, ACL::ACL_count, ACL_END_OF_STREAM, ACL_ERROR_BAD_JSON, ACL_ERROR_MEMORY, ACL_OK, ACL::ACLs, LOG2, LOGF2, and read_next_ACL().
|
static |
Definition at line 55 of file kinetic_acl.c.
References PERM_TABLE_ROWS, and permission_table.
|
static |
Definition at line 64 of file kinetic_acl.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__SECURITY__ACL__PERMISSION__INVALID_PERMISSION, PERM_TABLE_ROWS, and permission_table.
KineticACLLoadResult KineticACL_LoadFromFile | ( | const char * | path, |
struct ACL ** | instance | ||
) |
Definition at line 74 of file kinetic_acl.c.
References ACL_ERROR_BAD_JSON, ACL_ERROR_JSON_FILE, ACL_ERROR_MEMORY, ACL_ERROR_NULL, acl_of_string(), LOGF0, and LOGF2.
void KineticACL_Print | ( | FILE * | f, |
struct ACL * | ACLs | ||
) |
Definition at line 388 of file kinetic_acl.c.
References ACL::ACL_count, ACL::ACLs, and str_of_permission().
void KineticACL_Free | ( | struct ACL * | ACLs | ) |
Definition at line 436 of file kinetic_acl.c.
References ACL::ACL_count, and ACL::ACLs.
|
static |
Definition at line 34 of file kinetic_acl.c.