gpt4 book ai didi

c - NFS ACL GET ACL/SET ACL 结构

转载 作者:行者123 更新时间:2023-11-30 17:11:33 26 4
gpt4 key购买 nike

我在客户端和服务器之间有一个代理服务器。

我使用 XDR 读取和修改它们之间的 NFS 消息

例如,如果我想编辑文件大小并获取属性回复我使用结构和函数

GETATTR3res

bool_t xdr_GETATTR3res ( XDR *xdrs, GETATTR3res *objp );

现在我想使用相同的方法来修改回复

RPC:

Program: NFSACL (100227)

Program version: 3

Procedure: GETACL (1) and SETACL (2)

我想使用 xdr 编辑 (fattr3) 属性字段

NFSACL 的 XDR 函数,甚至是 NFSACL 过程具有的字段的解构 XDR 函数

最佳答案

我发现这个具有较小XDR功能的结构列表可用于修改属性

struct GETACL3args {
nfs_fh3 fh;
uint32 mask;
};
typedef struct GETACL3args GETACL3args;

struct GETACL3resok {
post_op_attr attr;
vsecattr_t acl;
};
typedef struct GETACL3resok GETACL3resok;

struct GETACL3resfail {
post_op_attr attr;
};
typedef struct GETACL3resfail GETACL3resfail;

struct GETACL3res {
nfsstat3 status;
union {
GETACL3resok ok;
GETACL3resfail fail;
} res_u;
};
typedef struct GETACL3res GETACL3res;

struct SETACL3args {
nfs_fh3 fh;
vsecattr_t acl;
};
typedef struct SETACL3args SETACL3args;

struct SETACL3resok {
post_op_attr attr;
};
typedef struct SETACL3resok SETACL3resok;

struct SETACL3resfail {
post_op_attr attr;
};
typedef struct SETACL3resfail SETACL3resfail;

struct SETACL3res {
nfsstat3 status;
union {
SETACL3resok ok;
SETACL3resfail fail;
} res_u;
};
typedef struct SETACL3res SETACL3res;

并使用 xdr_post_op_attr 进行解码并编码回来

关于c - NFS ACL GET ACL/SET ACL 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com