summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/dcom.idl
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r7029: Make array support in pidl similar to that in other IDL compilers. We ↵Jelmer Vernooij1-8/+8
should now able to use constructions like these: [size_is(20)] int *x; -> Pointer to array of 20 ints [size_is(20)] int x[]; -> Array of 20 ints [size_is(20)] int *x[]; -> Array of 20 pointers to ints [size_is(20,)] int *x[] -> Array of 20 pointers to ints [size_is(,20)] int *x[]; -> Pointer to array of 20 ints [size_is(,20)] int **x; -> Pointer to pointer to array of 20 ints [size_is(20)] int x[][30]; -> 20 blocks of 30 ints (This used to be commit ecf583da71c2f80be124c17fccdcb284b47e0695)
2007-10-10r6973: Merge new version of pidl into the main SAMBA_4_0 branch.Jelmer Vernooij1-1/+15
The main difference in this new version is the extra data structure generated between the IDL data structure and the NDR parser: IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc } This makes the ndr_parser.pm internals much more sane. Other changes include: - Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags. - Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc.. - Use if() {} rather then if () goto foo; everywhere - NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC - By default, top level pointers are now "ref" (as is the default in most other IDL compilers). This can be overridden using the default_pointer_top() property. - initial work on new ethereal parser generators by Alan DeKok and me - pidl now writes errors in the standard format used by compilers, which is parsable by most editors - ability to warn about the fact that pidl extension(s) have been used, useful for making sure IDL files work with other IDL compilers. oh, and there's probably some other things I can't think of right now.. (This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
2007-10-10r5674: - Re-enable DCOM support.Jelmer Vernooij1-1/+1
- Always put IID in vtables (useful for asserts) - Add table to keep track of DCOM proxy classes - Bunch of smaller bug fixes (This used to be commit 26d5a0b92c66bc86d0c26f687f83fa712342ac32)
2007-10-10r5661: Be a little stricter on syntax regarding arrays. A pointer to anJelmer Vernooij1-8/+8
array can now only be : type *name[]; rather then : type *name; which was supported in the past. Warnings will be given when the first syntax is used. Reasons for this change in behaviour include improved readability and the fact that the second format makes dealing with multiple levels of pointers harder. (This used to be commit a416de5825c540fd3741731c4be05e9a659a6fdb)
2007-10-10r5492: Update example coclass, autogenerate some parts.Jelmer Vernooij1-4/+14
(This used to be commit 3c31cbaac0cd916e6af49bfd2260bc3b1a75b677)
2007-10-10r5490: The big (D)COM commit! :-) Contains most of the changes described in theJelmer Vernooij1-3/+3
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly figuring out how things *really* work) at the end of 2004. In general: - Clearer distinction between COM and DCOM. DCOM is now merely the glue between DCE/RPC+ORPC and COM. COM can also work without DCOM now. This makes the code a lot clearer. - Clearer distinction between NDR and DCOM. Before, NDR had a couple of "if"s to cope with DCOM, which are now gone. - Use "real" arguments rather then structures for function arguments in COM, mainly because most of these calls are local so packing/unpacking data for every call is too much overhead (both speed- and code-wise) - Support several mechanisms to load class objects: - from memory (e.g. part of the current executable, registered at start-up) - from shared object files - remotely - Most things are now also named COM rather then DCOM because that's what it really is. After an object is created, it no longer matters whether it was created locally or remotely. There is a very simple example class that contains both a class factory and a class that implements the IStream interface. It can be tested (locally only, remotely is broken at the moment) by running the COM-SIMPLE smbtorture test. Still to-do: - Autogenerate parts of the class implementation code (using the coclass definitions in IDL) - Test server-side - Implement some of the common classes, add definitions for common interfaces. (This used to be commit 71fd3e5c3aac5f0002001ab29d2248e6c6842d6f)
2007-10-10r5486: - Use references to interfaces in coclasses rather thenJelmer Vernooij1-11/+12
full interfaces. - Couple of bugfixes in odl.pm - First use of multiple pointers in dcom.idl (This used to be commit 3110c2ec44a872a53e7d6015b85c68fdb604b4de)
2007-10-10r5476: Move ORPC extensions to DCE/RPC into seperate file.Jelmer Vernooij1-199/+0
(This used to be commit 75d8fc8338ea0345ed0181f5700640029e311599)
2007-10-10r5362: Add pointer_default() support to pidl. pointer_default()Jelmer Vernooij1-0/+15
is assumed to be "ptr" if not specified (just like midl). The validator will warn when "ptr" is used at the moment, because pidl only supports unique, ref and relative at the moment. (This used to be commit 31bed62a9a6f7830f523d509b67970648d40aaef)
2007-10-10r5361: Rename some functions, add tests to validator.Jelmer Vernooij1-1/+1
(This used to be commit c9d7b88756039a3eb3024c886851e489c46ef67f)
2007-10-10r5036: changed HYPER_T to the more standard "hyper"Andrew Tridgell1-4/+4
(This used to be commit 1d1a9c11ee681540ef8a1029409bb24fc26f976c)
2007-10-10r3896: Correct header files in rpc server templates plusJelmer Vernooij1-0/+14
some other minor fixes (This used to be commit 9fca748fe3c12af83a006f1d0821aa560d08fc95)
2007-10-10r3689: Large number of COM updates:Jelmer Vernooij1-18/+13
- Work on server side and local COM support (should work, just no example classes yet) - Use vtables so that local and remote calls can be used transparently - Generate 'proxies and stubs' rather then heavily modified code in client.pm and server.pm. proxies (client side code) are generated in proxy.pm, stubs (server side dispatchers) are generated in stubs.pm - Support registering classes and interfaces - DCOM interfaces no longer have to be in the same IDL file as their base interface, which will allow us to split up dcom.idl (This used to be commit 7466947a23985f9bb15209b67880f7b94dc515c8)
2007-10-10r3667: Small COM fixesJelmer Vernooij1-11/+12
(This used to be commit 7484b9be7423ccd7e37432951700939e8a53d513)
2007-10-10r3626: More minor DCOM fixesJelmer Vernooij1-60/+21
(This used to be commit 709f279b192c8f9eeea04749169c00f2d57b20d3)
2007-10-10r3611: DCOM client support works!!Jelmer Vernooij1-8/+12
The torture test DCOM-SIMPLE now successfully does an IStream_Read and a IStream_Write call. This test can now be run successfully against the "Simple DCOM" Visual Studio example. (You have to quote out line 337 in pidl. pidl complains if the variable that contains the array size follows the array. I still need to fix this properly) Next goals: - Clean up code - Server side support - Support custom marshalling - Support DCOM interfaces in files other then dcom.idl (This used to be commit 8693344772a9b700533179f4bacfe27ec27dfcfe)
2007-10-10r3606: More DCOM fixes:Jelmer Vernooij1-14/+2
- OXID tables work now. IOXIDResolver is used if there is used for getting a STRINGBINDING if none is known yet - Add custom dissectors for STRINGARRAY and DUALSTRINGARRAY. If there's a way to get rid of these later on (by supporting them thru pidl somehow), I'd be happy to use that instead of doing it manually. I can now get to the point where we have created an object and are connected to it. The only thing left to do is being able to set the Object UUID properly.. (This used to be commit 54e1e5edca50d3cd496c080715e84ec62cb2a10c)
2007-10-10r3601: Lots of smaller DCOM updates and fixes. Adds oxid tables, properJelmer Vernooij1-7/+6
use of contexts. (This used to be commit 93eb3cd99c4fb065a69eabcead0c33804259c976)
2007-10-10r3536: Some minor IDL updates/fixes/additionsJelmer Vernooij1-14/+16
(This used to be commit 6fab01df000a126d2d01c41ead952d027f755309)
2007-10-10r3515: Fix RemoteActivation correctly this time (-:Jelmer Vernooij1-2/+1
Thanks to tridge for some help on this one! (This used to be commit 1104667190aa144e2c7d79ece9a55502b98d0351)
2007-10-10r3514: Allow specification of username, password and domain and try to set ↵Jelmer Vernooij1-3/+3
up connection. (This used to be commit 8076db7a1f9e11c725e481a0bda4dbc354c9612f)
2007-10-10r3513: Add (the infrastructure for) DCOM support. Contents:Jelmer Vernooij1-2/+2
- Support for sending over the object UUID in DCERPC calls - Simple torture test for the DCOM "Simple" object - Generate extra argument for "object" interfaces in pidl - Some stubs for common DCOM functions (This used to be commit c052f2e1edd816206d8974af3140cec7ef97a70c)
2007-10-10r3490: All tests work against NT4 nowJelmer Vernooij1-1/+18
(This used to be commit 640e3a8ce865a72b171bdf15c8cf5afc2987a5d3)
2007-10-10r3487: RemoteActivation works! The only odd bit is that I get either aJelmer Vernooij1-9/+9
NT_STATUS_BUFFER_TOO_SMALL or a NT_STATUS_NET_WRITE_FAULT if I try other user accounts. Must've got something to do with the auth padding... (This used to be commit f6f3d312bf43354564a9b0816edc3a13b520192d)
2007-10-10r3442: Add support for the "call_as" and "local" attributes.Jelmer Vernooij1-11/+11
(This used to be commit 8e25117103b0339441bc6328176ed34034005528)
2007-10-10r3440: Add support for "coclass" to the pidl parser - the idl keyword thatJelmer Vernooij1-0/+18
describes a COM class. A coclass is the implementation of one or more interfaces. It has a UUID referred to as it's CLSID (Class ID). Also adding an example coclass called "CoffeeMachine". You can give it a string (or a cup, whatever you like ;-) and it will fill it with "COFFEE" (kind of the like the echo pipe is for regular RPC). CoffeeMachine's Windows implementation already works, a torture test for Samba will follow soon. (This used to be commit 05dd840b6ffba0d38d98e2e80d856e2f2b5d877c)
2007-10-10r3433: Use .mk file for librpc/Jelmer Vernooij1-1/+1
(This used to be commit c1f345eefdce3f6fc9e3a526543b2b9a6441e566)
2007-10-10r3432: Support WERROR's in arguments (not just as return type). Some ofJelmer Vernooij1-20/+19
the DCOM calls are wrappers around several local calls, so you get things like: WERROR foobar ( [in] int num_ifaces, [in,size_is(num_ifaces)] IID *ifaces, [out,size_is(num_ifaces)] WERROR *results); (This used to be commit 0873bf2cbe3589988e518cf68ad4d14343b9240b)
2007-10-10r3413: RemoteActivation updates and fixesJelmer Vernooij1-10/+0
Add torture test for RemoteActivation The request is now send correctly and we get back a valid response from Windows but r->in.Interfaces is set to 0 somewhere while parsing the response... (This used to be commit cabec03422f0c7140b56b2d5c4ec8ca663b406fc)
2007-10-10r3283: converted to quoted uuid() defines in all our IDL. This should helpAndrew Tridgell1-12/+12
the build on systems like solaris with the SunPRO compiler (This used to be commit fe913ad11bf1c5e9fe04ed769a93b0ea16aa0a34)
2007-10-10r2830: // style comments are not supported by pure C preprocessors. Please ↵Volker Lendecke1-129/+129
DONT use them. This includes idl files. Volker (This used to be commit d9f3c4e301e52d8e7d7049e657185a66bfad29f7)
2007-10-10r2818: On AIX, for some reason pidl fails in dcom.idl:29. The only thingVolker Lendecke1-2/+2
is a /* style comment. Try //. Volker (This used to be commit 73adc1f357bc0ac01729eb03b26f27cf28226c23)
2007-10-10r2741: Definition for ISystemActivator...Jelmer Vernooij1-1/+5
(This used to be commit 0bb42ba898a0d02c98bbefcfe5b9e42409658609)
2007-10-10r2740: Finish the RemoteActivation interface. Torture tests will followJelmer Vernooij1-8/+5
after pidl has been fixed (to be able to use input variables inside size_is() for output variables) (This used to be commit ea0b0bfea97067118dab634efefd3115b7a0fd85)
2007-10-10r2735: More DCOM updates:Jelmer Vernooij1-134/+95
- Several updates to the interface definitions after reading some more of the specs - Add Remote Activation interface - Add body extension uuids - Add oxidresolve torture test to list - Make pidl complain about object interfaces that don't inherit from IUnknown (This used to be commit 1bb471832830d73f0c7290e2ec12878518598379)
2007-10-10r2705: Don't try RemQueryInterface2 for now (doesn't validate)Jelmer Vernooij1-2/+2
(This used to be commit b2f4532e906e1a5bf134812072aad211ba2d01bb)
2007-10-10r2699: Correct handle ServerAlive() and ServerAlive2() + add torture testsJelmer Vernooij1-13/+7
(This used to be commit 9e74144aa8e5f9a8b6e3d5293833c4afeebeddb0)
2007-10-10r2696: DCOM updates:Jelmer Vernooij1-79/+0
- Start working on OXIDResolver interface - Add torture test for SimplePing() (This used to be commit b54d14a01a71082251ff926ab57974c6eb3c0a41)
2007-10-10r1929: CHeck if cpp on AIX likes /* */ better then //Jelmer Vernooij1-2/+2
(This used to be commit 8bf6841a8e9c7fa6d12c6631c9c845edbe52a455)
2007-10-10r1920: This needs more inspection by the IDL experts. Reverting my last change.Volker Lendecke1-156/+156
Volker (This used to be commit 5d9b5a2e58cb271ea38de96e2b4b252ded2b1cdf)
2007-10-10r1917: Attempt to push the AIX machine a bit further in the compile. I'm not ↵Volker Lendecke1-156/+156
sure, but pidl there says "syntax error". Volker (This used to be commit c26dc367e4ef2619016d8063a9dfcc7a94be865b)
2007-10-10r1838: Updates from the airplane:Jelmer Vernooij1-23/+40
- IDL fixes + adding comments - Start working on dcom infrastructure (This used to be commit ef0fc269f06c82594c34ad8673c76c5ea099250e)
2007-10-10r1799: List more uuids. FromJelmer Vernooij1-41/+69
http://www.hsc.fr/ressources/articles/win_net_srv (This used to be commit 8d36dbed8c5bdc82176083b2c6f8d989ae903ba5)
2007-10-10r1774: Add the uuids of the known exchange pipesJelmer Vernooij1-0/+4
(This used to be commit 0e07a068b4fa6eaa4c73681dc2e4c156605aba89)
2007-10-10r1742: Add the IDispatch interfaceJelmer Vernooij1-35/+107
(This used to be commit 798017bd10338a3a53aa5616a5eeb1146b24180f)
2007-10-10r1736: - Pidl updates:Jelmer Vernooij1-20/+35
- Support for "object oriented" interfaces in pidl - Support for inherited interfaces in pidl - Simplification of the support for properties on an interface - Start on dcom rpc torture tests (This used to be commit 45c3d0036b8510102816f9cdff9210098259cc5f)
2007-10-10r1711: Add ServerAlive2Jelmer Vernooij1-0/+6
(This used to be commit fe6f82f3d9146c1fc9efb3b47a9e63361b62be14)
2007-10-10r1706: More IDL pipesJelmer Vernooij1-0/+24
(This used to be commit fbbb020ea6a7cd8e7192b67ef8b45dbbc8474399)
2007-10-10r1703: - Lots of RPC updates, adding new pipes and protocols.Jelmer Vernooij1-15/+428
- More updates/fixes to the ethereal parser generator (This used to be commit 547f860285b117e291bf3dbaca0707dc268b214e)
2003-11-28 * added a bunch of placeholder IDL filesAndrew Tridgell1-0/+43
* allow for an interface to list its endpoints in the IDL file, so we can automatically make the server listen on the right pipes, and can scan pipes more easily (I don't take advantage of this yet, just putting the infrastructure in place) (This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)