Motr  M0
fol_fdmi_src.h
Go to the documentation of this file.
1 /* -*- C -*- */
2 /*
3  * Copyright (c) 2017-2020 Seagate Technology LLC and/or its Affiliates
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * For any questions about this software or licensing,
18  * please email opensource@seagate.com or cortx-questions@seagate.com.
19  *
20  */
21 
22 
23 #pragma once
24 
25 #ifndef __MOTR_FOL_FDMI_SRC_H__
26 #define __MOTR_FOL_FDMI_SRC_H__
27 
28 #include "fdmi/source_dock.h"
29 
30 /* Forward declarations */
31 struct m0_fom;
32 struct m0_conf_fdmi_filter;
33 struct m0_fdmi_eval_ctx;
35 
44 
45  uint32_t ffh_opecode;
46 
47  int (*ffh_fol_frag_get_val)(void *fol_data,
48  struct m0_fdmi_flt_var_node *value_desc,
49  struct m0_fdmi_flt_operand *value);
50 
51 };
52 
56  uint64_t ffsc_magic;
57 
60 
61  /* FOL specific data */
62 
65 
68 };
69 
73 M0_INTERNAL int m0_fol_fdmi_src_init(void);
74 
81 M0_INTERNAL void m0_fol_fdmi_src_fini(void);
82 
86 M0_INTERNAL int m0_fol_fdmi_src_deinit(void);
87 
89 M0_INTERNAL void m0_fol_fdmi_post_record(struct m0_fom *fom);
90 
92 M0_INTERNAL int
95  struct m0_fdmi_eval_var_info *var_info);
96 
97 
99 M0_INTERNAL bool
101  const char **substrings);
104 #endif /* __MOTR_FOL_FDMI_SRC_H__ */
105 
106 /*
107  * Local variables:
108  * c-indentation-style: "K&R"
109  * c-basic-offset: 8
110  * tab-width: 8
111  * fill-column: 80
112  * scroll-step: 1
113  * End:
114  */
115 /*
116  * vim: tabstop=8 shiftwidth=8 noexpandtab textwidth=80 nowrap
117  */
int(* ffh_fol_frag_get_val)(void *fol_data, struct m0_fdmi_flt_var_node *value_desc, struct m0_fdmi_flt_operand *value)
Definition: fol_fdmi_src.h:47
struct m0_fdmi_src * ffsc_src
Definition: fol_fdmi_src.h:59
uint32_t ffsc_handler_number
Definition: fol_fdmi_src.h:67
M0_INTERNAL int m0_fol_fdmi_src_deinit(void)
Definition: fol_fdmi_src.c:601
M0_INTERNAL int m0_fol_fdmi_src_init(void)
Definition: fol_fdmi_src.c:551
int const char const void * value
Definition: dir.c:325
Definition: buf.h:37
Definition: filter.py:1
M0_INTERNAL void m0_fol_fdmi_src_fini(void)
Definition: fol_fdmi_src.c:594
M0_INTERNAL void m0_fol_fdmi_post_record(struct m0_fom *fom)
Definition: fol_fdmi_src.c:646
Definition: dump.c:103
M0_INTERNAL bool m0_fol_fdmi__filter_kv_substring_match(struct m0_buf *value, const char **substrings)
Definition: fol_fdmi_src.c:710
Definition: fom.h:481
struct ffs_fol_frag_handler * ffsc_frag_handler_vector
Definition: fol_fdmi_src.h:64
Definition: nucleus.c:42
M0_INTERNAL int m0_fol_fdmi_filter_kv_substring(struct m0_fdmi_eval_ctx *ctx, struct m0_conf_fdmi_filter *filter, struct m0_fdmi_eval_var_info *var_info)
Definition: fol_fdmi_src.c:738