summaryrefslogtreecommitdiff
path: root/source4/build/pidl/validator.pm
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r6973: Merge new version of pidl into the main SAMBA_4_0 branch.Jelmer Vernooij1-27/+19
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-10r6294: - add obfuscate support, which is used in MAPI rpc's, (the ^= 0xA5 ↵Stefan Metzmacher1-0/+5
stuff), based on a patch from j.kerihuel@openchange.org - remove unused $ndr_flags argument for the ParseCompression*Start() function's metze (This used to be commit 27ccdd61822ba1a24244086522b9f8fe97fe0a78)
2007-10-10r6101: only allow properties we know about, that helps to catch typos!Stefan Metzmacher1-1/+98
what does length_of() and id() do? metze (This used to be commit 55963934db51fadb1340c7a2ec275aa24151dd14)
2007-10-10r6097: allow compression only on subcontextsStefan Metzmacher1-2/+6
metze (This used to be commit 2a7eead1c8058f829395723028a43b0336a1cf87)
2007-10-10r5797: - add idl property [subcontext_size()]Stefan Metzmacher1-0/+4
this can be used like this [subcontext_size(28),subcontext(0)] dom_sid sid; this descripes a fixed 28 byte buffer which contains a dom_sid, and the rest of the buffer is padded with zero bytes if the dom_sid doesn't need all 28 byte in it's ndr encoding. - only push and pull the subcontext when we are in the NDR_SCALARS section (tridge, jelmer: I hope this is correct for all cases...!?:-) metze (This used to be commit 483bb1418fd5c70c418142ade80c1e286adfa05a)
2007-10-10r5764: add support for embedded ref pointersStefan Metzmacher1-4/+0
metze (This used to be commit 112043b1809a96b1a39ade71ea2885c0d792c79f)
2007-10-10r5672: Use switch_type() and the token storage mechanism for unions:Jelmer Vernooij1-1/+24
- Makes union handling less special - Allows unions in arrays, etc - Compatible with midl - Pidl will warn about switch_type() and the type of the switch_is() variable being different (This used to be commit dc6b4ffc82a191631bc16a4b93a4916a39183ec6)
2007-10-10r5661: Be a little stricter on syntax regarding arrays. A pointer to anJelmer Vernooij1-0/+9
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-10r5660: Reduce number of generated "{}"'sJelmer Vernooij1-3/+0
No longer complain about pointers to arrays - we support those. (This used to be commit 128c0ecf030043e81d73aaeda6afb731075f8f9e)
2007-10-10r5465: Add support to multiple levels of pointers in pidl.Jelmer Vernooij1-4/+0
Also add a new function to echo.idl that tests this behaviour. (This used to be commit e5eb5e847e75f2b7b041a66f84d9b919ddf27739)
2007-10-10r5426: Warn about embedded ref pointers.Jelmer Vernooij1-1/+9
(This used to be commit 40547ed33fea57ee8f68a8f864f8f10c9a6d24dc)
2007-10-10r5362: Add pointer_default() support to pidl. pointer_default()Jelmer Vernooij1-0/+6
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-0/+11
(This used to be commit c9d7b88756039a3eb3024c886851e489c46ef67f)
2007-10-10r5338: More efforts to handle types similarly.Jelmer Vernooij1-1/+1
(This used to be commit 95c4f3149925ee71e74ea36fae3a65d2eebf717c)
2007-10-10r5320: Treat structs and unions somewhat more similarly:Jelmer Vernooij1-1/+13
- use same names in hashes (DATA -> ELEMENTS, etc) - [case()] and [default] are no longer special case, they're just regular properties (This used to be commit 6a0f599f822f5c42d93e78c13765804ab2223968)
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 Vernooij1-0/+6
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)
2003-12-19added code to the IDL validator to check for common errors withAndrew Tridgell1-1/+40
pointers are arrays (This used to be commit e67cbfff6c1041671711e4f73894e6e13151d57e)
2003-12-15make pidl no longer dependent on Data::Dumper, which isn't installedAndrew Tridgell1-2/+0
on some systems (This used to be commit a4aa9168c0f80cf6e758c380d41335db50d06869)
2003-11-22added the beginnings of an IDL validator, to give clearer errors whenAndrew Tridgell1-0/+101
IDL is not valid (This used to be commit c1b708708e262350d697829d444d0fb6a981a80f)