Motr  M0
module.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2020 Seagate Technology LLC and/or its Affiliates
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * For any questions about this software or licensing,
17  * please email opensource@seagate.com or cortx-questions@seagate.com.
18  *
19  */
20 
21 #pragma once
22 #ifndef __MOTR_NET_MODULE_H__
23 #define __MOTR_NET_MODULE_H__
24 
25 #include "module/module.h" /* m0_module */
26 #include "net/net.h" /* m0_net_domain */
27 
38 #ifndef __KERNEL__
40 #ifdef ENABLE_LIBFAB
41  M0_NET_XPRT_LIBFABRIC,
42 #endif /* ENABLE_LIBFAB */
43 #endif /* __KERNEL__ */
45 };
46 
52 };
53 
55 struct m0_net_module {
58 };
59 
61 enum {
63 };
64 
66 enum {
69 };
70 
71 /*
72  * m0_net_module m0_net_xprt_module
73  * +--------------+ +---------------------+
74  * | M0_LEVEL_NET |<-----| M0_LEVEL_NET_DOMAIN |
75  * +--------------+ +---------------------+
76  */
77 extern const struct m0_module_type m0_net_module_type;
78 
80 #endif /* __MOTR_NET_MODULE_H__ */
struct m0_module n_module
Definition: module.h:56
m0_net_xprt_id
Definition: module.h:35
struct m0_net_domain nx_domain
Definition: module.h:51
const struct m0_module_type m0_net_module_type
Definition: module.c:38
struct m0_net_xprt_module n_xprts[M0_NET_XPRT_NR]
Definition: module.h:57
struct m0_module nx_module
Definition: module.h:49
struct m0_net_xprt * nx_xprt
Definition: module.h:50