我在客户机和服务器之间有一个代理服务器。
我使用XDR读取和修改它们之间的NFS消息。
例如,如果我想编辑文件大小和获取属性,则使用struct和函数。
GETATTR3res bool_t xdr_GETATTR3res ( XDR *xdrs,GETATTR3res *objp );
现在,我想使用相同的方法修改对
RPC: 节目: NFSACL (100227) 程序版本:3 程序: GETACL (1)和SETACL (2)
我想用xdr编辑(fattr3)属性字段
NFSACL的XDR函数或NFSACL过程所具有的字段的解构XDR函数。
发布于 2015-08-20 11:11:19
我已经找到了具有较小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解码和回缩。
https://stackoverflow.com/questions/32113088
复制相似问题