Go to the documentation of this file.
22#ifndef __VSF_COMPONENT_CFG_H__
23#define __VSF_COMPONENT_CFG_H__
30#ifndef VSF_COMPONENT_ASSERT
31# define VSF_COMPONENT_ASSERT VSF_ASSERT
37#define vsf_peda_evthandler_t vsf_param_eda_evthandler_t
39#define __vsf_component_peda_ifs0(__ifs_name) \
40 dcl_vsf_peda_ctx(__ifs_name) \
41 def_vsf_peda_ctx(__ifs_name) \
42 end_def_vsf_peda_ctx(__ifs_name)
44#define __vsf_component_peda_ifs1(__ifs_name, __args) \
45 dcl_vsf_peda_ctx(__ifs_name) \
46 def_vsf_peda_ctx(__ifs_name, def_args(__args)) \
47 end_def_vsf_peda_ctx(__ifs_name)
49#define __vsf_component_peda_ifs2(__ifs_name, __params, __args) \
50 dcl_vsf_peda_ctx(__ifs_name) \
51 def_vsf_peda_ctx(__ifs_name, __params, __args) \
52 end_def_vsf_peda_ctx(__ifs_name)
54#define __vsf_component_peda_ifs3(__ifs_name, __params, __args, __locals) \
55 dcl_vsf_peda_ctx(__ifs_name) \
56 def_vsf_peda_ctx(__ifs_name, __params, __args, __locals) \
57 end_def_vsf_peda_ctx(__ifs_name)
62#define __vsf_component_peda_ifs(__peda_name, ...) \
63 __PLOOC_EVAL(__vsf_component_peda_ifs, __VA_ARGS__) \
64 (__peda_name, ##__VA_ARGS__)
69#define __vsf_component_peda_ifs_entry(__peda_name, __ifs_name, ...) \
70 dcl_vsf_peda_ctx(__peda_name) \
71 def_vsf_peda_ctx(__peda_name, \
73 implement(vsf_peda_arg(__ifs_name)) \
79 end_def_vsf_peda_ctx(__peda_name) \
80 static imp_vsf_peda(__peda_name)
82#define __vsf_component_peda_entry0(__peda_name, __decoration) \
83 __vsf_component_peda_ifs(__peda_name) \
84 __decoration imp_vsf_peda(__peda_name)
86#define __vsf_component_peda_entry1(__peda_name, __decoration, __args) \
87 __vsf_component_peda_ifs(__peda_name, __args) \
88 __decoration imp_vsf_peda(__peda_name)
90#define __vsf_component_peda_entry2(__peda_name, __decoration, __params, __args)\
91 __vsf_component_peda_ifs(__peda_name, __params, __args) \
92 __decoration imp_vsf_peda(__peda_name)
94#define __vsf_component_peda_entry3(__peda_name, __decoration, __params, __args, __locals)\
95 __vsf_component_peda_ifs(__peda_name, __params, __args, __locals) \
96 __decoration imp_vsf_peda(__peda_name)
103#define __vsf_component_peda_public_entry(__peda_name, ...) \
104 __PLOOC_EVAL(__vsf_component_peda_entry, __VA_ARGS__) \
105 (__peda_name, , ##__VA_ARGS__)
107#define __vsf_component_peda_private_entry(__peda_name, ...) \
108 __PLOOC_EVAL(__vsf_component_peda_entry, __VA_ARGS__) \
109 (__peda_name, static, ##__VA_ARGS__)
111#define __vsf_component_call_peda_ifs0( __peda_name, \
114 __extra_local_size, \
117 *(&(__err)) = vsf_call_peda(__peda_name, \
118 (uintptr_t)(__entry), \
119 (__extra_local_size), \
120 (uintptr_t)(__param)); \
123#define __vsf_component_call_peda_ifsn( __peda_name, \
126 __extra_local_size, \
130 vsf_peda_arg(__peda_name) _ = { __VA_ARGS__ }; \
131 *(&(__err)) = vsf_call_peda(__peda_name, \
132 (uintptr_t)(__entry), \
133 (__extra_local_size), \
134 (uintptr_t)(__param), \
138#define __vsf_component_call_peda_ifs1 __vsf_component_call_peda_ifsn
139#define __vsf_component_call_peda_ifs2 __vsf_component_call_peda_ifsn
140#define __vsf_component_call_peda_ifs3 __vsf_component_call_peda_ifsn
141#define __vsf_component_call_peda_ifs4 __vsf_component_call_peda_ifsn
142#define __vsf_component_call_peda_ifs5 __vsf_component_call_peda_ifsn
143#define __vsf_component_call_peda_ifs6 __vsf_component_call_peda_ifsn
144#define __vsf_component_call_peda_ifs7 __vsf_component_call_peda_ifsn
145#define __vsf_component_call_peda_ifs8 __vsf_component_call_peda_ifsn
146#define __vsf_component_call_peda_ifs9 __vsf_component_call_peda_ifsn
147#define __vsf_component_call_peda_ifs10 __vsf_component_call_peda_ifsn
148#define __vsf_component_call_peda_ifs11 __vsf_component_call_peda_ifsn
149#define __vsf_component_call_peda_ifs12 __vsf_component_call_peda_ifsn
150#define __vsf_component_call_peda_ifs13 __vsf_component_call_peda_ifsn
151#define __vsf_component_call_peda_ifs14 __vsf_component_call_peda_ifsn
152#define __vsf_component_call_peda_ifs15 __vsf_component_call_peda_ifsn
157#define __vsf_component_call_peda_ifs(__peda_name, __ret, __entry, __local_size, __param, ...)\
158 __PLOOC_EVAL(__vsf_component_call_peda_ifs, __VA_ARGS__) \
159 (__peda_name, (__ret), __entry, (__local_size), (__param), ##__VA_ARGS__)
164#define __vsf_component_call_peda(__peda_name, __ret, __param, ...) \
165 __vsf_component_call_peda_ifs(__peda_name, __ret, vsf_peda_func(__peda_name), 0, (__param), ##__VA_ARGS__)
168#define vsf_component_peda_ifs_entry __vsf_component_peda_ifs_entry