Alexandre Julliard
4f106ca398
widl: Fix alignment check for struct members format string.
2007-01-24 20:08:50 +01:00
Alexandre Julliard
8996c79d83
widl: Fix possible crash in write_array_tfs.
2007-01-24 20:08:06 +01:00
Alexandre Julliard
8e3c5c9ab9
widl: Skip local functions when building format strings.
2007-01-24 20:06:51 +01:00
Alexandre Julliard
6dd5afd723
widl: Export a function to compute the proc format string size for a function.
2007-01-24 20:05:22 +01:00
Alexandre Julliard
6655071a3f
widl: Move initialization of the stub buffer size into write_remoting_arguments().
2007-01-24 20:02:05 +01:00
Alexandre Julliard
85ed9ca31a
widl: Move support for stub arguments to typegen.c to make it usable for proxies too.
2007-01-24 19:59:16 +01:00
Alexandre Julliard
43ac6ed995
widl: Convert expression lists to standard Wine lists.
...
Add a specific type for array dimensions.
2007-01-22 14:31:40 +01:00
Alexandre Julliard
eed74e4e4a
widl: Convert variable lists to standard Wine lists.
2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b
widl: Convert function lists to standard Wine lists.
2007-01-22 14:23:08 +01:00
Alexandre Julliard
e262933bdf
widl: Convert interface lists to standard Wine lists.
2007-01-22 14:21:56 +01:00
Alexandre Julliard
e998590557
widl: Convert attribute lists to standard Wine lists.
2007-01-22 14:20:36 +01:00
Dan Hipschman
6e7389ada8
widl: Remove unused parameter in write_ip_tfs.
2006-09-14 11:39:37 +02:00
Dan Hipschman
6ff8ae327f
widl: Add more complete pointer handling to write_typeformatstring_var.
2006-09-08 11:05:02 +02:00
Dan Hipschman
88820263c6
widl: Remove checks for typedefs that always fail.
2006-09-07 10:49:46 +02:00
Dan Hipschman
3870bf0d9e
widl: Output format-strings for interface pointers.
2006-08-18 11:36:21 +02:00
Dan Hipschman
9b16916ed1
widl: Allow format-string functions to work with objects.
2006-08-18 11:36:06 +02:00
Dan Hipschman
b7e7243a1e
widl: Move format-string declaration output to typegen.c.
2006-08-17 11:21:10 +02:00
Dan Hipschman
06497dd44c
widl: Use ref_type to simplify some code.
2006-08-12 11:40:30 +02:00
Dan Hipschman
216171fe52
widl: Add ref_type (dereference typedefs) and use it.
2006-08-10 10:57:53 +02:00
Robert Shearman
f627845624
widl: Add support for the builtin constants "TRUE" and "FALSE".
2006-07-07 14:30:34 +02:00
Alexandre Julliard
043fd66907
widl: Use unsigned int instead of size_t to avoid printf format warnings.
2006-06-13 14:13:49 +02:00
Robert Shearman
90decb631c
widl: Properly size the return value procformat.
2006-06-02 10:52:23 +02:00
Robert Shearman
6f85f989f5
widl: Only write one procformat string and one typeformat string per file.
2006-06-02 10:52:10 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Kohl
b64154882c
widl: Fix a typo.
2006-05-05 16:36:46 +02:00
Eric Kohl
ff302bfc7a
widl: Implement support for unique pointers to strings.
2006-04-21 11:28:03 +02:00
Eric Kohl
e7134bd4cd
widl: Implement support for unique pointers to arrays.
2006-04-17 11:18:49 +02:00
Eric Kohl
7fb3f12ce5
widl: Implement support for ref pointers to simple structs.
2006-04-10 15:56:50 +02:00
Eric Kohl
83d72a4318
widl: Implement support for ref pointers to arrays of base types.
2006-04-05 10:58:25 +02:00
Robert Shearman
e2ea2b5891
widl: Fix the type offset for generated conformant string calls.
2006-04-03 21:36:06 +02:00
Robert Shearman
837e830a26
widl: There's no need to cast _StubMsg - it's already of the correct type.
2006-03-31 17:38:00 +02:00
Robert Shearman
3e065ab342
widl: Move handling of base type marshaling and unmarshaling to a separate function.
...
Move handling of base type marshaling and unmarshaling to a separate
function and improve it to support return values.
2006-03-31 17:37:01 +02:00
Robert Shearman
eb000448a0
widl: Use print_phase_function for printing NdrPointerFree call.
2006-03-31 17:36:39 +02:00
Robert Shearman
04632f6ab7
widl: Add a function to generate the Ndr type calls.
...
- Add a function to generate the Ndr type calls.
- Fix a typo where the aligned buffer was added to itself, rather than
assigned.
2006-03-31 17:36:23 +02:00
Robert Shearman
96f6a22ece
widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.
...
Only write the buffer incrementing code for the marshaling and
unmarshaling phases - buffer sizing is handled elsewhere and freeing
isn't applicable.
2006-03-31 17:36:06 +02:00
Robert Shearman
226c8f6b52
widl: Output the necessary sizing information for other phases.
...
Output the necessary sizing information for PHASE_BUFFERSIZE and
PHASE_FREE as well as PHASE_MARSHAL. Standardise this rule in a new
function.
2006-03-31 17:35:49 +02:00
Robert Shearman
4edcf2de35
widl: De-reference parameters' types before deciding what to do with them.
...
De-reference parameters' types before deciding what to do with them.
Also dereference string parameters since they are immediately
dispatched to write_string_tfs when the string attribute is detected
without any further processing done on them.
2006-03-31 17:34:48 +02:00
Robert Shearman
4b5386e2cd
widl: Write pointer calls for all non-basetype pointer parameters to functions.
2006-03-31 17:34:38 +02:00
Robert Shearman
97d6f7c444
widl: NdrFcShort should be written out instead of NdrShort.
2006-03-31 17:31:44 +02:00
Robert Shearman
bed9fdec8d
widl: Output the numeric equivalent of FC_END, not the string FC_END itself.
2006-03-31 17:31:31 +02:00
Robert Shearman
3ec771a20f
widl: Support references in type_memsize.
2006-03-31 17:31:18 +02:00
Eric Kohl
12d4d9c229
widl: Implement support for ref pointers to strings.
2006-03-30 16:24:35 +02:00
Eric Kohl
1a5c6ef47d
widl: Implement support for pointers to base types.
2006-03-28 14:43:28 +02:00
Eric Kohl
6ad46cc961
widl: Fix base type alignments.
...
Generate aligned marshal and unmarshal code for base type arguments
and return values.
2006-03-23 17:06:25 +01:00
Eric Kohl
1550938a50
widl: Fix format string size calculation.
...
- Move proc format string size calculation from client.c and server.c
to typegen.c.
- Implement type format string size calculation.
2006-03-23 17:06:10 +01:00
Kevin Koltzau
a8b209752f
widl: Fix 64bit warning.
2006-02-22 22:17:25 +01:00
Robert Shearman
55df46ab85
widl: Merge marshall_arguments and unmarshall_arguments into one
...
function to remove the large amount of duplicated code.
2006-02-07 12:32:24 +01:00
Robert Shearman
f1bb0a474b
widl: Yet more const attributes.
2006-02-07 12:31:43 +01:00
Eric Kohl
417a61fa61
widl: Fix proc format string for explicit binding handles.
2006-02-07 12:30:55 +01:00
Robert Shearman
8d7fa4c013
widl: Write out the correct FC type if the structure has pointers.
2006-02-07 12:30:23 +01:00
Robert Shearman
4c8370f97e
widl: Split pointer writing into a separate function.
2006-02-07 12:30:07 +01:00
Robert Shearman
864d5a38c5
widl: Increment the type format string when writing the pointer
...
layouts.
Write out pointer layouts for structures.
2006-02-07 12:28:33 +01:00
Robert Shearman
ccf509b4c6
widl: Add architecture for generating pointer layouts.
2006-02-03 18:51:17 +01:00
Eric Kohl
dd57b45aaa
widl: The 'string' attribute can also be used with unsigned characters.
2006-02-03 18:47:06 +01:00
Robert Shearman
0d4e1bc336
widl: Fix a SEGV when using arrays declared using a pointer and
...
attributes, instead of array indices (reported by Eric Kohl).
2006-02-01 12:29:23 +01:00
Robert Shearman
c418226093
widl: Changes to output for better debugability.
...
Write the offset and the absolute address for referenced types.
Write the current offset out when writing a pointer type.
2006-01-31 18:08:24 +01:00
Robert Shearman
1478ac85a9
widl: Clean up conformant struct handling.
...
Make the writing of conformant structures take advantage of the new
type format string offset handling.
2006-01-31 18:08:03 +01:00
Robert Shearman
5764d5518d
widl: Fix the writing of arrays with size specified in the array
...
expression instead of the size_is expression.
2006-01-31 18:07:45 +01:00
Robert Shearman
06ab21b668
widl: Improve the current type offset passing.
...
Change the functions to take the current type offset and return the
start of the type written.
2006-01-31 18:07:20 +01:00
Robert Shearman
ac5a4393d5
widl: The stack/structure offset in correlation descriptors should be a short.
2006-01-31 18:06:53 +01:00
Robert Shearman
0a2c5b73fd
widl: Support client/server generation for explicit_handle interfaces
...
(based on a patch by Eric Kohl).
2006-01-31 18:06:17 +01:00
Robert Shearman
c08e00a9ec
widl: Implement constant conformance.
2006-01-31 18:05:43 +01:00
Robert Shearman
cf1ccfb712
widl: Use a macro to write out FC types, along with the current offset
...
which is useful for debugging.
2006-01-31 12:25:54 +01:00
Robert Shearman
2ee6f722e0
widl: Pass the current type format string offset through all type
...
writing functions.
2006-01-31 12:24:54 +01:00
Robert Shearman
a6909fa5e8
widl: Eliminate redundant callback routines.
...
Add a function for comparing expressions and use it to eliminate
redundant callback functions.
2006-01-31 12:24:11 +01:00
Robert Shearman
b59c995c89
widl: Implement callback conformance.
2006-01-27 12:53:32 +01:00
Robert Shearman
2d4edc3b3d
widl: Generate type format strings for conformant varying arrays.
2006-01-24 11:14:59 +01:00
Robert Shearman
9f76c0cfee
widl: Support generation of conformant structure type strings.
2006-01-24 11:13:49 +01:00
Robert Shearman
90032b2da6
widl: Conformant arrays have a size of 0.
...
Conformant arrays should cause a size of 0 to be returned from
type_memsize.
2006-01-24 11:13:30 +01:00
Robert Shearman
73023890c5
widl: Support correlation descriptors in structures.
2006-01-24 11:12:54 +01:00
Robert Shearman
362d42e082
widl: Fix the detection of conformant and pointer structs.
2006-01-24 11:11:56 +01:00
Robert Shearman
8f1ed85891
widl: Simple structs and complex pointers.
...
Write out type format string for simple structs and for pointers to
non-simple types.
2006-01-24 11:11:29 +01:00
Robert Shearman
584c89bd8f
widl: Add framework for generating struct and union type format strings.
2006-01-24 11:10:59 +01:00
Robert Shearman
263a75d47a
widl: Support different types of simple pointers.
...
Support pointer types in unmarshall_arguments.
2006-01-24 11:10:42 +01:00
Robert Shearman
69551fdf74
widl: Generate NdrNonConformatString* calls for non-conformant string types.
2006-01-24 11:10:08 +01:00
Robert Shearman
a6c6e1d032
widl: Add functions for detecting array and string types.
...
Add functions for detecting array and string types and use these in
both writing type format strings and when marshalling and
unmarshalling parameters.
2006-01-24 11:09:53 +01:00
Robert Shearman
793bc8de69
widl: Support some more complicated conformance / variance expressions.
2006-01-24 11:09:03 +01:00
Robert Shearman
4a7c04791d
widl: Start implementing writing of conformance/variance descriptors.
2006-01-24 11:08:20 +01:00
Robert Shearman
21a90850cb
widl: Strings.
...
Write out type format strings for string types.
2006-01-24 11:07:39 +01:00
Robert Shearman
d07589e32f
widl: Arrays.
...
Write out type format strings for arrays, except for the missing
generic functionality of conformance and variance descriptors.
2006-01-24 11:07:13 +01:00
Robert Shearman
fce01e6920
widl: Simplify write_typeformatstring_type.
...
Simplify handling of types in write_typeformatstring_type by only
writing non-pointer types out when ptr_level is 0. Add stubs for
functions that will write out the type format string for strings and
arrays.
2006-01-24 11:06:32 +01:00
Robert Shearman
479be2e6af
widl: Don't use recursion for write_typeformatstring_type.
...
Since a var_t can now be passed in, rename to
write_typeformatstring_var. Simplifies the code.
2006-01-24 11:06:10 +01:00
Robert Shearman
6d76ad87c6
widl: Don't use recursion to implement write_procformatstring_type.
...
Renamed to write_procformatstring_var now since we can pass a var_t in
again. This results in simpler code.
2006-01-24 11:05:51 +01:00
Robert Shearman
ba0f0761f0
widl: Generate static sizing information for fixed size structs.
...
Don't generate FC_*_BASETYPE proc and type format strings for
non-basetype fields/params.
2006-01-06 21:06:24 +01:00
Robert Shearman
8494f57d17
widl: Output sizing information for arrays in the generated marshaling code.
2005-12-31 13:19:13 +01:00
Robert Shearman
f56737579e
widl: Fix merge conflict.
2005-12-26 13:22:46 +01:00
Robert Shearman
93775adf75
widl: Follow type references in procformat and typeformat string generation.
2005-12-26 13:22:32 +01:00
Robert Shearman
7fb311b49f
widl: Handle marshaling and unmarshaling structures.
2005-12-26 13:22:05 +01:00
Robert Shearman
e0dd7b6ed8
widl: Remove some duplication.
...
Remove some duplicated code by calling an improved
get_required_buffer_size.
Add some more newlines in the generated code to separate separate
stages.
Calculate the buffer size of [out] arguments in generated server code.
Fix the direction passed into unmarshall_arguments.
2005-12-26 13:20:59 +01:00
Robert Shearman
7e5cf94f13
widl: Pass a state into marshall_arguments and unmarshall_arguments to
...
decide which parameters should be considered based on their direction.
2005-12-26 13:14:28 +01:00
Robert Shearman
24d1b71d91
widl: Generate marshaling and unmarshaling statements for arrays.
2005-12-26 13:13:41 +01:00
Robert Shearman
25116ae360
widl: Treat variables with array indices the same as pointers.
2005-12-26 13:13:04 +01:00
Robert Shearman
c0f4605b82
widl: Advance the type format string whilst marshaling and
...
unmarshaling arguments.
2005-12-26 13:12:46 +01:00
Robert Shearman
c8703d17b0
widl: Convert the main while loops in marshall_arguments and
...
unmarshall_arguments into for loops.
2005-12-26 13:12:26 +01:00
Robert Shearman
413738810f
widl: Add support for marshalling and unmarshalling conformant strings.
2005-12-26 13:12:03 +01:00
Robert Shearman
73dff5c465
widl: Prepare marshall and unmarshall code generation functions for
...
accepting pointers.
2005-12-26 13:09:36 +01:00
Robert Shearman
86c3a2e76a
widl: Fix SEGVs with client and server code generation when an
...
interface has no methods.
2005-12-26 13:08:51 +01:00
Robert Shearman
73a25d316d
widl: Generate correct proc format strings for [out] and [in, out] parameters.
2005-12-26 13:07:55 +01:00
Robert Shearman
30a9f99bb9
widl: Better array support.
...
Treat variables with array indices the same as pointers when writing
out the proc & type format strings.
Fix a typo when writing out the proc format string where a non-return
type was written out for a return type and vice-versa.
2005-12-26 13:06:29 +01:00
Robert Shearman
783198be37
widl: Support non-basic variables in proc format strings.
2005-12-26 13:05:55 +01:00
Robert Shearman
88fd90b4c5
widl: Add helper functions that return the size of procformat and
...
typeformat strings for variables.
2005-12-26 13:05:29 +01:00
Hans Leidekker
4f46232368
widl: Avoid lvalue casts in generated code.
2005-12-19 21:20:14 +01:00
Robert Shearman
435e36e366
widl: Start generating type format strings.
...
Based on a patch by Eric Kohl.
2005-12-13 11:22:08 +01:00
Robert Shearman
ccdc119da0
widl: Generate FC_ERROR_STATUS_T proc format.
...
- Include the header file for the functions implemented in typegen.c.
- Generate proc format for FC_ERROR_STATUS_T type.
2005-12-12 12:14:31 +01:00
Robert Shearman
f4356a64e3
widl: Don't treat FC_SMALL as FC_SHORT.
...
FC_SMALL is its own type and is the same size as FC_CHAR, not
FC_SHORT.
2005-12-12 12:11:11 +01:00
Robert Shearman
fea330364b
widl: Don't output __RPC_FAR in generated code.
2005-12-12 11:51:11 +01:00
Robert Shearman
92c568ab5d
widl: Marshal and unmarshal basic types.
2005-12-08 12:53:58 +01:00
Robert Shearman
35d327bd0d
widl: Add a type generator framework.
...
Add a framework for writing the strings for marshaling and
unmarshaling parameters and make the client and server use it.
2005-12-08 12:52:13 +01:00