#
33bc05ea |
|
09-Feb-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates,marshal.c: Allow size param to be number Allow the buffer size type to be a number as well as a string.
|
#
d7aa0224 |
|
29-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates, marshal.c: Add missing semicolons These were previously lost in an earlier rebase.
|
#
bdd32ffa |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates,rpc-connector: Nitpick generation style Tweak the newline character generation in the rpc templates to make the outputted code more readable. It is expected that the output files are formatted by clang-format as part of the build process.
|
#
5dc6c9f2 |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates,marshal: Pass buf and size in function Allow the target buffer to marshal data into to be passed into the marshal functions. This will make it easier to support buffers that aren't the IPC buffer or a global buffer.
|
#
b40911e2 |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates,marshal: Remove usages of c_symbol() c_symbol() generates a unique C symbol name that depends on a global counter. This leads to confusing variable names that change frequently based on any other calls to c_symbol in a project build process. In cases where a globally unique name is not needed, using a local name is better.
|
#
4d74aedf |
|
19-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates, marshal: add namespace_prefix option Macros that print out C variable declarations for the parameters now take an argument, namespace_prefix, that specifies a prefix to add to the variable name. This is to enable generated functions to use local variables without accidentally using a variable name that refers to an interface parameter.
|
#
49c0e1cf |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates, marshal: Remove dead macro parameters The `instance`, `interface` and `error_handler` arguments are no longer used by the marshalling template macros as they are used by the C preprocessor macros instead.
|
#
b4252287 |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates: Convert repeated marshal code to macros Add camkes/marshal_macros.h which provides a series of marshal and unmarshal macros for different RPC parameter types (array, string array, string, regular) into a fixed size buffer. Refactor the marshal.c template code to use the macros. This refactor doesn't change any behavior.
|
#
73c1f1bf |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates, marshal: Free old char* array correctly We need to use the old array length to free all of the old strings before updating it to the new array length.
|
#
ad34a6be |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates: Unfold internal marshal function calls Don't call one function per parameter and instead perform marshalling operations for all parameters within the single method function.
|
#
cecf8a37 |
|
28-Jan-2020 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
templates: Remove TLS usage from rpc connectors The TLS macro implementation was used to manually manage thread local variables in the .data and .bss sections instead of on the stack. This mechanism was used for glue code verification and shouldn't be used in connectors that are free to use the stack.
|
#
24e60e15 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move call-marshal-outputs to helpers/marshal.c as macro
|
#
84058df1 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move marshal-outputs to helpers/marshal.c as macro
|
#
6cf89496 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move call-unmarshal-inputs into helpers/marshal.c as macro
|
#
6d29b6ab |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move unmarshal-inputs into helpers/marshal.c as macro
|
#
4e23d6c1 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move empty case out of show_output_parameter_list The no parameter case needs to be handled differently depending on the callers context and cannot assume it is always correct to put a 'void' in there.
|
#
f1347346 |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Remove size that is not used
|
#
34db4112 |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Common macro for showing output parameters
|
#
2d443ff5 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Fix missing semicolon
|
#
7e87c6b6 |
|
19-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Fix typo nullen->nulllen
|
#
3168abb3 |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Fix buffer length check generation This fixes an error in the refactor to use the macro
|
#
ad5d6e8f |
|
17-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move call-unmarshal-outputs into helpers/marshal.c as macro
|
#
c0f9e6cb |
|
17-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move unmarshal-outputs into helpers.marshal.c as macro
|
#
72ed190c |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Use macro for determining type for
|
#
88fbf304 |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Macro for generating buffer length checks
|
#
12e0eafe |
|
18-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
trivial: Fix indentation
|
#
2becef33 |
|
17-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Use show_input_parameter for marshal functions
|
#
2e5d81ca |
|
17-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Deduplicate logic for showing input parameter lists
|
#
d33fb9bb |
|
16-Jul-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Move input marshalling into macros
|