DTNMA Reference Tools v2.1.0 - 7.g389b8d8
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
ietf_dtnma_agent_acl.c File Reference

This is the compilation unit for the implementation of the ADM module "ietf-dtnma-agent-acl" for the C-language reference DA. More...

#include "ietf_dtnma_agent_acl.h"
#include "refda/agent.h"
#include "refda/register.h"
#include "refda/edd_prod_ctx.h"
#include "refda/ctrl_exec_ctx.h"
#include "refda/oper_eval_ctx.h"
#include <cace/amm/semtype.h>
#include <cace/ari/text.h>
#include <cace/util/logging.h>
#include <cace/util/defs.h>
#include <cace/ari/time_util.h>
+ Include dependency graph for ietf_dtnma_agent_acl.c:

Macros

#define AGENT_ACL_LOCK(agent)
 
#define AGENT_ACL_UNLOCK(agent)
 

Functions

static void refda_acl_pre_remove_access (refda_acl_t *acl, refda_acl_access_t *access)
 
static void refda_acl_post_add_access (refda_acl_t *acl, refda_acl_access_t *access)
 
static void refda_adm_ietf_dtnma_agent_acl_edd_access_list (refda_edd_prod_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_edd_current_groups (refda_edd_prod_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_edd_group_list (refda_edd_prod_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_access (refda_ctrl_exec_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_ctrl_discard_access (refda_ctrl_exec_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group (refda_ctrl_exec_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_ctrl_ensure_group_members (refda_ctrl_exec_ctx_t *ctx)
 
static void refda_adm_ietf_dtnma_agent_acl_ctrl_discard_group (refda_ctrl_exec_ctx_t *ctx)
 
int refda_adm_ietf_dtnma_agent_acl_init (refda_agent_t *agent)
 Initializer for the ADM module ietf-dtnma-agent-acl.
 

Detailed Description

This is the compilation unit for the implementation of the ADM module "ietf-dtnma-agent-acl" for the C-language reference DA.

This contains definitions of every AMM object instance in the ADM and file-local callback functions for all EDDs, CTRLs, and OPERs.

Macro Definition Documentation

◆ AGENT_ACL_LOCK

#define AGENT_ACL_LOCK (   agent)
Value:
if (pthread_mutex_lock(&((agent)->acl_mutex))) \
{ \
CACE_LOG_CRIT("failed to lock agent ACL"); \
return; \
}

◆ AGENT_ACL_UNLOCK

#define AGENT_ACL_UNLOCK (   agent)
Value:
if (pthread_mutex_unlock(&((agent)->acl_mutex))) \
{ \
CACE_LOG_CRIT("failed to unlock agent ACL"); \
return; \
}

Function Documentation

◆ refda_adm_ietf_dtnma_agent_acl_init()

int refda_adm_ietf_dtnma_agent_acl_init ( refda_agent_t agent)

Initializer for the ADM module ietf-dtnma-agent-acl.

Parameters
[in,out]agentThe agent to register this namespace and its objects within.
Returns
Zero upon success.

Register IDENT objects

Register TYPEDEF objects

Register VAR objects

Register EDD objects

Register CTRL objects

References refda_amm_ident_desc_t::bases, CACE_ARI_INIT_UNDEFINED, cace_ari_set_objref_path_intid(), CACE_LOG_DEBUG, CACE_MALLOC, CHKERR1, cace_amm_semtype_union_t::choices, cace_amm_semtype_tblt_t::columns, refda_amm_ctrl_desc_t::execute, cace_amm_semtype_ulist_t::item_type, cace_amm_named_type_t::name, refda_amm_ident_base_t::name, refda_agent_t::objs, refda_amm_edd_desc_t::prod_type, refda_amm_edd_desc_t::produce, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_ADM, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_CTRL_DISCARD_ACCESS, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_CTRL_DISCARD_GROUP, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_CTRL_ENSURE_ACCESS, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_CTRL_ENSURE_GROUP, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_CTRL_ENSURE_GROUP_MEMBERS, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_EDD_ACCESS_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_EDD_CURRENT_GROUPS, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_EDD_GROUP_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_CREATE_OBJECT, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_CREATE_ODM, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_DELETE_OBJECT, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_DELETE_ODM, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_EXECUTE, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_MODIFY_VAR, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_PERMISSION, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_IDENT_PRODUCE, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_TYPEDEF_ENTRY_ID, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_TYPEDEF_OPTIONAL_ENTRY_ID, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_TYPEDEF_PERMISSION_LIST, REFDA_ADM_IETF_DTNMA_AGENT_ACL_ENUM_OBJID_VAR_DEFAULT_ACCESS, cace_amm_named_type_t::typeobj, cace_amm_formal_param_t::typeobj, refda_amm_typedef_desc_t::typeobj, and refda_amm_var_desc_t::val_type.