1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

12 Commits

Author SHA1 Message Date
Andrew Tridgell
c7829fa0d8 started adding support for relative, plus options for autoalignment
so the same parser generator can be uses for cifs and rpc
-
Luke Leighton
9c6f2d75d8 messing about. -
Andrew Tridgell
5f1e8422d0 more aparser stuff - we now handle everything but the idl headers in srvsvc.idl -
Andrew Tridgell
83b787f57e error check in vluke.c
more conversion from idl to .struct of srvsvc
-
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
968b381cd3 use grow_size to determine size of dump -
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
70f68209da renamed the harness program to vluke (for "virtual luke")
added a couple of sample .prs files
-
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.
-