summaryrefslogtreecommitdiff
path: root/pidl/lib/Parse/Pidl/NDR.pm
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2009-12-10 10:04:48 +0300
committerStefan Metzmacher <metze@samba.org>2009-12-12 10:26:05 +0100
commit678f2ca14b97c2bf0d5ef8fd0f0313425803c9ea (patch)
tree4ecbbb5cc8268f8dd7abbadc9e47f1c1387c810f /pidl/lib/Parse/Pidl/NDR.pm
parentf0054da041b961bde25f63791d3b33cc834bd365 (diff)
downloadsamba-678f2ca14b97c2bf0d5ef8fd0f0313425803c9ea.tar.gz
samba-678f2ca14b97c2bf0d5ef8fd0f0313425803c9ea.tar.bz2
samba-678f2ca14b97c2bf0d5ef8fd0f0313425803c9ea.zip
pidl: Introduce new dirrective: relative_short
relative_short is like relative but instead of having the offset coded on 4 bytes it's coded on 2 bytes. Such things happen in GET_DFS_REFERAL messages. Signed-off-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'pidl/lib/Parse/Pidl/NDR.pm')
-rw-r--r--pidl/lib/Parse/Pidl/NDR.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm
index 4e680b336f..d326f67040 100644
--- a/pidl/lib/Parse/Pidl/NDR.pm
+++ b/pidl/lib/Parse/Pidl/NDR.pm
@@ -351,6 +351,7 @@ sub pointer_type($)
return "sptr" if (has_property($e, "sptr"));
return "unique" if (has_property($e, "unique"));
return "relative" if (has_property($e, "relative"));
+ return "relative_short" if (has_property($e, "relative_short"));
return "ignore" if (has_property($e, "ignore"));
return undef;
@@ -902,6 +903,7 @@ my %property_list = (
"unique" => ["ELEMENT"],
"ignore" => ["ELEMENT"],
"relative" => ["ELEMENT"],
+ "relative_short" => ["ELEMENT"],
"null_is_ffffffff" => ["ELEMENT"],
"relative_base" => ["TYPEDEF", "STRUCT", "UNION"],
@@ -1059,6 +1061,7 @@ sub ValidElement($)
has_property($e, "ptr") or
has_property($e, "unique") or
has_property($e, "relative") or
+ has_property($e, "relative_short") or
has_property($e, "ref"))) {
fatal($e, el_name($e) . " : pointer properties on non-pointer element\n");
}