summaryrefslogtreecommitdiff
path: root/source4/build/pidl
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3442: Add support for the "call_as" and "local" attributes.Jelmer Vernooij4-664/+749
(This used to be commit 8e25117103b0339441bc6328176ed34034005528)
2007-10-10r3440: Add support for "coclass" to the pidl parser - the idl keyword thatJelmer Vernooij1-4/+17
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-10r3432: Support WERROR's in arguments (not just as return type). Some ofJelmer Vernooij1-1/+1
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-10r3431: Allow optional semicolon after interface definitionsJelmer Vernooij2-128/+151
(This used to be commit edbd789abb505accd3e72863d13acd2603d991f6)
2007-10-10r3428: switched to using minimal includes for the auto-generated RPC code.Andrew Tridgell3-5/+33
The thing that finally convinced me that minimal includes was worth pursuing for rpc was a compiler (tcc) that failed to build Samba due to reaching internal limits of the size of include files. Also the fact that includes.h.gch was 16MB, which really seems excessive. This patch brings it back to 12M, which is still too large, but better. Note that this patch speeds up compile times for both the pch and non-pch case. This change also includes the addition iof a "depends()" option in our IDL files, allowing you to specify that one IDL file depends on another. This capability was needed for the auto-includes generation. (This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
2007-10-10r3423: auto-generate prototypes for all external functions in pidlAndrew Tridgell3-79/+147
(This used to be commit 009488dfe55f5219b24c30222b1a8bf411a7e939)
2007-10-10r3410: Handle conversion of DATA_BLOBs and pointers to DATA_BLOBs from python.Tim Potter1-1/+5
(This used to be commit 12e037dbe3d497aff2415c0a22fab20a7932ab7a)
2007-10-10r3406: Don't throw a werror exception for WERR_NO_MORE_ITEMS and WERR_MORE_DATA.Tim Potter1-1/+3
(This used to be commit deaa5159f41a8841d75801b441e7bd5cf2636870)
2007-10-10r3303: Call pull function for correct type instead of spoolss_PrinterInfo whenTim Potter1-1/+1
unmarshalling arrays. (This used to be commit ee535b6801e553d0a180f18cc2c4b4438ee23de1)
2007-10-10r3282: some C pre-processors don't like expressions likeAndrew Tridgell3-2/+14
uuid(1ff70682-0a51-30e8-076d-740be8cee98b) so we now accept uuid("1ff70682-0a51-30e8-076d-740be8cee98b") in pidl, and automagically add quotes only if needed (This used to be commit 4aab2cb210eb9678bb72aebb33dcf6fd499206c1)
2007-10-10r3281: some compilers can't handle empty structures, so for empty IDLAndrew Tridgell1-0/+6
structures generate a single _empty_ element in the header (This used to be commit 00ff1ca1d284bb698e98c773b18a29695e927605)
2007-10-10r3204: Got unpacking of an array of PrinterInfo union elements working. Phew.Tim Potter1-53/+44
(This used to be commit f490cd719cc02589e73e26fa983aff90708d1926)
2007-10-10r3043: Use binding strings for specifying endpoints. The property forJelmer Vernooij1-9/+7
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]", where ifacename is the name of the interface. Examples: [ uuid(60a15ec5-4de8-11d7-a637-005056a20182), endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:") ] interface rpcecho { void dummy(); } dcerpc_binding is now converted to ep_description in the server, but I hope to completely eliminate ep_description later on. The eventual goal of all these changes is to make it easier to add transports as I'm going to add support for ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets). (This used to be commit f3da7c8b443a29b0c656c687a277384ae1353792)
2007-10-10r3022: Work on unmarshalling arrays of structs in a buffer (Python string) forTim Potter1-6/+32
spoolss. Doesn't quite work yet. (This used to be commit 9045645ddf4eb8b5596d220ed936c8731641ef0a)
2007-10-10r3009: Fix up unmarshall functions to return Python dict instead of a NTSTATUS.Tim Potter1-18/+7
We can now unmarshall a single printer returned from an EnumPrinters. (This used to be commit 89da7a9196d40699881f12c9a5fe62301aafd4cf)
2007-10-10r3001: Expose unmarshalling functions for structures marked "public" in theTim Potter1-10/+33
idl. This allows us to pass a buffer of bytes returned from a spoolss call and convert it to a Python dictionary. Works for enumprinters level 1! (This used to be commit 4bc497a2994b12845a46b2d19f60bb81c9869fc9)
2007-10-10r2994: More cleanups. Move the generation of NTSTATUS and WERROR exceptionsTim Potter1-2/+19
from inside a swig %exception block and into the argout typemap. This will allow us to wrap functions that don't require exception handling, and also get rid of some ugly code in dcerpc.i (This used to be commit 558076cc8ddbdb563869f7d35150310217f30c31)
2007-10-10r2990: Add support to pidl for autogenerating ndr_size_*() functions. AddingJelmer Vernooij1-1/+129
the [gensize] property to a struct or union will make pidl generate a ndr_size_*() function. (not all nasty bits of NDR are completely covered yet by the ndr_size*() functions, support for those will be added when necessary) I also have a local patch (not applied now) that simplifies the pidl output and eliminates the number of functions required. It would, however, make pidl more complex. (This used to be commit 7c823f886afd0c4c6ee838f17882ca0658417011)
2007-10-10r2988: this should fix support for negative switch levels in PIDLAndrew Tridgell1-3/+3
(This used to be commit 21ed51d47f7efd493ad64b564fb6362ef8fb067f)
2007-10-10r2987: added support for signed 32 bit integers in pidlAndrew Tridgell1-0/+1
(This used to be commit 24122eb93e39de8db3675618b6c227c95eb58d9c)
2007-10-10r2986: Add correct value to dict when generating wrapper for functions thatTim Potter1-2/+19
return WERROR values. Clean up WERROR vs NTSTATUS handling a bit. (This used to be commit e6756e3ee0af3e7e98f6deaf9dc83af9aac1b586)
2007-10-10r2973: Allow comma's inside parentheses in property argumentsJelmer Vernooij2-234/+283
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
2007-10-10r2968: fixed the byte order problem with the new RHS parsing on ncacn_ip_tcpAndrew Tridgell1-1/+1
(This used to be commit cc00f9b6b87783d189df00de0ce9ae92b907e21a)
2007-10-10r2966: Handle conversion of DATA_BLOB fields from Python in a slightly nicerTim Potter1-0/+5
manner. I'm hoping to get rid of DATA_BLOB's but for the moment they make it easy to get some spoolss action happening quickly. (This used to be commit 15f8f73f8bfec099973fb8bf167020ae50346cf6)
2007-10-10r2963: Handle structures that contain more than one union as members.Tim Potter1-2/+2
(This used to be commit 6a47a079c003c2a139665ad2b5ede5d139049bd1)
2007-10-10r2962: Tweak to get conversion function for pointers to union compiling again.Tim Potter1-1/+1
(This used to be commit 8c9c94d578651c5884db0aa0feb6e16858274fbb)
2007-10-10r2958: the warnings from the swig code in pidl were totally swamping validAndrew Tridgell2-15/+17
warnings, making real errors impossible to spot. this fixes the warnings, and probably fixes some pidl/python bugs as well. (This used to be commit 2f1e9954e3381b1864a6fd9fa8b2231478179d4d)
2007-10-10r2948: added support for the [range(low,high)] attribute in pidl. This allowsAndrew Tridgell1-0/+5
range checking of any integer value, to help protect against denial of service attacks (which could otherwise cause large memory allocations) (This used to be commit dbe6430d78f1b9aa59969074077e4afa5adf7570)
2007-10-10r2933: Only pull a union once when it occurs in a subcontextJelmer Vernooij1-2/+6
(This used to be commit 309623447eef9ae554e2f25713c2123ab578cc6e)
2007-10-10r2805: Handle NULL pointers when converting structures to Python. All theTim Potter1-1/+4
test cases up till now haven't come across them yet! (This used to be commit 5fd3c12d4fe3e572618bcd71c5915f69539fe7e6)
2007-10-10r2777: Correctly abort if an idl file fails to parse. Bloody perl...Tim Potter1-1/+1
(This used to be commit 35ff140b43b353a8848e417bb309046605e98085)
2007-10-10r2767: Get rid of some unnecessary %s formatting.Tim Potter1-2/+2
(This used to be commit b63a0ef0d41e6f0fdc6bf46435fb7b81925946da)
2007-10-10r2764: Use hand-written function for all occurrences of IDL strings, not justTim Potter1-2/+2
those with a single pointer. (This used to be commit c4c748ce63fd2d87d4388a1eac9afa586867ce28)
2007-10-10r2735: More DCOM updates:Jelmer Vernooij1-4/+10
- 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-10r2704: Complain about 'object interfaces' that don't have version 0.0 (the ↵Jelmer Vernooij2-1/+7
standard doesn't allow them to! I think the idea is that you just create a new interface that inherits your old interface, thus ensuring backwards-compatibility) Re-enable to validator (This used to be commit e364e46a88e5a222c94cdb9cf8e7a124e43f0bcf)
2007-10-10r2560: Don't require structure fields that have the pidl value() propertyTim Potter1-1/+5
to be set. They can be if you want, but will be overwritten by the pidl push code. (This used to be commit 3170f6ed84e0514bf18d2a346f153bf0231b245b)
2007-10-10r2496: Check that reference parameters are not None.Tim Potter1-1/+9
(This used to be commit a2ab6c5ef9cc6db27fc8c73e6117f0f7a116d563)
2007-10-10r2491: Handle pointers to scalars when converting to a Python dictionary (i.eTim Potter1-30/+1
resume handles). Remove some now unused debugging code. (This used to be commit f250203a5f54c689c09ba780e9e3af7f8f2311bb)
2007-10-10r2490: Some changes to take into account non-error NTSTATUS codes being ↵Tim Potter1-2/+6
returned: - Only throw an exception if NT_STATUS_IS_ERR() instead of !NT_STATUS_IS_OK(). - Add the NTSTATUS value to the returned dictionary under a key of 'result' so calling functions can access it. (This used to be commit 4ddcae90a2e9b93e58bd57932cd9ae4c95be6ae8)
2007-10-10r2428: Handle unions as [out] parameters by passing the value of the switch_isTim Potter1-15/+61
parameter down to the various conversion functions. (This used to be commit 46b3d4cfd8effcc75293b8b0af04203fa25742b2)
2007-10-10r2426: Handle pointer to scalars converting C to Python.Tim Potter1-10/+26
Peeked at parser.pm for some hints at getting array lengths right when the length_is property is present. (This used to be commit a17aaadb7d57dbe4cf0a62634f405c61b79a953f)
2007-10-10r2425: Found another place for a type check. When convert a dictionary valueTim Potter1-2/+11
to an array, check that the value exists and it is of list type. Fix a typo. (This used to be commit bcee3860554260bca2bbb6fd73d8770a4997c041)
2007-10-10r2424: Refactor handling of non-OK NTSTATUS returns to be more swiggish.Tim Potter1-19/+6
(This used to be commit aaef6eaf6e0c38fb277d1be0617dfdff559a0115)
2007-10-10r2422: Convert PyDict_{Get,Set}Item() calls to PyDict_{Get,Set}ItemString().Tim Potter1-10/+10
(This used to be commit 9ea5574bb12161733afb592425724cff8c4bbedd)
2007-10-10r2418: Handle a pointer to a scalar when converting a field from Python.Tim Potter1-4/+9
Handle a pointer to an array of structures when converting to Python. (This used to be commit e135265d1d91ff9a6a4e7ec0079ecd88f0afe784)
2007-10-10r2417: Add comments to the interface generator as well as some commentary inTim Potter1-172/+227
the generated interface code. Get rid of global variables within the perl generator code. (This used to be commit 36320c694162a58665ace10576ad18c13a7850fe)
2007-10-10r2416: More argument checks. Raise an exception instead of segfaulting if aTim Potter1-9/+30
dictionary does not contain a required key. (This used to be commit fc5443af9c271baf189ebe0b098e190b5eda4e14)
2007-10-10r2415: Throw a TypeError exception if a scalar value doesn't have the correctTim Potter1-20/+52
type, or the argument to a to_python function isn't a dictionary. (This used to be commit 0f58ffb142a9b8c5c745b3a2c93a1659ea8282e5)
2007-10-10r2411: The other half of getting autogenerated code working using misc.idl:Tim Potter1-14/+70
use Python lists for arrays when marshaling and unmarshaling arrays. This gets samr_SetSecurity() working. (This used to be commit 9bc55de42ab9f0d71abcea65a7f4cf24db452381)
2007-10-10r2409: Convert NULL pointers to Py_None, and vice versa.Tim Potter1-2/+18
This gets samr_QuerySecurity() working again. (This used to be commit 810bce2fe517969e62d87497bbe4ae645badfdf6)