BSL v0.0.0
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
bsl_mock_bpa_eidpat.h File Reference

Declarations for EID Pattern handling. More...

#include <inttypes.h>
#include <m-bptree.h>
#include <m-deque.h>
#include <BPSecLib_Private.h>
#include "bsl_mock_bpa_eid.h"
+ Include dependency graph for bsl_mock_bpa_eidpat.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bsl_eidpat_numrange_seg_t
 A single numeric range segment pair. More...
 
struct  bsl_eidpat_numcomp_t
 Each component of a numeric tuple pattern. More...
 
struct  bsl_eidpat_ipn_ssp_t
 Scheme-specific part for IPN scheme. More...
 
struct  bsl_mock_eidpat_item_t
 One item of an EID Pattern. More...
 
struct  bsl_mock_eidpat_t
 Struct to be used as a BSL_HostEIDPattern_t::handle. More...
 

Macros

#define M_OPL_bsl_eidpat_numrange_seg_t()   M_OPEXTEND(M_POD_OPLIST, CMP(API_6(bsl_eidpat_numrange_seg_cmp)))
 
#define M_OPL_bsl_mock_eidpat_item_t()    (INIT(API_2(bsl_mock_eidpat_item_init)), CLEAR(API_2(bsl_mock_eidpat_item_deinit)))
 

Enumerations

enum  bsl_eidpat_numcomp_form_t { BSL_EIDPAT_NUMCOMP_SINGLE , BSL_EIDPAT_NUMCOMP_RANGE , BSL_EIDPAT_NUMCOMP_WILDCARD }
 The component type for a numeric tuple pattern. More...
 

Functions

int bsl_eidpat_numrange_seg_cmp (const bsl_eidpat_numrange_seg_t *left, const bsl_eidpat_numrange_seg_t *right)
 
bool bsl_eidpat_numrange_seg_overlap (const bsl_eidpat_numrange_seg_t *left, const bsl_eidpat_numrange_seg_t *right)
 
void bsl_eidpat_numcomp_init (bsl_eidpat_numcomp_t *obj)
 
void bsl_eidpat_numcomp_deinit (bsl_eidpat_numcomp_t *obj)
 
void bsl_eidpat_numcomp_set_form (bsl_eidpat_numcomp_t *obj, bsl_eidpat_numcomp_form_t form)
 
int bsl_eidpat_numcomp_from_text (bsl_eidpat_numcomp_t *obj, const char *curs, const char **endptr)
 
bool bsl_eidpat_numcomp_match (const bsl_eidpat_numcomp_t *obj, uint64_t val)
 
void bsl_eidpat_ipn_ssp_init (bsl_eidpat_ipn_ssp_t *obj)
 
void bsl_eidpat_ipn_ssp_deinit (bsl_eidpat_ipn_ssp_t *obj)
 
bool bsl_eidpat_ipn_ssp_match (const bsl_eidpat_ipn_ssp_t *pat, const bsl_eid_ipn_ssp_t *val)
 
int bsl_mock_eidpat_item_init (bsl_mock_eidpat_item_t *obj)
 
void bsl_mock_eidpat_item_deinit (bsl_mock_eidpat_item_t *obj)
 
int mock_bpa_eidpat_item_from_text (bsl_mock_eidpat_item_t *item, const char *text, const char **endptr)
 
bool mock_bpa_eidpat_item_match (const bsl_mock_eidpat_item_t *item, const bsl_mock_eid_t *eid)
 
int mock_bpa_eidpat_init (BSL_HostEIDPattern_t *pat, void *user_data)
 Interface for BSL_HostDescriptors_t::eidpat_init.
 
void mock_bpa_eidpat_deinit (BSL_HostEIDPattern_t *pat, void *user_data)
 Interface for BSL_HostDescriptors_t::eidpat_deinit.
 
int mock_bpa_eidpat_from_text (BSL_HostEIDPattern_t *pat, const char *text, void *user_data)
 Interface for BSL_HostDescriptors_t::eidpat_from_text.
 
bool mock_bpa_eidpat_match (const BSL_HostEIDPattern_t *pat, const BSL_HostEID_t *eid, void *user_data)
 Interface for BSL_HostDescriptors_t::eidpat_match.
 

Detailed Description

Declarations for EID Pattern handling.

These are based on draft-sipos-dtn-eid-pattern [10].

Definition in file bsl_mock_bpa_eidpat.h.

Macro Definition Documentation

◆ M_OPL_bsl_eidpat_numrange_seg_t

#define M_OPL_bsl_eidpat_numrange_seg_t ( )    M_OPEXTEND(M_POD_OPLIST, CMP(API_6(bsl_eidpat_numrange_seg_cmp)))

Definition at line 55 of file bsl_mock_bpa_eidpat.h.

◆ M_OPL_bsl_mock_eidpat_item_t

#define M_OPL_bsl_mock_eidpat_item_t ( )     (INIT(API_2(bsl_mock_eidpat_item_init)), CLEAR(API_2(bsl_mock_eidpat_item_deinit)))

Definition at line 129 of file bsl_mock_bpa_eidpat.h.

Enumeration Type Documentation

◆ bsl_eidpat_numcomp_form_t

The component type for a numeric tuple pattern.

Enumerator
BSL_EIDPAT_NUMCOMP_SINGLE 

A single numeric value.

BSL_EIDPAT_NUMCOMP_RANGE 

A multi-segment range of values.

BSL_EIDPAT_NUMCOMP_WILDCARD 

This form has no associated value.

Definition at line 65 of file bsl_mock_bpa_eidpat.h.

Function Documentation

◆ bsl_eidpat_ipn_ssp_deinit()

void bsl_eidpat_ipn_ssp_deinit ( bsl_eidpat_ipn_ssp_t obj)

Definition at line 241 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_ipn_ssp_init()

void bsl_eidpat_ipn_ssp_init ( bsl_eidpat_ipn_ssp_t obj)

Definition at line 234 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_ipn_ssp_match()

bool bsl_eidpat_ipn_ssp_match ( const bsl_eidpat_ipn_ssp_t pat,
const bsl_eid_ipn_ssp_t val 
)

Definition at line 248 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numcomp_deinit()

void bsl_eidpat_numcomp_deinit ( bsl_eidpat_numcomp_t obj)

Definition at line 62 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numcomp_from_text()

int bsl_eidpat_numcomp_from_text ( bsl_eidpat_numcomp_t obj,
const char *  curs,
const char **  endptr 
)

Definition at line 103 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numcomp_init()

void bsl_eidpat_numcomp_init ( bsl_eidpat_numcomp_t obj)

Definition at line 57 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numcomp_match()

bool bsl_eidpat_numcomp_match ( const bsl_eidpat_numcomp_t obj,
uint64_t  val 
)

Definition at line 205 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numcomp_set_form()

void bsl_eidpat_numcomp_set_form ( bsl_eidpat_numcomp_t obj,
bsl_eidpat_numcomp_form_t  form 
)

Definition at line 71 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numrange_seg_cmp()

int bsl_eidpat_numrange_seg_cmp ( const bsl_eidpat_numrange_seg_t left,
const bsl_eidpat_numrange_seg_t right 
)

Definition at line 26 of file bsl_mock_bpa_eidpat.c.

◆ bsl_eidpat_numrange_seg_overlap()

bool bsl_eidpat_numrange_seg_overlap ( const bsl_eidpat_numrange_seg_t left,
const bsl_eidpat_numrange_seg_t right 
)

Definition at line 44 of file bsl_mock_bpa_eidpat.c.

◆ bsl_mock_eidpat_item_deinit()

void bsl_mock_eidpat_item_deinit ( bsl_mock_eidpat_item_t obj)

Definition at line 261 of file bsl_mock_bpa_eidpat.c.

◆ bsl_mock_eidpat_item_init()

int bsl_mock_eidpat_item_init ( bsl_mock_eidpat_item_t obj)

Definition at line 255 of file bsl_mock_bpa_eidpat.c.

◆ mock_bpa_eidpat_deinit()

void mock_bpa_eidpat_deinit ( BSL_HostEIDPattern_t pat,
void *  user_data 
)

Interface for BSL_HostDescriptors_t::eidpat_deinit.

Definition at line 396 of file bsl_mock_bpa_eidpat.c.

References CHKVOID, and BSL_HostEIDPattern_s::handle.

◆ mock_bpa_eidpat_from_text()

int mock_bpa_eidpat_from_text ( BSL_HostEIDPattern_t pat,
const char *  text,
void *  user_data 
)

◆ mock_bpa_eidpat_init()

int mock_bpa_eidpat_init ( BSL_HostEIDPattern_t pat,
void *  user_data 
)

◆ mock_bpa_eidpat_item_from_text()

int mock_bpa_eidpat_item_from_text ( bsl_mock_eidpat_item_t item,
const char *  text,
const char **  endptr 
)

Definition at line 274 of file bsl_mock_bpa_eidpat.c.

◆ mock_bpa_eidpat_item_match()

bool mock_bpa_eidpat_item_match ( const bsl_mock_eidpat_item_t item,
const bsl_mock_eid_t eid 
)

Definition at line 350 of file bsl_mock_bpa_eidpat.c.

◆ mock_bpa_eidpat_match()

bool mock_bpa_eidpat_match ( const BSL_HostEIDPattern_t pat,
const BSL_HostEID_t eid,
void *  user_data 
)