interface.tmplt 1.62 KB
Newer Older
1 2 3 4 5 6
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@                : The name of the interface
@@-- @_Direction_@           : "PI" or "RI"
@@-- @_Kind_@                : The RCM Kind
@@-- @_Parent_Function_@     : The name of the function
Maxime Perrotin's avatar
Maxime Perrotin committed
7
@@-- @_Language_@            : The implementation language of the function
8 9 10 11 12
@@-- @_Param_Names_@         : List of parameter names
@@-- @_Param_Types_@         :   |_ Corresponding parameter types
@@-- @_Param_Directions_@    :   |_ Corresponding direction
@@-- @_Param_Encodings_@     :   |_ Corresponding encoding (Default, Native, UPER, ACN)
@@IF@@ @_Direction_@ = "PI"
Maxime Perrotin's avatar
Maxime Perrotin committed
13
@@IF@@ @_Param_Names'Length_@ = 0
14
void @_LOWER:Parent_Function_@_@_Name_@(void);
Maxime Perrotin's avatar
Maxime Perrotin committed
15
@@ELSE@@
16
void @_LOWER:Parent_Function_@_@_Name_@
Maxime Perrotin's avatar
Maxime Perrotin committed
17 18 19 20
@@END_IF@@
@@ELSE@@
@@IF@@ @_Param_Names'Length_@ = 0
extern void vm_@_LOWER:Parent_Function_@_@_LOWER:Name_@(void);
21
@@ELSE@@
22
extern void vm_@_LOWER:Parent_Function_@_@_LOWER:Name_@
23
@@END_IF@@
Maxime Perrotin's avatar
Maxime Perrotin committed
24
@@END_IF@@
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
@@INLINE(      \()(,\n       )(\);\n)@@
   @@TABLE@@
      @@IF@@ @_Param_Directions_@ = "PARAM_IN"
         const char *IN_@_Param_Names_@, size_t IN_@_Param_Names_@_len
      @@ELSE@@
         char *OUT_@_Param_Names_@, size_t *OUT_@_Param_Names_@_len
      @@END_IF@@
   @@END_TABLE@@
@@END_INLINE@@
@@INLINE(   /* ASN.1 Type and encoding of the parameters:\n    * )(\n    * )(\n   */\n)@@
   @@TABLE@@
      @@IF@@ @_Param_Directions_@ = "PARAM_IN"
         IN_@_LOWER:Param_Names_@ type: @_Param_Types_@ ; encoding: @_Param_Encodings_@
      @@ELSE@@
         OUT_@_LOWER:Param_Names_@ type: @_Param_Types_@ ; encoding: @_Param_Encodings_@
      @@END_IF@@
   @@END_TABLE@@
42
@@END_INLINE@@