10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
|
Synopsis:
1. `tcc4tcl::cproc <procName> <argList> <returnType> <code>`
1. `<procName>` is the name of the Tcl procedure to create
1. `<argList>` is a list of arguments and their types for the C function;
1. The list is in the format of: type1 name1 type2 name2 ... typeN nameN
1. The supported types are:
1. Tcl_Interp*
1. int
1. long
1. float
1. double
1. char*
1. Tcl_Obj*
1. void*
1. Tcl_Interp*
1. int
1. long
1. float
1. double
1. char*
1. Tcl_Obj*
1. void*
1. `<returnType>` is the return type for the C function
1. The supported types are:
1. void: No return value
1. ok: Return TCL\_OK or TCL_ERROR
1. int
1. long
1. float
1. double
1. char*: TCL_STATIC string (immutable from C)
1. string, dstring: TCL_DYNAMIC string (mutable from C)
1. vstring: TCL_VOLATILE string (mutable from C)
1. default: Tcl_Obj*, a Tcl Object
1. void: No return value
1. ok: Return TCL\_OK or TCL_ERROR
1. int
1. long
1. float
1. double
1. char*: TCL_STATIC string (immutable from C)
1. string, dstring: TCL_DYNAMIC string (mutable from C)
1. vstring: TCL_VOLATILE string (mutable from C)
1. default: Tcl_Obj*, a Tcl Object
1. `<code>` is the C code that comprises the function
Example:
1. `tcc4tcl::cproc add {int a int b} { return(a+b); }`
|