aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/pidl/README34
1 files changed, 33 insertions, 1 deletions
diff --git a/epan/dissectors/pidl/README b/epan/dissectors/pidl/README
index 570fff6380..6d1962fa92 100644
--- a/epan/dissectors/pidl/README
+++ b/epan/dissectors/pidl/README
@@ -117,7 +117,39 @@ because the NDR type is an empty string (not set?) and it's prepending
pidl generates code that, after declaring a guint1632 variable, has, on
the next line, a declaration that has a blank, a letter, and a
-semicolon:
+semicolon. It can't handle, for example:
+
+ typedef enum {
+ FRSTRANS_RDC_FILTER_GENERIC = 0x0000,
+ FRSTRANS_RDC_FILTER_MAX = 0x0001,
+ FRSTRANS_RDC_FILTER_POINT = 0x0002,
+ FRSTRANS_RDC_MAX_ALGORITHM = 0x0003
+ } frstrans_RdcChunckerAlgorithm;
+
+ ...
+
+ typedef [switch_type(frstrans_RdcChunckerAlgorithm)] union {
+ [case(FRSTRANS_RDC_FILTER_GENERIC)]
+ frstrans_RdcParameterGeneric filter_generic;
+ [case(FRSTRANS_RDC_FILTER_MAX)]
+ frstrans_RdcParameterFilterMax filter_max;
+ [case(FRSTRANS_RDC_FILTER_POINT)]
+ frstrans_RdcParameterFilterPoint filter_point;
+ } frstrans_RdcParameterUnion;
+
+ typedef struct {
+ frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm;
+ [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u;
+ } frstrans_RdcParameters;
+
+but there's no reason for it to bother to generate a C variable
+corresponding to that union in the first place - it'd be unused.
+
+Samba bug 10291:
+
+ https://bugzilla.samba.org/show_bug.cgi?id=10291
+
+has been filed on this.
dfs.idl
frstrans.idl