summaryrefslogtreecommitdiff
path: root/source4/build/pidl/clientfns.pm
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2004-05-07 11:57:31 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:51:47 -0500
commitdee25d910e5ed3d07a240cebe8600f4a95c94159 (patch)
tree98a3c396108d4ff109e132f3842277b62fce2580 /source4/build/pidl/clientfns.pm
parent7e921fb96d9310e649a7d73972a0a87af8cb1233 (diff)
downloadsamba-dee25d910e5ed3d07a240cebe8600f4a95c94159.tar.gz
samba-dee25d910e5ed3d07a240cebe8600f4a95c94159.tar.bz2
samba-dee25d910e5ed3d07a240cebe8600f4a95c94159.zip
r550: Remove clientfns.pm module - it was a bad idea.
Start to resurrect eparser.pm for auto-generating ethereal dissectors for rpc. (This used to be commit 993a18dd35fb0b09c088eb2bb38d3e14ff755130)
Diffstat (limited to 'source4/build/pidl/clientfns.pm')
-rw-r--r--source4/build/pidl/clientfns.pm127
1 files changed, 0 insertions, 127 deletions
diff --git a/source4/build/pidl/clientfns.pm b/source4/build/pidl/clientfns.pm
deleted file mode 100644
index ef107b16f0..0000000000
--- a/source4/build/pidl/clientfns.pm
+++ /dev/null
@@ -1,127 +0,0 @@
-###################################################
-# clientfs boilerplate generator
-# Copyright tpot@samba.org 2004
-# released under the GNU GPL
-
-package IdlClientFns;
-
-use strict;
-
-my($res);
-
-sub pidl($)
-{
- $res .= shift;
-}
-
-#use Data::Dumper;
-
-#####################################################################
-# produce boilerplate code for a interface
-sub Boilerplate_ClientFns($)
-{
- my($interface) = shift;
- my($data) = $interface->{DATA};
- my $name = $interface->{NAME};
-
- foreach my $d (@{$data}) {
- if ($d->{TYPE} eq "FUNCTION") {
-
- pidl "/*\n";
-# pidl Dumper($d);
- pidl "\n*/\n\n";
-
- pidl "$d->{RETURN_TYPE} $d->{NAME}(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx";
-
- my $count = 0, my $i = 0;
-
- foreach my $a (@{$d->{DATA}}) {
- $count++;
- }
-
- pidl ", ", if $count > 0;
-
- foreach my $a (@{$d->{DATA}}) {
-
- pidl "/* [";
- if ($a->{PROPERTIES}->{in}) {
- pidl "in";
- if ($a->{PROPERTIES}->{out} or
- $a->{PROPERTIES}->{ref}) {
- pidl ",";
- }
- }
- if ($a->{PROPERTIES}->{out}) {
- pidl "out";
- if ($a->{PROPERTIES}->{ref}) {
- pidl ",";
- }
- }
- if ($a->{PROPERTIES}->{ref}) {
- pidl "ref";
- }
- pidl "] */ ";
-
- pidl "struct ", if $a->{TYPE} eq "policy_handle";
-
- pidl "$a->{TYPE} ";
- if ($a->{PROPERTIES}->{out}) {
- pidl "*";
- }
-
- if (!$a->{PROPERTIES}->{ref}) {
- pidl "*", if $a->{POINTERS};
- }
-
- pidl "$a->{NAME}";
-
- $i++;
-
- pidl ", ", if $i < $count;
- }
- pidl ")\n";
- pidl "{\n";
-
- pidl "\tstruct $d->{NAME} r;\n";
- pidl "\tNTSTATUS status;\n";
- pidl "\n";
-
- foreach $a (@{$d->{DATA}}) {
- if ($a->{PROPERTIES}->{in}) {
- pidl "\tr.in.$a->{NAME} = $a->{NAME};\n";
- }
- if ($a->{PROPERTIES}->{out}) {
- pidl "\tr.out.$a->{NAME} = $a->{NAME};\n";
- }
- }
- pidl "\n";
-
- pidl "\tstatus = dcerpc_$d->{NAME}(p, mem_ctx, &r);\n";
- pidl "\n";
-
- pidl "\treturn NT_STATUS_OK;\n";
-
- pidl "}\n\n";
- }
- }
-}
-
-#####################################################################
-# parse a parsed IDL structure back into an IDL file
-sub Parse($)
-{
- my($idl) = shift;
- $res = "/* dcerpc client functions generated by pidl */\n\n";
-
- $res .= "#include \"includes.h\"\n\n";
-
- foreach my $x (@{$idl}) {
- if ($x->{TYPE} eq "INTERFACE") {
- Boilerplate_ClientFns($x);
- }
- }
-
- return $res;
-}
-
-1;