summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-09 11:48:59 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:19:27 -0500
commitcd88764ba16bc35f0209fbdf1a975f10bd3eb9ac (patch)
tree6c01730a1da0b77eb7e8bbdeaa7e2d0a096e84d5 /source4/build/pidl
parent3b03ccb2f76d69ba763c9b202215beda62323388 (diff)
downloadsamba-cd88764ba16bc35f0209fbdf1a975f10bd3eb9ac.tar.gz
samba-cd88764ba16bc35f0209fbdf1a975f10bd3eb9ac.tar.bz2
samba-cd88764ba16bc35f0209fbdf1a975f10bd3eb9ac.zip
r8260: added an init based registration system for the generated ejs rpc code, so
adding a new pipe only involves changes to librpc/config.mk (This used to be commit 0e54fa446665f380e9c46723a6e2be5a08b8d51c)
Diffstat (limited to 'source4/build/pidl')
-rw-r--r--source4/build/pidl/ejs.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/source4/build/pidl/ejs.pm b/source4/build/pidl/ejs.pm
index f67379526f..8420f8fa87 100644
--- a/source4/build/pidl/ejs.pm
+++ b/source4/build/pidl/ejs.pm
@@ -674,13 +674,16 @@ sub EjsInterface($)
pidl "void setup_ejs_$name(void)";
pidl "{";
+ indent;
foreach (@fns) {
pidl "ejsDefineCFunction(-1, \"dcerpc_$_\", ejs_$_, NULL, MPR_VAR_SCRIPT_HANDLE);";
}
+ deindent;
pidl "}\n";
pidl "void setup_ejs_constants_$name(int eid)";
pidl "{";
+ indent;
foreach my $v (keys %constants) {
my $value = $constants{$v};
if (substr($value, 0, 1) eq "\"") {
@@ -689,6 +692,14 @@ sub EjsInterface($)
pidl "ejs_set_constant_int(eid, \"$v\", $value);";
}
}
+ deindent;
+ pidl "}\n";
+
+ pidl "NTSTATUS ejs_init_$name(void)";
+ pidl "{";
+ indent;
+ pidl "return smbcalls_register_ejs(\"$name\", setup_ejs_$name, setup_ejs_constants_$name);";
+ deindent;
pidl "}";
}