"""Network Data Representation (NDR) marshalling and unmarshalling."""
-def ndr_pack(object):
+def ndr_pack(object) -> bytes:
"""Pack a NDR object.
:param object: Object to pack
- :return: String object with marshalled object.
+ :return: bytes object with marshalled object.
"""
ndr_pack = getattr(object, "__ndr_pack__", None)
if ndr_pack is None:
return ndr_pack()
-def ndr_unpack(cls, data, allow_remaining=False):
+def ndr_unpack(cls, data:bytes, allow_remaining=False):
"""NDR unpack an object.
:param cls: Class of the object to unpack
return copy
-def ndr_pack_in(object, bigendian=False, ndr64=False):
+def ndr_pack_in(object, bigendian=False, ndr64=False) -> bytes:
"""Pack the input of an NDR function object.
:param object: Object to pack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
- :return: String object with marshalled object.
+ :return: bytes object with marshalled object.
"""
ndr_pack_in_fn = getattr(object, "__ndr_pack_in__", None)
if ndr_pack_in_fn is None:
return ndr_pack_in_fn(bigendian=bigendian, ndr64=ndr64)
-def ndr_unpack_in(object, data, bigendian=False, ndr64=False, allow_remaining=False):
+def ndr_unpack_in(object,
+ data: bytes,
+ bigendian=False,
+ ndr64=False,
+ allow_remaining=False):
"""Unpack the input of an NDR function object.
:param cls: Class of the object to unpack