diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-08-12 19:32:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:57:56 -0500 |
commit | daa7c984096fb3513a458a0637fdfc0c00ee9fb9 (patch) | |
tree | 90e1343a95bc90c9db8bb62491b9ef6558cdf14c /source4 | |
parent | 28ea8b8785e5e8e3b3f3ddf0c12c0c8c69ea77c5 (diff) | |
download | samba-daa7c984096fb3513a458a0637fdfc0c00ee9fb9.tar.gz samba-daa7c984096fb3513a458a0637fdfc0c00ee9fb9.tar.bz2 samba-daa7c984096fb3513a458a0637fdfc0c00ee9fb9.zip |
r1786: Add support for the 'helpstring' attribute on interfaces
(This used to be commit 85fb26a05d57e58795b0c0ffa93dc9e0fa902431)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/build/pidl/header.pm | 5 | ||||
-rw-r--r-- | source4/build/pidl/parser.pm | 1 | ||||
-rw-r--r-- | source4/librpc/rpc/dcerpc.h | 1 | ||||
-rw-r--r-- | source4/utils/ndrdump.c | 6 |
4 files changed, 12 insertions, 1 deletions
diff --git a/source4/build/pidl/header.pm b/source4/build/pidl/header.pm index 589f9c6b54..24e618bb48 100644 --- a/source4/build/pidl/header.pm +++ b/source4/build/pidl/header.pm @@ -278,7 +278,12 @@ sub HeaderInterface($) if(!defined $interface->{PROPERTIES}->{version}) { $interface->{PROPERTIES}->{version} = "0.0"; } $res .= "#define DCERPC_$name\_VERSION $interface->{PROPERTIES}->{version}\n"; + $res .= "#define DCERPC_$name\_NAME \"$interface->{NAME}\"\n\n"; + + if(!defined $interface->{PROPERTIES}->{helpstring}) { $interface->{PROPERTIES}->{helpstring} = "NULL"; } + $res .= "#define DCERPC_$name\_HELPSTRING $interface->{PROPERTIES}->{helpstring}\n"; + $res .= "extern const struct dcerpc_interface_table dcerpc_table_$interface->{NAME};\n"; $res .= "NTSTATUS dcerpc_$interface->{NAME}_init(void);\n\n"; } diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm index 5b85337212..621b12aa62 100644 --- a/source4/build/pidl/parser.pm +++ b/source4/build/pidl/parser.pm @@ -1383,6 +1383,7 @@ sub FunctionTable($) pidl "\t\"$interface->{NAME}\",\n"; pidl "\tDCERPC_$uname\_UUID,\n"; pidl "\tDCERPC_$uname\_VERSION,\n"; + pidl "\tDCERPC_$uname\_HELPSTRING,\n"; pidl "\t$count,\n"; pidl "\t$interface->{NAME}\_calls,\n"; pidl "\t&$interface->{NAME}\_endpoints\n"; diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h index db7552278a..2c36241020 100644 --- a/source4/librpc/rpc/dcerpc.h +++ b/source4/librpc/rpc/dcerpc.h @@ -105,6 +105,7 @@ struct dcerpc_interface_table { const char *name; const char *uuid; uint32_t if_version; + const char *helpstring; uint32_t num_calls; const struct dcerpc_interface_call *calls; const struct dcerpc_endpoint_list *endpoints; diff --git a/source4/utils/ndrdump.c b/source4/utils/ndrdump.c index 1b480c6c4d..ea8071e559 100644 --- a/source4/utils/ndrdump.c +++ b/source4/utils/ndrdump.c @@ -69,7 +69,11 @@ static void show_pipes(void) printf("\nYou must specify a pipe\n"); printf("known pipes are:\n"); for (i=0;dcerpc_pipes[i];i++) { - printf("\t%s\n", dcerpc_pipes[i]->name); + if(dcerpc_pipes[i]->helpstring) { + printf("\t%s - %s\n", dcerpc_pipes[i]->name, dcerpc_pipes[i]->helpstring); + } else { + printf("\t%s\n", dcerpc_pipes[i]->name); + } } exit(1); } |