mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
s4-pidl: add support for NDR64
Added support for NDR64 to the samba4 pidl generator
This commit is contained in:
parent
c9b0b89cc0
commit
db5e7f3d05
@ -363,7 +363,10 @@ sub find_largest_alignment($)
|
||||
my $a = 1;
|
||||
|
||||
if ($e->{POINTERS}) {
|
||||
$a = 4;
|
||||
# this is a hack for NDR64
|
||||
# the NDR layer translates this into
|
||||
# an alignment of 4 for NDR and 8 for NDR64
|
||||
$a = 5;
|
||||
} elsif (has_property($e, "subcontext")) {
|
||||
$a = 1;
|
||||
} elsif (has_property($e, "transmit_as")) {
|
||||
|
@ -204,12 +204,12 @@ sub ParseArrayPushHeader($$$$$$)
|
||||
}
|
||||
|
||||
if ((!$l->{IS_SURROUNDING}) and $l->{IS_CONFORMANT}) {
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint32($ndr, NDR_SCALARS, $size));");
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint3264($ndr, NDR_SCALARS, $size));");
|
||||
}
|
||||
|
||||
if ($l->{IS_VARYING}) {
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint32($ndr, NDR_SCALARS, 0));"); # array offset
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint32($ndr, NDR_SCALARS, $length));");
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint3264($ndr, NDR_SCALARS, 0));"); # array offset
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint3264($ndr, NDR_SCALARS, $length));");
|
||||
}
|
||||
|
||||
return $length;
|
||||
@ -1220,9 +1220,9 @@ sub ParseStructPushPrimitives($$$$$)
|
||||
$size = ParseExpr($e->{LEVELS}[0]->{SIZE_IS}, $env, $e->{ORIGINAL});
|
||||
}
|
||||
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint32($ndr, NDR_SCALARS, $size));");
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint3264($ndr, NDR_SCALARS, $size));");
|
||||
} else {
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint32($ndr, NDR_SCALARS, ndr_string_array_size($ndr, $varname->$e->{NAME})));");
|
||||
$self->pidl("NDR_CHECK(ndr_push_uint3264($ndr, NDR_SCALARS, ndr_string_array_size($ndr, $varname->$e->{NAME})));");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user