1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-19 21:57:57 +03:00

20 Commits

Author SHA1 Message Date
Andrew Tridgell
cf8d4c42e2 added primitive define macros
started converting matty's srvsvc.idl to a .struct file
-
Andrew Tridgell
ab0beaf357 - added typedefs
- added parse error checking
- made parser more flexible
-
Andrew Tridgell
2e0a39204a minor parse updates -
Andrew Tridgell
77ceb6a3c1 a useful script, just go "./build foo.struct" and you get a full
vluke program for all structures in the foo.strct file
-
Andrew Tridgell
6a3e7ba4f0 the vluke program now takes a structure name on the command line -
Andrew Tridgell
03fbe1b151 take the sructure name to run through vluke on the command line -
Andrew Tridgell
ca8f1e92ad added the ".trailer" type, to mark where a packet turns into a trailer
this now gives us enough to parse complete function calls, including
the return values
-
Andrew Tridgell
1df80cd1e8 another awk parser update
we can now handle arrays of structures, pointers to structures,
pointers in unions etc
-
Andrew Tridgell
15646ebd84 started update to handle arbitrary arrays
note: this code is currently broken.
-
Andrew Tridgell
c75919a7b9 need to allocate the union pointer -
Andrew Tridgell
f6353bf122 align at the end of every structure parser -
Andrew Tridgell
968b381cd3 use grow_size to determine size of dump -
Andrew Tridgell
d8c988694c added grow_size to prs structure -
Andrew Tridgell
05fa3ea50a add uint16 support, start to parse more of spoolss -
Andrew Tridgell
6aa51dc1a5 moved *.tpl templates into templates/ subdirectory -
Andrew Tridgell
14ded82dc9 vastly improved awk based code generator
now handles recursive function definitions, unions etc
it is sufficient for some basic types like UNISTR2 and BUFFER5
to be defined in the *.struct file and used successfully

this generator uses templates (in *.tpl files) for all code
generation, allowing easy replacement of the backend functions
-
Andrew Tridgell
6790d6c589 removed old files ready for new awk parser -
Andrew Tridgell
70f68209da renamed the harness program to vluke (for "virtual luke")
added a couple of sample .prs files
-
Andrew Tridgell
57a6cb52e6 preliminary support for unions -
Andrew Tridgell
7bc87d20ea this is a awk based code generator. Very primitive at the moment, but
it was sufficient to generate info level 6 of the add printer driver
for spoolss

It has two capabilities:

1) generate the header and C code for parsing a structure, given a
   *.struct file that describes the structure. Evetually I hope to
   make *.struct compatible with MIDL.

2) it provides a harness that can read a binary data file from
   prs_dump() which contains real data from a client and display the
   parse of it from the output of the awk parser. This allows you to
   "play" with the structure definition until it comes out right, it
   takes just a few mimutes of playing with the .struct file to work
   out the right layout.

all this is very primitive right now. I hope next to completely
replace the spoolss parser with a single .struct file that describes
all the structures, and auto-generates working code. That will require
quite a bit more work.
-