summaryrefslogtreecommitdiff
path: root/source4/build/pidl/pidl.pl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/pidl.pl')
-rwxr-xr-xsource4/build/pidl/pidl.pl23
1 files changed, 15 insertions, 8 deletions
diff --git a/source4/build/pidl/pidl.pl b/source4/build/pidl/pidl.pl
index fcc58de51e..169b5ea6c6 100755
--- a/source4/build/pidl/pidl.pl
+++ b/source4/build/pidl/pidl.pl
@@ -36,6 +36,7 @@ use pidl::esp;
my($opt_help) = 0;
my($opt_parse) = 0;
my($opt_dump) = 0;
+my($opt_uint_enums) = 0;
my($opt_diff) = 0;
my($opt_header);
my($opt_template) = 0;
@@ -70,6 +71,7 @@ Options:
--output=OUTNAME put output in OUTNAME.*
--parse parse a idl file to a .pidl file
--dump dump a pidl file back to idl
+ --uint-enums don't use C enums, instead use uint* types
--header[=OUTFILE] create a C NDR header file
--parser[=OUTFILE] create a C NDR parser
--esp[=OUTFILE] create esp wrapper file
@@ -96,22 +98,23 @@ GetOptions (
'output=s' => \$opt_output,
'parse' => \$opt_parse,
'dump' => \$opt_dump,
+ 'uint-enums' => \$opt_uint_enums,
'header:s' => \$opt_header,
'server' => \$opt_server,
'template' => \$opt_template,
'parser:s' => \$opt_parser,
- 'client' => \$opt_client,
+ 'client' => \$opt_client,
'eth-parser:s' => \$opt_eth_parser,
- 'eth-header:s' => \$opt_eth_header,
- 'esp:s' => \$opt_esp,
+ 'eth-header:s' => \$opt_eth_header,
+ 'esp:s' => \$opt_esp,
'diff' => \$opt_diff,
- 'odl' => \$opt_odl,
+ 'odl' => \$opt_odl,
'keep' => \$opt_keep,
'swig' => \$opt_swig,
- 'dcom-proxy' => \$opt_dcom_proxy,
- 'com-header' => \$opt_com_header,
- 'quiet' => \$opt_quiet,
- 'warn-compat' => \$opt_warn_compat
+ 'dcom-proxy' => \$opt_dcom_proxy,
+ 'com-header' => \$opt_com_header,
+ 'quiet' => \$opt_quiet,
+ 'warn-compat' => \$opt_warn_compat
);
if ($opt_help) {
@@ -151,6 +154,10 @@ sub process_file($)
defined $pidl || die "Failed to load $pidl_file - maybe you need --parse\n";
}
+ if ($opt_uint_enums) {
+ util::setUseUintEnums(1);
+ }
+
if ($opt_dump) {
print IdlDump::Dump($pidl);
}