Commit Graph

1881 Commits

Author SHA1 Message Date
Robert Shearman ae94c2207f widl: Export the bracket adding functionality of do_write_expr outside
of header.c.
2005-12-31 13:18:49 +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 4acabfd719 widl: Out parameters.
Marshall and unmarshall out parameters for servers and clients
respectively.
Write out array components for declared local variables in generated
server code.
2005-12-26 13:21:38 +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 7f2419ceed widl: Add some const attributes. 2005-12-26 13:11:33 +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 e59dcf53fc widl: Use the same precendence rule for the conditional operator as in wpp.
Fixes several shift/reduce warnings.
2005-12-26 13:07:08 +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
Bill Medland d5739ed88f winemenubuilder: Provide depth to the menus created. 2005-12-19 21:25:52 +01:00
Hans Leidekker 4f46232368 widl: Avoid lvalue casts in generated code. 2005-12-19 21:20:14 +01:00
Alexandre Julliard 8651ceb18e ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
Changed exception raise functions to call it explicitly.
2005-12-19 09:59:50 +01:00
Alexandre Julliard 5dc6d95952 ntdll: New implementation of relay thunks.
New implementation of relay thunks that doesn't require modifying code
on the fly, so that the thunks can be put in the text section.
Some performance improvements.
2005-12-18 10:45:01 +01:00
Alexandre Julliard db4c1561f2 winebuild: Allow -register flag for Win32 too.
This way it can be used as hint for the relay code.
2005-12-16 12:44:16 +01:00
Jacek Caban a3b35129ce widl: Added bindable and displaybind attributes handling. 2005-12-16 12:40:17 +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
Eric Kohl c4173f7b99 widl: Server stubs in generated code are void functions. 2005-12-13 11:12:37 +01:00
Eric Pouech a6e27ea9c0 winedump: Const correctness fixes. 2005-12-13 11:11:38 +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 12159aec96 widl: Support explicit binding handles. 2005-12-12 12:14:03 +01:00
Robert Shearman 759e3c9fe3 widl: Zero initialize parameters in the generated server code.
Zero initialize parameters in the generated code. Based on a patch by
Eric Kohl.
2005-12-12 12:13:43 +01:00
Robert Shearman dfb716f3d6 widl: Calculate the size of buffer required.
- Calculate the size of buffer required.
- Fix a typo.
- Set the buffer start and buffer end markers.
2005-12-12 12:12:50 +01:00
Robert Shearman fc3821f475 widl: Don't cast buffer pointers to long in generated server code. 2005-12-12 12:12:06 +01:00
Eric Kohl 6744d4e3ea widl: Support multiple interfaces per file. 2005-12-12 12:11:44 +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 6066106bb0 widl: Use WCHAR instead of wchar_t.
Output IDL wchar_t types as WCHAR to avoid conflicts with the
generally incompatible Unix wchar_t.
2005-12-12 12:10:26 +01:00
Robert Shearman fea330364b widl: Don't output __RPC_FAR in generated code. 2005-12-12 11:51:11 +01:00
Vincent Béron 648cc6f435 Update win16.api and win32.api. 2005-12-09 11:22:32 +01:00
Vincent Béron af5a54dea5 sfnt2fnt: Don't print two newlines after error messages. 2005-12-09 11:22:21 +01:00
Vincent Béron fe987b3035 widl: Issue correct C++ headers. 2005-12-09 11:22:04 +01:00
Robert Shearman b86efe5d11 widl: Formatting cleanups. 2005-12-08 13:48:46 +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
Eric Kohl ba39a874d4 widl: Write out argument lists in the server.
- Add framework for updating proc offsets.
- Write out argument lists in the server.
2005-12-08 12:48:44 +01:00
Eric Kohl 80e262202f widl: Rename some variables. 2005-12-08 12:45:45 +01:00
Vincent Béron 2e5da5f421 Add an error() function to fnt2fon and sfnt2fnt. 2005-12-07 12:44:17 +01:00
Detlef Riekenberg 2c5fee9c58 c2man: Remove HTML warnings. 2005-12-06 21:22:28 +01:00
Vincent Béron e78997a7f9 Sort entries in win16.api and win32.api 2005-12-06 11:33:42 +01:00
Vincent Béron 1f9fd44c3a Update win32.api to current git. 2005-12-06 10:58:07 +01:00
Francois Gouget 5193c8565f Update win32.api to match the current sources. 2005-12-05 12:49:30 +01:00
Vincent Béron 18c5a0a2a0 winapi_check: fully descend in included files to check for prototype. 2005-12-03 18:03:50 +01:00
Francois Gouget 5127dc9f49 Assorted spelling fixes. 2005-12-02 16:15:09 +01:00
Francois Gouget 5cbd312bb2 Update win32.api to match the current sources. 2005-12-02 13:32:17 +01:00
Vincent Béron bce123dc46 Use the typedef'd declaration of IRpcStubBuffer and IRpcChannelBuffer
in RPC _Stubs.
Add IRpcStubBuffer and IRpcChannelBuffer declarations to objbase.h.
2005-12-02 13:32:09 +01:00
Vincent Béron 864f631d28 Reorder the virtual table definition so it's defined before it is used
in widl header output.
2005-12-02 13:29:52 +01:00
Vincent Béron 85e9474c78 Use interface instead of struct where appropriate in widl. 2005-12-02 13:28:05 +01:00
Francois Gouget 250c80b1ed Better stick to the PSDK types and to the dsrole.h prototype.
Update win32.api.
2005-12-02 13:27:42 +01:00
Francois Gouget 972b6ccc2e Fix __RPC_USER handling. 2005-12-02 13:01:16 +01:00
Francois Gouget 4a4ab52d76 Better stick to the PSDK types.
Update win32.api.
2005-12-02 13:01:07 +01:00
Vincent Béron 2f8f459516 Make winapi_check understand the interface keyword. 2005-12-02 11:27:13 +01:00
Alexandre Julliard a808f38c1e Added support for Darwin DYLD_LIBRARY_PATH. 2005-11-30 19:45:28 +01:00
Vincent Béron 74ce0d363a Update win32.api to current cvs.
Add __RPC_USER as a calling convention in winapi.
2005-11-30 12:03:03 +01:00
Alexandre Julliard 0d6a305047 Preserve 16-byte stack alignment in 16-bit relays. 2005-11-28 17:39:05 +01:00
Alexandre Julliard c367dc4f2e Enforce 16-byte stack alignment when returning from 16-bit code and
when calling a register function.
2005-11-28 17:38:40 +01:00
Alexandre Julliard ec34a66612 Ignore symlink files too (needed for git). 2005-11-26 13:12:57 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Hans Leidekker 46e018ad37 Also handle mailto: urls. 2005-11-24 19:27:41 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Francois Gouget f667584aac winldap.h should include windeh.f and schnlsp.h.
Enclose the API definitions in an extern "C" section and define
LDAPAPI.
Better stick to the types defined by the PSDK.
Fix the ldap_create_vlv_control*() prototypes.
Update win32.api.
2005-11-23 20:12:07 +01:00
Alexandre Julliard cc01e8ff05 Preserve 16-byte stack alignment in the various assembly
functions. Needed for MacOSX.
2005-11-23 19:55:06 +01:00
Francois Gouget 482df927ca Add LPADDRINFO, missing IP_* defines and missing APIs.
Enclose the API definitions in an extern "C" section.
Define function pointer types if INCL_WINSOCK_API_TYPEDEFS is defined.
Better stick to the types defined by the PSDK.
Update win32.api.
2005-11-23 19:43:50 +01:00
Vincent Béron f41abbd07a Add/correct prototypes for some already defined functions in
advapi32. Correct spec file entry for GetSecurityInfoExW.
2005-11-21 12:06:00 +00:00
Vincent Béron 483f3bac53 Update win32.api to cvs. 2005-11-17 11:03:14 +00:00
Mike McCormack 0077582938 Add timezone information to the registry. 2005-11-15 18:18:27 +00:00
Huw Davies 8056092909 Prefix [putref] property names with putref_. 2005-11-14 15:12:24 +00:00
Vitaliy Margolen 3a547b08bb Add default version information. 2005-11-14 15:11:26 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Markus Amsler 4adae004c3 Make parameter higlighting regex less "hungry". 2005-11-10 11:36:44 +00:00
Vincent Béron 2d2e7f8432 Update win16.api and win32.api. 2005-11-04 11:44:01 +00:00
Vincent Béron 78039be7dd volatile is legal (and used now!) in a typedef struct {}. 2005-11-04 11:39:58 +00:00
Vincent Béron 297ef3af20 Fix typo: PSYM_ENUMSOURCEFILES_CALLBACK instead of
PSYM_ENUMSOURCFILES_CALLBACK.
2005-11-04 11:16:48 +00:00
Vincent Béron eb3fec1b87 __RPC_STUB is a calling convention as well (#defined as __stdcall). 2005-11-04 11:14:41 +00:00
Dmitry Timoshkov 40ffc286f5 Get rid of a double backslash. 2005-11-03 19:32:38 +00:00
Mike McCormack a1b1f997f1 Add the ContextMenuHandlers key for shortcuts so the new context menu
code can work.
2005-11-03 11:33:43 +00:00
Mike McCormack b191c3daef Handle msi component identifiers without a feature guid. 2005-11-02 10:55:13 +00:00
Vitaliy Margolen b3b065ed2d Remove version information. 2005-11-01 18:05:56 +00:00
Hans Leidekker bec54e7c4c Wine is beta software now. 2005-10-27 12:08:24 +00:00
Robert Lunnon d4c425b681 Remove SVR4 specific pseudo-ops. 2005-10-24 15:01:34 +00:00
Simon Richter 9aa432346c Fix winebuild's ppc assembly generation. 2005-10-24 15:01:18 +00:00
Jonathan Ernst 6fc9f190ec Use WineHQ's mirror selection script to get the Mozilla ActiveX
Control.
2005-10-19 19:07:30 +00:00
Mike McCormack bb05f9e9eb Make sure the component string is nul terminated. 2005-10-18 10:36:38 +00:00
Vincent Béron 0be88a04a8 Correct AtlModuleAddTermFunc prototype. 2005-10-18 10:34:21 +00:00
Dmitry Timoshkov b99fa1546c Rename struct option in order to avoid a conflict with wine/port.h. 2005-10-11 19:55:11 +00:00
Alexandre Julliard a8d69d6e35 Add current directory to default include path. 2005-10-10 18:07:34 +00:00
Alexandre Julliard 36c3199782 Default search path for an include file should be based on the path of
the parent source file, not the current directory.
2005-10-10 18:06:50 +00:00
Richard Cohen 41d228aa8e Don't create old unlocalized directories in wineprefixcreate. 2005-10-10 18:03:25 +00:00
Alexandre Julliard ac21d34b26 Set the version we report in wmc and wrc from the global Wine
version.
2005-10-10 10:43:41 +00:00
Alexandre Julliard 5131ba6150 Set the widl version to be the same as the global package version. 2005-10-08 10:37:09 +00:00
Francois Gouget b01d6a9081 Move all Unicode and Ansi string types to the %str and %wstr
sections.
2005-10-08 10:33:54 +00:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 664e4106c6 Added global rules for man pages. 2005-10-06 16:06:04 +00:00
Alexandre Julliard fb3a9ed135 Fixed some nroff warnings. 2005-10-06 11:40:43 +00:00
Francois Gouget 247cd64c0c winapi_check does not use the '--extension' flag so remove it. 2005-10-06 11:34:47 +00:00
Dmitry Timoshkov ea4586215e Ignore the delay load directory size. 2005-10-06 11:34:29 +00:00
Alexandre Julliard f5e49be317 Fixed dumping of the import directory to ignore the directory size. 2005-10-04 15:55:33 +00:00
Dmitry Timoshkov 9e52816b07 Add support for dumping delay load PE data. 2005-10-04 15:49:52 +00:00
Alexandre Julliard e86a6a2454 Get rid of the debug channels support. 2005-09-29 13:41:34 +00:00
Alexandre Julliard 8b84ac8d05 Removed rules for .dbg.c files. 2005-09-29 10:42:43 +00:00
Vincent Béron eeea14a81e Update winapi_check for "false" HAVE_* macros. 2005-09-29 10:33:00 +00:00
Vincent Béron 8ee9f5052b Update win32.api to current CVS. 2005-09-29 10:32:50 +00:00
Alexandre Julliard cd91bc61be Now that we are requiring bison anyway, make the .tab.c file use the
same base name as the .y file, so that we can generate correct
dependencies in all cases.
2005-09-28 18:17:08 +00:00
Vincent Béron ba09692406 Don't treat absence of conditional as config.h being useless if
wine/port.h is included, as it's necessary in that case.
2005-09-28 10:15:44 +00:00
Francois Gouget 2f9678727f Add iads.idl to define the IADsContainer interface.
Add adshlp.h to declare the ADs* functions.
Fix the ADsOpenObject() prototype.
Update win32.api to match.
2005-09-26 16:43:20 +00:00
Francois Gouget f0f179dd0d volatile is valid everywhere const is valid. 2005-09-26 13:25:35 +00:00
Francois Gouget 3f079bfb54 HOLEMENU is a 'long' as far as winapi_check is concerned. 2005-09-26 09:54:22 +00:00
Francois Gouget 5d42588c1c Update win32.api to match the current sources.
Fix the usp10.dll name.
Fix PBERVAL alphabetical order.
2005-09-26 09:53:06 +00:00
Francois Gouget 9714802b25 Update winapi_check so it considers 'longlong' (win*.api files) as
compatible with 'double' (spec files).
2005-09-26 09:52:09 +00:00
Alexandre Julliard 75c27e17b6 Defined a proper structure for debug channels.
Also put all the function pointers inside a structure and added
__wine_dbg_set_functions to change them instead of exporting the
pointers directly.
2005-09-23 10:52:07 +00:00
Alexandre Julliard 94f140ce78 Leave creation of the drive symlinks to wineprefixcreate. 2005-09-22 10:50:12 +00:00
Alexandre Julliard 5cb97d833a Generate 16-bit spec files as assembly code too. 2005-09-21 14:23:54 +00:00
Alexandre Julliard 2aae74dff0 Factor out a couple of useful helper functions. 2005-09-21 11:50:04 +00:00
Alexandre Julliard 210bd2dd94 Make sure that values of absolute symbols fit in 16 bits. 2005-09-21 11:10:54 +00:00
Alexandre Julliard 102617f186 Let winebuild take care of calling the assembler.
Pass -v and -save-temps options through to winebuild too.
2005-09-21 11:00:21 +00:00
Alexandre Julliard 3cd7379d26 Moved stub function generation to import.c. Added a get_stub_name
function to ensure naming consistency.
2005-09-21 10:57:04 +00:00
Alexandre Julliard 5173234ea8 Now that we have to be able to run the assembler from winebuild, added
an option to generate a .spec.o file in a single step.
Added --save-temps and --verbose options for easier debugging.
2005-09-21 10:22:28 +00:00
Alexandre Julliard c5c6968e96 Fixed stack offset of %eax register. 2005-09-20 11:38:29 +00:00
Alexandre Julliard a999a990fe Create an assembly file with all undefined symbols and add it to the
link command so that the symbols show up in the final undefined list.
Use that list to create thunks for all exported but undefined symbols,
to make sure all export RVAs point somewhere inside the module.
2005-09-19 17:04:43 +00:00
Alexandre Julliard 87c347b18e Don't remove ignored symbols from the undefined list, simply skip them
when resolving imports.
Added get_temp_file_name utility function.
2005-09-19 15:24:13 +00:00
Alexandre Julliard 7a52190c03 Take into account -noname functions when checking for duplicate export
names. Fixed a couple of issues found by the stricter check.
2005-09-19 14:44:28 +00:00
Alexandre Julliard 96508ad686 Moved return value handling to the individual relay thunks so that we
only need one version of wine_call_from_16.
Patch the wine_call_from_16 address along with the cs value directly
in the 16-bit code segment to avoid the need for special magic in the
import thunks.
2005-09-18 12:25:22 +00:00
Alexandre Julliard 89024a63d3 Make the users of wine_call_from_32_regs save %eax so that we don't
need a special hack in the import thunk.
Added a get_pc_thunk_eax function to simplify the code a bit.
2005-09-18 11:13:54 +00:00
Alexandre Julliard 80083b18f8 Store RVAs instead of pointers wherever possible in the generated NT
header and directories.
2005-09-17 14:39:51 +00:00
Alexandre Julliard 8c6649e457 Implemented import thunks for x86-64. 2005-09-16 19:39:42 +00:00
Huw Davies 82f6d65b61 Update sfnt2fnt hack, now that Wine Courier is known as Courier. 2005-09-16 18:45:45 +00:00
Alexandre Julliard 13baa7b364 Added a common function to declare global symbols, and make them
hidden on platforms that support it.
2005-09-15 18:48:39 +00:00
Alexandre Julliard 9f49889188 Now that everything is done in assembly in the spec file, directly
generate a .s file to bypass gcc inefficiency with large data
structures.
2005-09-15 15:01:30 +00:00
Alexandre Julliard 41177ca0bd Output the resource data in assembly too. 2005-09-15 09:42:22 +00:00
Alexandre Julliard 8aba0897bd Output constant strings in a more appropriate section than .text. 2005-09-14 19:18:05 +00:00
Alexandre Julliard 3fa5678ea9 Generate stub functions directly in assembly. 2005-09-14 15:49:45 +00:00
Ge van Geldorp 748d23a7d4 Base of REG_DWORD entries must be auto-detected. 2005-09-14 11:15:58 +00:00
Alexandre Julliard 3a503499aa Properly handle the case where vsnprintf returns -1. 2005-09-12 20:31:33 +00:00
Robert Shearman d026458860 - Output prototypes for user marshal functions at the end of the
header and by use.
- Add support for range and ptr attributes and for the "small" base
  type.
2005-09-12 20:13:40 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 14e70340e2 Fixed get_time_str definition to match the prototype. 2005-09-09 09:12:27 +00:00
Vincent Béron ac3ac35f41 Update the win32.api file to current CVS. 2005-09-09 09:11:23 +00:00
Dmitry Timoshkov f861818081 Dump more .lnk file header fields. 2005-09-08 18:54:32 +00:00
Alexandre Julliard 43bd5512c3 Added support for 64-bit format NT header and export/import tables. 2005-09-08 11:35:19 +00:00
Alexandre Julliard c382ed06d3 Added a bit of framework for future x86_64 support. 2005-09-07 13:31:37 +00:00
Christoph Frick 6557832a91 Fake directx 9c instead of 9b. 2005-09-07 13:26:31 +00:00