summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm5
-rw-r--r--source4/pidl/pidl.1.xml85
2 files changed, 58 insertions, 32 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm b/source4/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
index d0a3047939..7ba6af3815 100644
--- a/source4/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
+++ b/source4/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
@@ -147,11 +147,12 @@ sub ReadConformance($$)
next;
}
- my @fields = split(/ /);
+ my @fields = split(/([^ ]+|"[^"]+")/);
- my $cmd = $fields[0];
+ my $cmd = $fields[1];
shift @fields;
+ shift @fields;
if (not defined($field_handlers{$cmd})) {
print "$f:$ln: Warning: Unknown command `$cmd'\n";
diff --git a/source4/pidl/pidl.1.xml b/source4/pidl/pidl.1.xml
index cf7f560f0d..8641d17e68 100644
--- a/source4/pidl/pidl.1.xml
+++ b/source4/pidl/pidl.1.xml
@@ -350,29 +350,25 @@ embedded structures in security descriptors and spoolss.
<title>COMPATIBILITY WITH MIDL</title>
<refsect2>
- <title>Asynchronous communication</title>
-
- <!--FIXME-->
- </refsect2>
-
- <refsect2>
- <title>Typelibs (.tlb files)</title>
+ <title>Missing features in pidl</title>
+ <para>
+ The following MIDL features are not (yet) implemented in pidl
+ or are implemented with an incompatible interface:
+ </para>
- <!-- FIXME -->
+ <simplelist>
+ <member>Asynchronous communication</member>
+ <member>Typelibs (.tlb files)</member>
+ <member>Datagram support (ncadg_*)</member>
+ </simplelist>
</refsect2>
<refsect2>
- <title>Datagram support</title>
-
- <para>ncadg is not supported yet.</para>
- </refsect2>
+ <title>Supported properties (attributes is the MIDL term)</title>
-<refsect2>
- <title>Supported properties (attributes is the MIDL term)</title>
-
- <para>
-in, out, ref, length_is, switch_is, size_is, uuid, case, default, string, unique, ptr, pointer_default, v1_enum, object, helpstring, range, local, call_as, endpoint, switch_type, progid, coclass, iid_is.
- </para>
+ <para>
+ in, out, ref, length_is, switch_is, size_is, uuid, case, default, string, unique, ptr, pointer_default, v1_enum, object, helpstring, range, local, call_as, endpoint, switch_type, progid, coclass, iid_is.
+ </para>
</refsect2>
@@ -490,53 +486,71 @@ The following commands are currently supported:
<varlistentry>
<term>TYPE name dissector ft_type base_type mask valsstring alignment</term>
- <listitem><para>FIXME</para></listitem>
+ <listitem><para>Register new data type with specified name, what dissector function to call and what properties to give header fields for elements of this type.</para></listitem>
</varlistentry>
<varlistentry>
<term>NOEMIT type</term>
<listitem><para>
- Suppress emitting a dissect_type function for the specified type
+ Suppress emitting a dissect_type function for the specified type
</para></listitem>
</varlistentry>
<varlistentry>
<term>PARAM_VALUE type param</term>
<listitem><para>
- FIXME
+ Set parameter to specify to dissector function for given type.
</para></listitem>
</varlistentry>
<varlistentry>
- <term>HF_FIELD hf title filter ft_type base_type valsstring mask blurb</term>
+ <term>HF_FIELD hf title filter ft_type base_type valsstring mask description</term>
<listitem><para>
- FIXME
+ Generate a custom header field with specified properties.
</para></listitem>
</varlistentry>
<varlistentry>
<term>HF_RENAME old_hf_name new_hf_name</term>
- <listitem><para>FIXME</para></listitem>
+ <listitem><para>
+ Force the use of new_hf_name when the parser generator was going to
+ use old_hf_name.
+ </para>
+
+ <para>
+ This can be used in conjunction with HF_FIELD in order to make more then
+ one element use the same filter name.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
<term>STRIP_PREFIX prefix</term>
- <listitem><para> FIXME</para></listitem>
+ <listitem><para>
+ Remove the specified prefix from all function names (if present).
+ </para></listitem>
</varlistentry>
<varlistentry>
<term>PROTOCOL longname shortname filtername</term>
- <listitem><para>FIXME</para></listitem>
+ <listitem><para>
+ Change the short-, long- and filter-name for the current interface in
+ Ethereal.
+ </para></listitem>
</varlistentry>
<varlistentry>
<term>FIELD_DESCRIPTION field desc</term>
- <listitem><para>FIXME</para></listitem>
+ <listitem><para>Change description for the specified header field.
+ Not implemented yet.</para></listitem>
</varlistentry>
<varlistentry>
<term>IMPORT dissector code...</term>
- <listitem><para>FIXME</para></listitem>
+ <listitem><para>
+ Code to insert when generating the specified dissector. @HF@ and
+ @PARAM@ will be substituted.
+ </para></listitem>
</varlistentry>
</variablelist>
@@ -544,6 +558,19 @@ The following commands are currently supported:
</refsect1>
<refsect1>
+ <title>EXAMPLES</title>
+
+ <programlisting>
+ # Generating an ethereal parser
+ $ ./pidl --eth-parser --parse -- atsvc.idl
+
+ # Generating a TDR parser
+ $ ./pidl --tdr-parser --tdr-header --header --parse -- regf.idl
+ </programlisting>
+
+</refsect1>
+
+<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
@@ -559,8 +586,6 @@ The following commands are currently supported:
<refsect1>
<title>AUTHOR</title>
- &man.credits.samba;
-
<para>pidl was written by Andrew Tridgell, Stefan Metzmacher, Tim
Potter and Jelmer Vernooij. </para>