summaryrefslogtreecommitdiff
path: root/source3/aparser/spool.struct
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-05-14 14:05:10 +0000
committerAndrew Tridgell <tridge@samba.org>2000-05-14 14:05:10 +0000
commitb7022e94d2ab62d522b0a7c2886cce3afaff6872 (patch)
tree6663fe08efd72d9a95d9cf4cf70baa07ded15aca /source3/aparser/spool.struct
parentb7f9a2794273266a0c64a6c02f88d65d37554ea9 (diff)
downloadsamba-b7022e94d2ab62d522b0a7c2886cce3afaff6872.tar.gz
samba-b7022e94d2ab62d522b0a7c2886cce3afaff6872.tar.bz2
samba-b7022e94d2ab62d522b0a7c2886cce3afaff6872.zip
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 (This used to be commit 14ded82dc92ae6eff7639351f391a33b9cc31c0d)
Diffstat (limited to 'source3/aparser/spool.struct')
-rw-r--r--source3/aparser/spool.struct76
1 files changed, 76 insertions, 0 deletions
diff --git a/source3/aparser/spool.struct b/source3/aparser/spool.struct
new file mode 100644
index 0000000000..319a09941d
--- /dev/null
+++ b/source3/aparser/spool.struct
@@ -0,0 +1,76 @@
+module spool
+test PRINTER_DRIVER_INFO_LEVEL_3
+
+struct BUFFER5 {
+ .align 4;
+ uint32 buf_len;
+ {buf_len} uint16 buffer;
+};
+
+struct UNISTR2 {
+ .align 4;
+ uint32 max_len;
+ uint32 undoc;
+ uint32 str_len;
+ {str_len} uint16 buffer;
+};
+
+struct UINT64_S {
+ uint32 low;
+ uint32 high;
+};
+
+struct NTTIME {
+ uint32 low;
+ uint32 high;
+};
+
+struct PRINTER_DRIVER_INFO_LEVEL_3 {
+ .align 4;
+ uint32 cversion;
+ UNISTR2 *name;
+ UNISTR2 *environment;
+ UNISTR2 *driverpath;
+ UNISTR2 *datafile;
+ UNISTR2 *configfile;
+ UNISTR2 *helpfile;
+ UNISTR2 *monitorname;
+ UNISTR2 *defaultdatatype;
+ uint32 dependentfiles_len;
+ BUFFER5 *dependentfiles;
+};
+
+struct PRINTER_DRIVER_INFO_LEVEL_6 {
+ .align 4;
+ uint32 dummy1;
+ uint32 version;
+ UNISTR2 *name;
+ UNISTR2 *environment;
+ UNISTR2 *driverpath;
+ UNISTR2 *datafile;
+ UNISTR2 *configfile;
+ UNISTR2 *helpfile;
+ UNISTR2 *monitorname;
+ UNISTR2 *defaultdatatype;
+ uint32 dependentfiles_len;
+ BUFFER5 *dependentfiles;
+ uint32 previousnames_len;
+ BUFFER5 *previousnames;
+ NTTIME driverdate;
+ UINT64_S driverversion;
+ uint32 dummy4;
+ UNISTR2 *mfgname;
+ UNISTR2 *oemurl;
+ UNISTR2 *hardwareid;
+ UNISTR2 *provider;
+};
+
+
+struct PRINTER_DRIVER_INFO {
+ .align 4;
+ uint32 level;
+ union level *info {
+ case 3 PRINTER_DRIVER_INFO_LEVEL_3 info_3;
+ case 6 PRINTER_DRIVER_INFO_LEVEL_6 info_6;
+ }
+};