162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020 Samsung Electronics Co., Ltd. 462306a36Sopenharmony_ci * Author(s): Namjae Jeon <linkinjeon@kernel.org> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistruct ndr { 862306a36Sopenharmony_ci char *data; 962306a36Sopenharmony_ci int offset; 1062306a36Sopenharmony_ci int length; 1162306a36Sopenharmony_ci}; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#define NDR_NTSD_OFFSETOF 0xA0 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciint ndr_encode_dos_attr(struct ndr *n, struct xattr_dos_attrib *da); 1662306a36Sopenharmony_ciint ndr_decode_dos_attr(struct ndr *n, struct xattr_dos_attrib *da); 1762306a36Sopenharmony_ciint ndr_encode_posix_acl(struct ndr *n, struct mnt_idmap *idmap, 1862306a36Sopenharmony_ci struct inode *inode, struct xattr_smb_acl *acl, 1962306a36Sopenharmony_ci struct xattr_smb_acl *def_acl); 2062306a36Sopenharmony_ciint ndr_encode_v4_ntacl(struct ndr *n, struct xattr_ntacl *acl); 2162306a36Sopenharmony_ciint ndr_encode_v3_ntacl(struct ndr *n, struct xattr_ntacl *acl); 2262306a36Sopenharmony_ciint ndr_decode_v4_ntacl(struct ndr *n, struct xattr_ntacl *acl); 23