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);
