New version of pidl

This commit is contained in:
Wilco Baan Hofman 2016-11-15 22:10:08 +01:00
parent d595112e01
commit 2186300bd2
74 changed files with 23043 additions and 988 deletions

View file

View file

@ -0,0 +1,80 @@
.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Parse::Pidl::Dump 3pm"
.TH Parse::Pidl::Dump 3pm "2016-11-15" "perl v5.24.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Parse::Pidl::Dump \- Dump support
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module provides functions that can generate \s-1IDL\s0 code from
internal pidl data structures.

View file

@ -0,0 +1,89 @@
.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Parse::Pidl::NDR 3pm"
.TH Parse::Pidl::NDR 3pm "2016-11-15" "perl v5.24.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Parse::Pidl::NDR \- NDR parsing information generator
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Return a table describing the order in which the parts of an element
should be parsed
Possible level types:
\- \s-1POINTER
\- ARRAY
\- SUBCONTEXT
\- SWITCH
\- DATA\s0
.SH "AUTHOR"
.IX Header "AUTHOR"
Jelmer Vernooij <jelmer@samba.org>

View file

@ -0,0 +1,108 @@
.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Parse::Pidl::Util 3pm"
.TH Parse::Pidl::Util 3pm "2016-11-15" "perl v5.24.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Parse::Pidl::Util \- Generic utility functions for pidl
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
use Parse::Pidl::Util;
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Simple module that contains a couple of trivial helper functions
used throughout the various pidl modules.
.SH "FUNCTIONS"
.IX Header "FUNCTIONS"
.IP "\fBMyDumper\fR a dumper wrapper to prevent dependence on the Data::Dumper module unless we actually need it" 4
.IX Item "MyDumper a dumper wrapper to prevent dependence on the Data::Dumper module unless we actually need it"
.PD 0
.IP "\fBhas_property\fR see if a pidl property list contains a given property" 4
.IX Item "has_property see if a pidl property list contains a given property"
.IP "\fBproperty_matches\fR see if a pidl property matches a value" 4
.IX Item "property_matches see if a pidl property matches a value"
.IP "\fBis_constant\fR return 1 if the string is a C constant" 4
.IX Item "is_constant return 1 if the string is a C constant"
.ie n .IP "\fBmake_str\fR return a """" quoted string, unless already quoted" 4
.el .IP "\fBmake_str\fR return a ``'' quoted string, unless already quoted" 4
.IX Item "make_str return a """" quoted string, unless already quoted"
.ie n .IP "\fBunmake_str\fR unquote a """" quoted string" 4
.el .IP "\fBunmake_str\fR unquote a ``'' quoted string" 4
.IX Item "unmake_str unquote a """" quoted string"
.IP "\fBprint_uuid\fR Print C representation of a \s-1UUID.\s0" 4
.IX Item "print_uuid Print C representation of a UUID."
.IP "\fBParseExpr\fR Interpret an \s-1IDL\s0 expression, substituting particular variables." 4
.IX Item "ParseExpr Interpret an IDL expression, substituting particular variables."
.IP "\fBParseExprExt\fR Interpret an \s-1IDL\s0 expression, substituting particular variables. Can call callbacks when pointers are being dereferenced or variables are being used." 4
.IX Item "ParseExprExt Interpret an IDL expression, substituting particular variables. Can call callbacks when pointers are being dereferenced or variables are being used."
.IP "\fBgenpad\fR return an empty string consisting of tabs and spaces suitable for proper indent of C\-functions." 4
.IX Item "genpad return an empty string consisting of tabs and spaces suitable for proper indent of C-functions."

View file

@ -0,0 +1,151 @@
.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Parse::Pidl::Wireshark::Conformance 3pm"
.TH Parse::Pidl::Wireshark::Conformance 3pm "2016-11-15" "perl v5.24.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Parse::Pidl::Wireshark::Conformance \- Conformance file parser for Wireshark
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module supports parsing Wireshark conformance files (*.cnf).
.SH "FILE FORMAT"
.IX Header "FILE FORMAT"
Pidl needs additional data for Wireshark output. This data is read from
so-called conformance files. This section describes the format of these
files.
.PP
Conformance files are simple text files with a single command on each line.
Empty lines and lines starting with a '#' character are ignored.
Arguments to commands are separated by spaces.
.PP
The following commands are currently supported:
.IP "\fI\s-1TYPE\s0\fR name dissector ft_type base_type mask valsstring alignment" 4
.IX Item "TYPE name dissector ft_type base_type mask valsstring alignment"
Register new data type with specified name, what dissector function to call
and what properties to give header fields for elements of this type.
.IP "\fI\s-1NOEMIT\s0\fR type" 4
.IX Item "NOEMIT type"
Suppress emitting a dissect_type function for the specified type
.IP "\fI\s-1PARAM_VALUE\s0\fR type param" 4
.IX Item "PARAM_VALUE type param"
Set parameter to specify to dissector function for given type.
.IP "\fI\s-1HF_FIELD\s0\fR hf title filter ft_type base_type valsstring mask description" 4
.IX Item "HF_FIELD hf title filter ft_type base_type valsstring mask description"
Generate a custom header field with specified properties.
.IP "\fI\s-1HF_RENAME\s0\fR old_hf_name new_hf_name" 4
.IX Item "HF_RENAME old_hf_name new_hf_name"
Force the use of new_hf_name when the parser generator was going to
use old_hf_name.
.Sp
This can be used in conjunction with \s-1HF_FIELD\s0 in order to make more than
one element use the same filter name.
.IP "\fI\s-1ETT_FIELD\s0\fR ett" 4
.IX Item "ETT_FIELD ett"
Register a custom ett field
.IP "\fI\s-1STRIP_PREFIX\s0\fR prefix" 4
.IX Item "STRIP_PREFIX prefix"
Remove the specified prefix from all function names (if present).
.IP "\fI\s-1PROTOCOL\s0\fR longname shortname filtername" 4
.IX Item "PROTOCOL longname shortname filtername"
Change the short\-, long\- and filter-name for the current interface in
Wireshark.
.IP "\fI\s-1FIELD_DESCRIPTION\s0\fR field desc" 4
.IX Item "FIELD_DESCRIPTION field desc"
Change description for the specified header field. `field' is the hf name of the field.
.IP "\fI\s-1IMPORT\s0\fR dissector code..." 4
.IX Item "IMPORT dissector code..."
Code to insert when generating the specified dissector. \f(CW@HF\fR@ and
\&\f(CW@PARAM\fR@ will be substituted.
.IP "\fI\s-1INCLUDE\s0\fR filename" 4
.IX Item "INCLUDE filename"
Include conformance data from the specified filename in the dissector.
.ie n .IP "\fI\s-1TFS\s0\fR hf_name ""true string"" ""false string""" 4
.el .IP "\fI\s-1TFS\s0\fR hf_name ``true string'' ``false string''" 4
.IX Item "TFS hf_name true string false string"
Override the text shown when a bitmap boolean value is enabled or disabled.
.IP "\fI\s-1MANUAL\s0\fR fn_name" 4
.IX Item "MANUAL fn_name"
Force pidl to not generate a particular function but allow the user
to write a function manually. This can be used to remove the function
for only one level for a particular element rather than all the functions and
ett/hf variables for a particular element as the \s-1NOEMIT\s0 command does.
.IP "\fI\s-1CODE START\s0\fR/\fI\s-1CODE END\s0\fR Begin and end a section of code to be put directly into the generated source file for the dissector." 4
.IX Item "CODE START/CODE END Begin and end a section of code to be put directly into the generated source file for the dissector."
.PD 0
.IP "\fI\s-1HEADER START\s0\fR/\fI\s-1HEADER END\s0\fR Begin and end a section of code to be put directly into the generated header file for the dissector." 4
.IX Item "HEADER START/HEADER END Begin and end a section of code to be put directly into the generated header file for the dissector."
.PD
.SH "EXAMPLE"
.IX Header "EXAMPLE"
.Vb 1
\& INFO_KEY OpenKey.Ke
.Ve

View file

@ -0,0 +1,76 @@
.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
.\}
.\" ========================================================================
.\"
.IX Title "Parse::Pidl::Wireshark::NDR 3pm"
.TH Parse::Pidl::Wireshark::NDR 3pm "2016-11-15" "perl v5.24.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Parse::Pidl::Wireshark::NDR \- Parser generator for Wireshark