Andrew Tridgell
c7ddd6b2aa
support a new value() attribute that allows us to auto-fill certain
...
elements. Used at the moment for string lengths.
the regular expression isn't right, but it works for the case I need.
Perl expert needed :)
0001-01-01 00:00:00 +00:00
Tim Potter
4a6f192ff8
Fix bug in generation of function ndr_pull code generation. This patch
...
makes the code symmetric with the ndr_push code.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
f0a8f063a6
it turns out that all MS servers ignore the artifact struct_len fields
...
in OpenPolicy and OpenPolicy2, so we don't in fact need the
[struct_len] attribute. This makes our IDL much closer to the MS IDL.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
e66daf5273
* make pidl.pl exit with an error on a parse error
...
* fixed a buffers/scalars bug in structures
0001-01-01 00:00:00 +00:00
Andrew Tridgell
cf880a8312
fixed another problem with pointers to arrays in structures
0001-01-01 00:00:00 +00:00
Andrew Tridgell
7b0f2ccf07
fixed the handling of unions of pointers
0001-01-01 00:00:00 +00:00
Andrew Tridgell
b5888b5315
* differentiate between pointers and non-pointers in switch_is union
...
elements in structures
* layout the pull/push/print generated functions with all push
together, all pull together etc, as this makes for easier debugging
(note that I have no redirected commit messages for pidl to the
samba-cvs mailing list, so you may be seeing these messages for the
first time. See the pidl cvs repository for details on pidl)
0001-01-01 00:00:00 +00:00
Andrew Tridgell
22e1502350
I think we now handle conformant arrays in structures correctly - the
...
test cases pass
0001-01-01 00:00:00 +00:00
Andrew Tridgell
673e7bcdc2
handle constant sized arrays
0001-01-01 00:00:00 +00:00
Andrew Tridgell
259d5d7a0e
added support for 8 byte aligned HYPER_T
0001-01-01 00:00:00 +00:00
Andrew Tridgell
ce15cc87fb
fixed the NDR structure alignment rules
...
still not perfect, but works for all the cases I have seen so far
0001-01-01 00:00:00 +00:00
Andrew Tridgell
a29145df04
fixed handling on pointers to arrays of structures in unions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
73b5300755
automatic printing of unions
0001-01-01 00:00:00 +00:00
Andrew Tridgell
81d6181172
automatically generate ndr_print_*() functions for every IDL
...
structure. This allows easy debug and test tool writing without having
to write functions that print every element of complex structures.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
54613574bc
- added support for the pull side of unions
...
- don't generate parse functions for pull/push functions that are not
used
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4df59bcff5
much cleaner handling of the different types of variables
0001-01-01 00:00:00 +00:00
Andrew Tridgell
566476b3ff
added a module for auto-generating the client calls. We can now go
...
from IDL file to working Samba4 RPC client library in a completely
automated fashion.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
33d9b75783
- handle void functions
...
- bettenicer handling of PROPERTIES
- handle size_is() on an out variable that refers to an in variable
0001-01-01 00:00:00 +00:00
Andrew Tridgell
7bb45a21ae
added support for arrays as function arguments and for unistr_noterm
0001-01-01 00:00:00 +00:00
Andrew Tridgell
25be8dafda
added fixes for the pushing of arrays and handling non-ref pointers in
...
function arguments
0001-01-01 00:00:00 +00:00
Andrew Tridgell
cba9df9aa4
- include includes.h
...
- fix ref ptrs in push
- add NTSTATUS return
0001-01-01 00:00:00 +00:00
Andrew Tridgell
96e269fefe
- generate both the pull and push side
...
- fixed lots of bugs
0001-01-01 00:00:00 +00:00
Andrew Tridgell
8e865508a6
a bit of a tidy up before I add the ndr_pull_*() side of things
0001-01-01 00:00:00 +00:00
Andrew Tridgell
42cd6904f5
updated pidl to auto-generate the ndr_push_*() functions for the
...
Samba4 rpc framework
not complete, but sufficient for a number of lsa functions
0001-01-01 00:00:00 +00:00
Tim Potter
23a9812987
Added "return offset;" to end of generated function.
...
We're getting really close now! Ethereal can properly decode OpenPolicy
requests and responses using pidl generated code. QueryInfoPolicy
is nearly working.
0001-01-01 00:00:00 +00:00
Tim Potter
e35c62267f
Fix for pointers to structures in function args.
0001-01-01 00:00:00 +00:00
Tim Potter
42a688ea1c
Misc fixes:
...
- pass correct args when doing arrays of scalar vs buffer types
- add NULL data argument to all calls
- get rid of unecessary curly brackets
- typos
0001-01-01 00:00:00 +00:00
Tim Potter
79e56e719c
wchar_t is a scalar.
0001-01-01 00:00:00 +00:00
Tim Potter
83ada5447b
Convert a bunch of "prs_foo()" to "offset = prs_foo()"
...
Return offset from function request and response code.
0001-01-01 00:00:00 +00:00
Tim Potter
f6f5b8a718
Removed old commented-out code.
...
Generate code for parsing arrays.
We're nearly ready to start generating real code!
0001-01-01 00:00:00 +00:00
Tim Potter
eb3dbe113f
Reinvented has_properties() function lost after HD crash. )-:
...
Fixed up handling of pointer to scalar type.
0001-01-01 00:00:00 +00:00
Tim Potter
2670f1f8e1
Made hyper a simple type.
...
Changed dissect_ to prs_ to avoid name conflicts.
0001-01-01 00:00:00 +00:00
Tim Potter
802c219bab
Moved processing of function arguments and structure elements
...
back in to ParseElement()
is_simple_type() -> is_scalar_type()
Added more types to scalar type list.
Pass scalars/buffers flag down to ParseElement()
0001-01-01 00:00:00 +00:00
Tim Potter
bb5bab5817
Don't pass down drep (data representation) arg from top level fn.
...
Decided to use tridge's PARSE_SCALARS and PARSE_BUFFERS pattern for
generating code for structures and function calls. For functions, dissect
sub-structures with PARSE_SCALARS|PARSE_BUFFERS. For arrays and structures
in structures (?) use PARSE_SCALARS on each element of the structure then
PARSE_BUFFERS.
Determine whether a type is a "simple" type or a struct/union.
0001-01-01 00:00:00 +00:00
Tim Potter
e5ca478614
Don't pass decorative name to policy handle or ntstatus dissectors.
...
Pass drep (data representation?) field down from dcerpc dissector. This is
whether the packet is big or little endian.
0001-01-01 00:00:00 +00:00
Tim Potter
fbfe0795a9
Decorate some of the parse functions with element names. This is starting
...
to get closer to be compilable code!
0001-01-01 00:00:00 +00:00
Tim Potter
b045bbec59
Start generating some ethereal code that may actually compile with
...
fewer tweaks.
0001-01-01 00:00:00 +00:00
Tim Potter
ac71046754
Start generating code for unions.
0001-01-01 00:00:00 +00:00
Tim Potter
c2fa746c47
Ignore *.pidl
0001-01-01 00:00:00 +00:00
Tim Potter
952b47dc23
Renamed functions from Dump* to Parse*
0001-01-01 00:00:00 +00:00
Tim Potter
84fe4a000c
Initial version of ethereal parser generator. Works with test.idl
...
but not much else!
0001-01-01 00:00:00 +00:00
Tim Potter
e1f191a9dc
Added --eparser to call ethereal parser generator.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
39e8894fb2
forgot a file
0001-01-01 00:00:00 +00:00
Andrew Tridgell
24ec2f1f81
changed auto-generated comment for headers
0001-01-01 00:00:00 +00:00
Andrew Tridgell
a9b1e03b33
beginnings of the C parser generator
0001-01-01 00:00:00 +00:00
Andrew Tridgell
406458b2fc
added header generation
0001-01-01 00:00:00 +00:00
Andrew Tridgell
649e8ca0bb
fixed help
0001-01-01 00:00:00 +00:00
Andrew Tridgell
6831c000a3
added a comment
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4a9953f55b
- fixed FlattenHash bug
...
- better handling of .. in filenames
0001-01-01 00:00:00 +00:00
Andrew Tridgell
14135ed6bb
first version
0001-01-01 00:00:00 +00:00