30 CHK_AS_BOOL(self != NULL);
58 ASSERT_ARG_NONNULL(self);
60 memset(self, 0,
sizeof(*self));
83 for (
size_t operation_index = 0; operation_index < self->
arrays_capacity; operation_index++)
87 memset(self, 0,
sizeof(*self));
112 ASSERT_PRECONDITION(index < self->arrays_capacity);
@ BSL_SUCCESS
Placeholder for non-error code.
struct BSL_SecurityActionSet_s BSL_SecurityActionSet_t
Forward declaration of PolicyActionSet, which contains information for BSL to process the Bundle.
void BSL_SecOper_Deinit(BSL_SecOper_t *self)
Empty and release any resources used internally by this structure.
bool BSL_SecOper_IsConsistent(const BSL_SecOper_t *self)
Returns true if internal consistency and sanity checks pass.
const BSL_SecOper_t * BSL_SecurityActionSet_GetSecOperAtIndex(const BSL_SecurityActionSet_t *self, size_t index)
Returns the Security Operation at the given index.
int BSL_SecurityActionSet_AppendSecOper(BSL_SecurityActionSet_t *self, const BSL_SecOper_t *sec_oper)
Append a security operation to the security action set.
int BSL_SecurityActionSet_GetErrCode(const BSL_SecurityActionSet_t *self)
Get the error code after querying (inspecting) policy actions.
size_t BSL_SecurityActionSet_Sizeof(void)
Returns size of the struct, helpful for dynamic allocation.
bool BSL_SecurityActionSet_IsConsistent(const BSL_SecurityActionSet_t *self)
Return true if internal sanity and consistency checks pass.
void BSL_SecurityActionSet_IncrError(BSL_SecurityActionSet_t *self)
Increment a security failure for this action set.
size_t BSL_SecurityActionSet_CountErrors(const BSL_SecurityActionSet_t *self)
Returns count of failures after processing this action set.
void BSL_SecurityActionSet_Deinit(BSL_SecurityActionSet_t *self)
Zeroize, clear, and release itself and any owned resources.
void BSL_SecurityActionSet_Init(BSL_SecurityActionSet_t *self)
Initialize a new security action set.
size_t BSL_SecurityActionSet_CountSecOpers(const BSL_SecurityActionSet_t *self)
Count number of security operations present in this policy action set.
Implementation of construct holding details of security operations for a bundle.
Contains the populated security operations for this bundle.
uint64_t new_block_ids[BSL_SECURITYACTIONSET_MAX_OPS]
Array for IDs of blocks to be created.
uint64_t new_block_types[BSL_SECURITYACTIONSET_MAX_OPS]
Array for block type codes of blocks to be created.
size_t arrays_capacity
Capacity of sec_operations.
BSL_SecOper_t sec_operations[BSL_SECURITYACTIONSET_MAX_OPS]
Fixed array of security operations (for simpler mem management)
size_t sec_operations_count
Count of sec_operations.
int err_code
General error code.