Motr  M0
filter.h File Reference
#include "lib/types.h"
#include "lib/buf.h"
#include "lib/buf_xc.h"
#include "xcode/xcode.h"
#include "xcode/xcode_attr.h"
Include dependency graph for filter.h:

Go to the source code of this file.

Data Structures

struct  m0_fdmi_filter
 
struct  m0_fdmi_flt_opnd_pld
 
struct  m0_fdmi_flt_operand
 
struct  m0_fdmi_flt_var_node
 
struct  m0_fdmi_flt_node_ptr
 
struct  m0_fdmi_flt_op_node_opnds
 
struct  m0_fdmi_flt_op_node
 
struct  m0_fdmi_flt_node
 

Macros

#define __MOTR_FDMI_FDMI_FILTER_H__
 
#define _QUOTE(s)   #s
 

Enumerations

enum  m0_fdmi_filter_type_id { M0_FDMI_FILTER_TYPE_TREE = 1, M0_FDMI_FILTER_TYPE_KV_SUBSTRING }
 
enum  m0_fdmi_flt_op_code {
  M0_FFO_OR, M0_FFO_AND, M0_FFO_NOT, M0_FFO_EQUAL,
  M0_FFO_GT, M0_FFO_GTE, M0_FFO_LT, M0_FFO_LTE,
  M0_FFO_COMMON_OPS_CNT, M0_FFO_TEST = M0_FFO_COMMON_OPS_CNT, M0_FFO_TOTAL_OPS_CNT
}
 
enum  m0_fdmi_flt_operand_type {
  M0_FF_OPND_INT, M0_FF_OPND_UINT, M0_FF_OPND_STRING, M0_FF_OPND_BOOL,
  M0_FF_OPND_TYPES_CNT
}
 
enum  m0_fdmi_flt_opnd_pld_type { M0_FF_OPND_PLD_INT, M0_FF_OPND_PLD_UINT, M0_FF_OPND_PLD_BOOL, M0_FF_OPND_PLD_BUF }
 
enum  { FDMI_FLT_MAX_OPNDS_NR = 2 }
 
enum  m0_fdmi_flt_node_type { M0_FLT_VARIABLE_NODE = 0, M0_FLT_OPERAND_NODE = 1, M0_FLT_OPERATION_NODE = 2 }
 

Functions

M0_INTERNAL int m0_fdmi_flt_node_xc_type (const struct m0_xcode_obj *par, const struct m0_xcode_type **out)
 
M0_INTERNAL int m0_fdmi_flt_node_print (struct m0_fdmi_flt_node *node, char **out)
 
M0_INTERNAL int m0_fdmi_flt_node_parse (const char *str, struct m0_fdmi_flt_node *node)
 
M0_INTERNAL void m0_fdmi_flt_bool_opnd_fill (struct m0_fdmi_flt_operand *opnd, bool value)
 
M0_INTERNAL void m0_fdmi_flt_int_opnd_fill (struct m0_fdmi_flt_operand *opnd, int64_t value)
 
M0_INTERNAL void m0_fdmi_flt_uint_opnd_fill (struct m0_fdmi_flt_operand *opnd, uint64_t value)
 
struct m0_fdmi_flt_nodem0_fdmi_flt_op_node_create (enum m0_fdmi_flt_op_code op_code, struct m0_fdmi_flt_node *left, struct m0_fdmi_flt_node *right)
 
struct m0_fdmi_flt_nodem0_fdmi_flt_var_node_create (struct m0_buf *data)
 
struct m0_fdmi_flt_nodem0_fdmi_flt_bool_node_create (bool value)
 
struct m0_fdmi_flt_nodem0_fdmi_flt_int_node_create (int64_t value)
 
struct m0_fdmi_flt_nodem0_fdmi_flt_uint_node_create (uint64_t value)
 
M0_INTERNAL void m0_fdmi_filter_init (struct m0_fdmi_filter *flt)
 
M0_INTERNAL void m0_fdmi_filter_fini (struct m0_fdmi_filter *flt)
 
M0_INTERNAL void m0_fdmi_filter_root_set (struct m0_fdmi_filter *flt, struct m0_fdmi_flt_node *root)
 

Variables

enum m0_fdmi_filter_type_id M0_XCA_ENUM
 

Macro Definition Documentation

◆ __MOTR_FDMI_FDMI_FILTER_H__

#define __MOTR_FDMI_FDMI_FILTER_H__

Definition at line 26 of file filter.h.