BSL v0.0.0 - 0.geda3e66
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
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 "eid.h"
+ Include dependency graph for eidpat.h:
+ This graph shows which files directly or indirectly include 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 [17].

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.