Motr  M0
fdmi_filter.c File Reference
#include "lib/trace.h"
#include "conf/objs/common.h"
#include "conf/onwire_xc.h"
#include "fdmi/filter.h"
#include "motr/magic.h"
#include "lib/memory.h"
#include "lib/buf.h"
#include "lib/string.h"
Include dependency graph for fdmi_filter.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CONF
 
#define XCAST(xobj)   ((struct m0_confx_fdmi_filter *)(&(xobj)->xo_u))
 

Functions

static bool fdmi_filter_check (const void *bob)
 
 M0_CONF__BOB_DEFINE (m0_conf_fdmi_filter, M0_CONF_FDMI_FILTER_MAGIC, fdmi_filter_check)
 
 M0_CONF__INVARIANT_DEFINE (fdmi_filter_invariant, m0_conf_fdmi_filter)
 
 M0_BASSERT (offsetof(struct m0_confx_fdmi_filter, xf_header)==0)
 
static int fdmi_filter_decode (struct m0_conf_obj *dest, const struct m0_confx_obj *src)
 
static int fdmi_filter_encode (struct m0_confx_obj *dest, const struct m0_conf_obj *src)
 
static bool fdmi_filter_match (const struct m0_conf_obj *cached, const struct m0_confx_obj *flat)
 
static void fdmi_filter_delete (struct m0_conf_obj *obj)
 
 M0_CONF__CTOR_DEFINE (fdmi_filter_create, m0_conf_fdmi_filter, &conf_fdmi_filter_ops)
 

Variables

static const struct m0_conf_obj_ops conf_fdmi_filter_ops
 
const struct m0_conf_obj_type M0_CONF_FDMI_FILTER_TYPE
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CONF

Definition at line 22 of file fdmi_filter.c.

◆ XCAST

#define XCAST (   xobj)    ((struct m0_confx_fdmi_filter *)(&(xobj)->xo_u))

Definition at line 49 of file fdmi_filter.c.

Function Documentation

◆ fdmi_filter_check()

static bool fdmi_filter_check ( const void *  bob)
static
Todo:
Phase 2: Do checks

Definition at line 33 of file fdmi_filter.c.

Here is the call graph for this function:

◆ fdmi_filter_decode()

static int fdmi_filter_decode ( struct m0_conf_obj dest,
const struct m0_confx_obj src 
)
static

Definition at line 53 of file fdmi_filter.c.

Here is the call graph for this function:

◆ fdmi_filter_delete()

static void fdmi_filter_delete ( struct m0_conf_obj obj)
static

Definition at line 174 of file fdmi_filter.c.

Here is the call graph for this function:

◆ fdmi_filter_encode()

static int fdmi_filter_encode ( struct m0_confx_obj dest,
const struct m0_conf_obj src 
)
static

Definition at line 122 of file fdmi_filter.c.

Here is the call graph for this function:

◆ fdmi_filter_match()

static bool fdmi_filter_match ( const struct m0_conf_obj cached,
const struct m0_confx_obj flat 
)
static

Definition at line 159 of file fdmi_filter.c.

Here is the call graph for this function:

◆ M0_BASSERT()

M0_BASSERT ( offsetof(struct m0_confx_fdmi_filter, xf_header = =0)

◆ M0_CONF__BOB_DEFINE()

M0_CONF__BOB_DEFINE ( m0_conf_fdmi_filter  ,
M0_CONF_FDMI_FILTER_MAGIC  ,
fdmi_filter_check   
)

◆ M0_CONF__CTOR_DEFINE()

M0_CONF__CTOR_DEFINE ( fdmi_filter_create  ,
m0_conf_fdmi_filter  ,
conf_fdmi_filter_ops 
)

◆ M0_CONF__INVARIANT_DEFINE()

M0_CONF__INVARIANT_DEFINE ( fdmi_filter_invariant  ,
m0_conf_fdmi_filter   
)

Variable Documentation

◆ conf_fdmi_filter_ops

const struct m0_conf_obj_ops conf_fdmi_filter_ops
static
Initial value:
= {
.coo_invariant = fdmi_filter_invariant,
.coo_decode = fdmi_filter_decode,
.coo_encode = fdmi_filter_encode,
.coo_match = fdmi_filter_match,
.coo_lookup = conf_obj_lookup_denied,
.coo_readdir = NULL,
.coo_downlinks = conf_obj_downlinks_none,
.coo_delete = fdmi_filter_delete
}
M0_INTERNAL const struct m0_fid ** conf_obj_downlinks_none(const struct m0_conf_obj *obj)
Definition: common.c:226
#define NULL
Definition: misc.h:38
M0_INTERNAL int conf_obj_lookup_denied(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
Definition: common.c:217
static int fdmi_filter_decode(struct m0_conf_obj *dest, const struct m0_confx_obj *src)
Definition: fdmi_filter.c:53
static int fdmi_filter_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
Definition: fdmi_filter.c:122
static bool fdmi_filter_match(const struct m0_conf_obj *cached, const struct m0_confx_obj *flat)
Definition: fdmi_filter.c:159
static void fdmi_filter_delete(struct m0_conf_obj *obj)
Definition: fdmi_filter.c:174

Definition at line 185 of file fdmi_filter.c.

◆ M0_CONF_FDMI_FILTER_TYPE

const struct m0_conf_obj_type M0_CONF_FDMI_FILTER_TYPE
Initial value:
= {
.cot_ftype = {
.ft_id = M0_CONF__FDMI_FILTER_FT_ID,
.ft_name = "conf_fdmi_filter"
},
.cot_create = &fdmi_filter_create,
.cot_xt = &m0_confx_fdmi_filter_xc,
.cot_branch = "u_fdmi_filter",
.cot_xc_init = &m0_xc_m0_confx_fdmi_filter_struct_init,
}

Definition at line 199 of file fdmi_filter.c.