kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
Macros | Functions | Variables
kinetic_acl.c File Reference
#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 []
 

Macro Definition Documentation

#define PERM_TABLE_ROWS   (sizeof(permission_table)/sizeof(permission_table)[0])

Definition at line 46 of file kinetic_acl.c.

Function Documentation

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
static KineticACLLoadResult unpack_scopes ( Com__Seagate__Kinetic__Proto__Command__Security__ACL *  acl,
int  scope_count,
json_object *  scopes 
)
static
static KineticACLLoadResult acl_of_string ( const char *  buf,
size_t  buf_size,
struct ACL **  instance 
)
static
static const char* str_of_permission ( Com__Seagate__Kinetic__Proto__Command__Security__ACL__Permission  perm)
static

Definition at line 55 of file kinetic_acl.c.

References PERM_TABLE_ROWS, and permission_table.

static Com__Seagate__Kinetic__Proto__Command__Security__ACL__Permission permission_of_str ( const char *  str)
static
KineticACLLoadResult KineticACL_LoadFromFile ( const char *  path,
struct ACL **  instance 
)
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.

Variable Documentation

permission_pair permission_table[]
static
Initial value:
= {
}

Definition at line 34 of file kinetic_acl.c.