NFS ACL GET ACL / SET ACL 结构
NFSACL GETACL / SETACL structes
我在客户端和服务器之间有一个代理服务器。
我使用 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解码并返回
我在客户端和服务器之间有一个代理服务器。
我使用 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解码并返回