summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/pidl/README
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/pidl/README
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/pidl/README')
-rw-r--r--epan/dissectors/pidl/README107
1 files changed, 107 insertions, 0 deletions
diff --git a/epan/dissectors/pidl/README b/epan/dissectors/pidl/README
new file mode 100644
index 00000000..d9677b70
--- /dev/null
+++ b/epan/dissectors/pidl/README
@@ -0,0 +1,107 @@
+A note about PIDL generated files
+=================================
+
+Quick guide
+===========
+
+Run 'make -f Makefile.pidl all' inside the pidl folder to generate all the dissectors and place
+them in the epan/dissectors folder.
+
+Complete infos
+==============
+
+The following files:
+../packet-dcerpc-atsvc.h
+../packet-dcerpc-budb.c
+../packet-dcerpc-budb.h
+../packet-dcerpc-butc.c
+../packet-dcerpc-butc.h
+../packet-dcerpc-dfs.h
+../packet-dcerpc-dnsserver.h
+../packet-dcerpc-drsuapi.c
+../packet-dcerpc-drsuapi.h
+../packet-dcerpc-dssetup.h
+../packet-dcerpc-efs.h
+../packet-dcerpc-eventlog.h
+../packet-dcerpc-frsrpc.h
+../packet-dcerpc-frstrans.h
+../packet-dcerpc-initshutdown.h
+../packet-dcerpc-iwbemlevel1login.h
+../packet-dcerpc-lsa.h
+../packet-dcerpc-mapi.h
+../packet-dcerpc-misc.h
+../packet-dcerpc-nspi.h
+../packet-dcerpc-rfr.h
+../packet-dcerpc-samr.h
+../packet-dcerpc-srvsvc.h
+../packet-dcerpc-winreg.h
+../packet-dcerpc-wkssvc.h
+../packet-dcerpc-wzcsvc.h
+
+are automatically generated via a tool called "pidl"; you shouldn't
+modify them manually.
+
+The pidl tool is maintained by the Samba project (http://samba.org,
+samba-technical@samba.org). We have a version in ../../../tools/pidl;
+it currently differs from the Samba version only in its Wireshark-parser
+generator, as we had to change it to reflect some API differences
+between the current Wireshark release and the development trunk.
+
+The Samba version can be fetched from their git tree:
+ git clone git://git.samba.org/samba.git
+
+Running pidl
+============
+
+You have to run the pidl command inside the pidl folder of the wireshark
+source tree.
+
+The command to compile file:
+ ../../../tools/pidl/pidl --includedir . --ws-parser -- <idl-file>
+ ^^^
+ This is *VERY* important
+The command generates 2 files:
+ packet-dcerpc-<interfacename>.h
+ packet-dcerpc-<interfacename>.c
+
+For instance, with the atsvc.idl, the command will be:
+
+ ../../../tools/pidl/pidl --includedir . --ws-parser -- atsvc.idl
+
+This will generate 2 files:
+ packet-dcerpc-atsvc.h
+ packet-dcerpc-atsvc.c
+
+If you run outside the dissectors/pidl directory, this *will* result in a
+warning such as:
+
+ atsvc.idl:5:23: idl_types.h: No such file or directory
+
+and *may* result in additional warnings such as:
+
+ Warning: No conformance file `initshutdown.cnf'
+ Unable to handle string with flags STR_LEN4|STR_NOTERM at /usr/lib/perl5/site_perl/5.8.6/Parse/Pidl/Wireshark/NDR.pm line 283.
+
+Notes about the in-tree pidl
+============================
+
+To allow building Wireshark pidl dissectors without having to
+*explicitly* access a remote git repository, and to allow us to make
+changes to the Wireshark parser generator that the Samba developers
+might not want to make until a new major release of Wireshark comes out,
+so as to allow users to build dissectors to run in the current Wireshark
+release, a copy of pidl is located in tools/pidl.
+
+Not compiling idl
+=================
+As of September 26, 2014, the following idl have issues when generating
+and compiling:
+
+pidl complains that inline arrays aren't supported for these:
+
+ dnsserver.idl
+ eventlog.idl
+
+pidl generates possibly-incorrect code for these - this needs checking:
+
+ rfr/rfr.idl