Commit Graph

449 Commits

Author SHA1 Message Date
Rob Shearman 701a25c4b2 widl: Always write a freeing function for arrays in generated code.
Fix the conditions under which pfnFree is called to only include arrays 
that will have been allocated, instead of being pointed to the buffer.
2007-12-10 14:40:07 +01:00
Michael Stefaniuc 7f5757f683 tools: Remove duplicate includes. 2007-11-19 13:54:52 +01:00
Dan Hipschman a0ac63961d widl: Don't rely on type_memsize to return 0 for all conformant arrays. 2007-11-06 13:02:56 +01:00
Dan Hipschman b0bc8e58de widl: Don't output a void conformance for NdrClearOutParameters. 2007-11-05 13:24:37 +01:00
Dan Hipschman 8d15820f79 widl: Handle pointers to conformant arrays (e.g., "[size_is(, n)] int **p; "). 2007-11-05 13:24:37 +01:00
Dan Hipschman 9825ac7a1a widl: Fix a crash in compare_expr. 2007-10-25 12:54:57 +02:00
Dan Hipschman f974facf5a widl: Allow void pointers with iid_is attributes. 2007-10-25 12:54:52 +02:00
Dan Hipschman ff8930f2bf widl: Fix problems with variable-size user types. 2007-10-22 13:47:56 +02:00
Francois Gouget 599c74296c widl: Add the trailing '\n' to an error message. 2007-10-19 11:45:52 +02:00
Dan Hipschman 1d0f9378bc widl: Detect conformant arrays of user types correctly. 2007-10-18 12:09:23 +02:00
Dan Hipschman 4fb7a0e40e widl: Remove printf format strings that aren't really format strings. 2007-10-18 12:09:14 +02:00
Dan Hipschman f173addbef widl: Use new functions need_proxy and need_stub to clean up code and avoid generating unnecessary files. 2007-10-16 11:03:49 +02:00
Dan Hipschman acfde97b9e rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant array tests. 2007-10-11 16:24:28 +02:00
Dan Hipschman 2226ddcadf widl: Keep track of every allocated type_t to simplify set_all_tfswrite. 2007-10-09 17:52:45 +02:00
Dan Hipschman 9650cf9bdb widl: Correct default pointers. 2007-10-03 10:09:56 +02:00
Dan Hipschman 304852f97e widl: Write types in the format string comments. 2007-10-03 10:09:43 +02:00
Dan Hipschman 32a2477ef5 widl: Add a declonly argument to write_type_left. 2007-10-03 10:09:31 +02:00
Dan Hipschman 4c8c425f42 widl: Add newlines to error messages that are missing them. 2007-10-03 10:08:47 +02:00
Rob Shearman 2055e636ae widl: Generate client and server code for using context handles. 2007-09-28 10:59:49 +02:00
Dan Hipschman cbd75d3ace widl: Fix array alignment bug. 2007-09-27 11:07:15 +02:00
Dan Hipschman 723c8bacfa widl: Fix string codes in pointer descriptions. 2007-09-27 10:09:38 +02:00
Dan Hipschman 347f2a2da2 widl: Fix top-level conformant arrays with pointer attributes. 2007-09-27 10:09:32 +02:00
Dan Hipschman bb3275ce97 widl: Clean up write_conf_or_var_desc with string_of_type. 2007-09-25 11:40:29 +02:00
Dan Hipschman 767a1f26f6 widl: Handle top-level conformance for complex arrays. 2007-09-20 14:27:29 +02:00
Dan Hipschman 33da66d6c8 widl: Set the pointer description offset to zero if there are no pointers. 2007-09-20 14:27:22 +02:00
Dan Hipschman 132f06cd48 widl: Implement complex arrays. 2007-09-19 11:39:09 +02:00
Dan Hipschman 6eb07cb100 widl: Handle all buffer sizes. 2007-09-19 11:38:53 +02:00
Dan Hipschman 8df79f0c99 widl: Implement pointer descriptions for complex structures. 2007-09-19 11:38:28 +02:00
Dan Hipschman b16de39417 widl: Fix alignment comments. 2007-09-19 11:38:16 +02:00
Rob Shearman aa649542e2 widl: None of the non-fixed arrays have fixed sizes, so don't set the alignment to anything and return a size of 0 from get_required_buffer_size_type. 2007-09-18 10:48:06 +02:00
Rob Shearman cf983bf15d widl: Missing size_is or length_is attributes should generate 0xffffffff for the correlation description. 2007-09-18 10:47:58 +02:00
Rob Shearman 9a28119dd8 widl: Fix write_string_tfs for strings declared as arrays.
The immediate type will be FC_*ARRAY, so rtype needs to use the referred 
type to get the base type.

Also update the typeformat-string offset of the type.
2007-09-17 12:57:08 +02:00
Rob Shearman f7fbfc7da5 widl: Add support for strings embedded in structures. 2007-09-17 12:57:06 +02:00
Dan Hipschman 5e84eb9a47 widl: Add padding to the end of complex structures. 2007-09-14 14:43:13 +02:00
Dan Hipschman ce4055c573 widl: Fix an unused parameter warning on write_conf_or_var_desc. 2007-09-13 12:44:18 +02:00
Dan Hipschman 177346f1b6 widl: Add calls to NdrFooFree for more types in server stubs. 2007-09-13 12:44:12 +02:00
Dan Hipschman 7deb62505c widl: Use the correct functions for interface pointers in stubs. 2007-09-13 12:44:07 +02:00
Dan Hipschman ba54c455fb widl: Allow size_is on strings. 2007-09-10 15:29:46 +02:00
Dan Hipschman 62fb623e14 widl: Implement NDR for struct field alignment. 2007-09-10 15:29:46 +02:00
Dan Hipschman 3d036da6d3 widl: Fix top-level and callback conformances. 2007-09-10 15:29:46 +02:00
Alexandre Julliard 40dda77c52 widl: Added support for floating-point constants. 2007-07-17 14:12:18 +02:00
Dan Hipschman 46222aee6e widl: Allow enums as union switch types. 2007-06-26 11:59:53 +02:00
Dan Hipschman 704f2868ed widl: Fix crash dealing with anonymous unions. 2007-06-26 11:59:15 +02:00
Dan Hipschman 512c36cae6 widl: Get simple enums working. 2007-06-26 11:59:02 +02:00
Dan Hipschman ab22b4b3d4 widl: Check for user types when calculating buffer size. 2007-06-26 11:58:48 +02:00
Dan Hipschman fcebe48cad widl: Check for interface pointers in pointer handling. 2007-06-26 11:58:22 +02:00
Dan Hipschman bf5e46a60a widl: Fix warnings about unused function parameters. 2007-06-21 13:11:03 +02:00
Dan Hipschman 4e8c8d03e5 widl: Add tests for arrays of pointers. 2007-06-21 13:10:46 +02:00
Rob Shearman 4050c5f035 widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures. 2007-06-20 13:08:26 +02:00
Rob Shearman 4292776b83 widl: Write out embedded pointers for the element type when writing out arrays. 2007-06-20 13:08:22 +02:00
Rob Shearman 6ad13f3ed1 widl: Implement pointer descriptions for all embedded pointer types. 2007-06-20 13:07:07 +02:00
Dan Hipschman 58dea5c9a8 widl: Fix a write_parameters_init bug. 2007-06-15 12:02:58 +02:00
Dan Hipschman e36981e116 widl: Factor the output functions. 2007-06-15 12:02:18 +02:00
Dan Hipschman e4679b0c13 widl: Handle encapsulated unions. 2007-06-15 11:57:53 +02:00
Dan Hipschman 8709a06028 widl: Handle embedded interface pointers. 2007-06-15 11:56:17 +02:00
Alexandre Julliard 9821acf5d2 widl: Add typecasts for user marshalling routines to avoid compiler warnings. 2007-06-14 12:10:45 +02:00
Dan Hipschman 3325020636 widl: Handle wire_marshal pointer attributes. 2007-06-14 11:36:05 +02:00
Dan Hipschman c0982b42c5 widl: Handle wire_marshal types. 2007-06-14 11:35:44 +02:00
Dan Hipschman 88c8128704 widl: Simplify correlation descriptor code. 2007-06-12 11:13:30 +02:00
Dan Hipschman 4e22899e13 widl: Fix incomplete struct/union typedef bug. 2007-06-08 11:57:15 +02:00
Dan Hipschman b186c4dd0e widl: Check for NULL in set_tfswrite. 2007-06-08 11:57:05 +02:00
Dan Hipschman 8f689ee023 widl: Implement conformant structure handling. 2007-06-06 12:13:35 +02:00
Dan Hipschman 978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +02:00
Rob Shearman 5ca386755e widl: Set current_structure when writing out structure members to
ensure the conformance/variance calculation function can find the
necessary fields in the structures.
2007-05-31 12:25:18 +02:00
Rob Shearman 36fd85f4cc widl: RPC_FC_BIND_PRIMITIVE is a base type so reverse an if statement
that caused string_of_type to fail and the RPC_FC_BIND_PRIMITIVE code
not to be executed.
2007-05-31 12:25:09 +02:00
Dan Hipschman 8f7a5d63ec widl: Allow types that reference themselves. 2007-05-25 19:36:12 +02:00
Dan Hipschman 00ce411231 widl: Handle pointers in unions.
Unify write_pointers with write_embedded_types, and handle pointers in
unions.  Includes tests.
2007-05-25 19:35:29 +02:00
Dmitry Timoshkov 4d0d9fcb69 widl: Fix compilation warnings in 64-bit mode. 2007-05-23 13:05:04 +02:00
Dmitry Timoshkov ccac7d1f11 widl: Fix compilation warnings in 64-bit mode. 2007-05-21 15:55:33 +02:00
Dan Hipschman c5aaadc4c8 widl: Lay framework for unions with simple unions working. 2007-05-21 12:40:58 +02:00
Dan Hipschman 18724eaeb8 widl: Replace erroneously removed current_func assignment.
This accidentally came out and should not have.  Thanks to Eric Kohl
for pointing this out to me.
2007-05-21 12:39:23 +02:00
Dan Hipschman 52ca3ebada widl: Write some structures to the type format string on the fly. 2007-05-16 13:33:17 +02:00
Dan Hipschman 217fc9c0f3 widl: Improve handling of offsets in the type format string. 2007-05-16 13:33:17 +02:00
Dan Hipschman d9c120490f widl: Handle pointers fields that point to structures. 2007-05-14 14:24:16 +02:00
Dan Hipschman faf5071549 widl: Remove an unnecessary assignment in write_pointers. 2007-05-14 14:24:06 +02:00
Dan Hipschman ef433e2792 widl: Remove var_t's ptr_level field and start write_pointers. 2007-05-11 12:33:27 +02:00
Dan Hipschman 933ca7b126 widl: Add string_of_type function, prettify code. 2007-05-10 12:53:45 +02:00
Dan Hipschman d676d3be5f widl: Get rid of the tname field of var_t, simplify code. 2007-05-01 12:37:18 +02:00
Dan Hipschman 1ecbb01617 widl: Get rid of the typeref_t structure, simplify code. 2007-05-01 12:37:08 +02:00
Dan Hipschman a67c37f871 widl: Declare fixed-size array args as pointers to arrays. 2007-04-26 16:12:15 +02:00
Alexandre Julliard defc1d873e widl: Add missing '\n' on error message. 2007-02-28 20:44:24 +01:00
Rob Shearman 94a0a90165 widl: Print EXPR_NUM expresssions as unsigned to avoid printing an extra negative sign when lval is large. 2007-02-26 17:33:40 +01:00
Alexandre Julliard 94ee8e8fac widl: Output endpoint information in client and server files. 2007-02-07 17:55:09 +01:00
Alexandre Julliard 936455edd7 widl: Added support for iid_is conformance descriptors. 2007-02-06 16:00:41 +01:00
Alexandre Julliard 3c2a9f5df8 widl: size_is and length_is are expression lists now. 2007-02-06 15:59:24 +01:00
Alexandre Julliard 3bfa88dc49 widl: Take array dimensions into account when computing buffer size. 2007-02-06 15:55:49 +01:00
Alexandre Julliard 3fa891bfee widl: Add support for arrays of simple types in format strings. 2007-02-06 15:55:29 +01:00
Alexandre Julliard 732b3dc8c7 widl: Output correct alignments in type format strings. 2007-02-06 15:54:58 +01:00
Alexandre Julliard 9f1e9ad326 widl: Copy the UserMarshal support into the generic code. 2007-01-26 11:59:58 +01:00
Alexandre Julliard 8d50f9d054 widl: Add support for some simple pointer types. 2007-01-24 20:10:57 +01:00
Alexandre Julliard d885244148 widl: Store the interface id in _StubMsg.MaxCount for iid_is pointers. 2007-01-24 20:10:07 +01:00
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