svn commit: samba r9089 - in branches/SAMBA_4_0/source/script: .

tpot at samba.org tpot at samba.org
Fri Aug 5 01:04:46 GMT 2005


Author: tpot
Date: 2005-08-05 01:04:45 +0000 (Fri, 05 Aug 2005)
New Revision: 9089

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9089

Log:
Start generating module init and top level ejs functions for smb_interfaces.

Modified:
   branches/SAMBA_4_0/source/script/build_smb_interfaces.pl


Changeset:
Modified: branches/SAMBA_4_0/source/script/build_smb_interfaces.pl
===================================================================
--- branches/SAMBA_4_0/source/script/build_smb_interfaces.pl	2005-08-05 00:59:24 UTC (rev 9088)
+++ branches/SAMBA_4_0/source/script/build_smb_interfaces.pl	2005-08-05 01:04:45 UTC (rev 9089)
@@ -46,13 +46,16 @@
   print FILE "NTSTATUS ejs_push_$name(struct ejs_rpc *ejs, struct MprVar *v, const char *name, const uint32_t *r)\n";
   print FILE "{\n";
 
-  print FILE "\tNDR_CHECK(ejs_push_struct_start(ejs, &v, name));\n";
+  print FILE "\tNDR_CHECK(ejs_push_struct_start(ejs, &v, \"output\"));\n";
 
   print FILE "\n\treturn NT_STATUS_OK;\n";
   print FILE "}\n\n";
 
   print FILE "NTSTATUS ejs_pull_$name(struct ejs_rpc *ejs, struct MprVar *v, const char *name, const uint32_t *r)\n";
   print FILE "{\n";
+
+  print FILE "\tNDR_CHECK(ejs_pull_struct_start(ejs, &v, \"input\"));\n";
+
   print FILE "\treturn NT_STATUS_OK;\n";
   print FILE "}\n\n";
 }
@@ -87,7 +90,30 @@
 # Top level functions
 
 foreach my $x (@{$header}) {
-  pushpull_for($x);
+  next, if $x->{STRUCT_NAME} eq "";
+  print FILE "static int ejs_$x->{STRUCT_NAME}(int eid, int argc, struct MprVar **argv)\n";
+  print FILE "{\n";
+  print FILE "\tejsSetErrorMsg(eid, \"Not implemented\");\n";
+  print FILE "\treturn -1;\n";
+  print FILE "}\n\n";
 }
 
+# Module initialisation
+
+print FILE "static int ejs_${basename}_init(int eid, int argc, struct MprVar **argv)\n";
+print FILE "{\n";
+print FILE "\tstruct MprVar *obj = mprInitObject(eid, \"${basename}\", argc, argtv);\n\n";
+
+foreach my $x (@{$header}) {
+  next, if $x->{STRUCT_NAME} eq "";
+  print FILE "\tmprSetCFunction(obj, \"$x->{STRUCT_NAME}\", ejs_$x->{STRUCT_NAME});\n";
+}
+
+print FILE "}\n\n";
+
+print FILE "NTSTATUS ejs_init_${basename}(void)\n";
+print FILE "{\n";
+print FILE "\treturn smbcalls_register_ejs(\"${basename}_init\", ejs_${basename}_init);\n";
+print FILE "}\n";
+
 close(FILE);



More information about the samba-cvs mailing list