繁体   English   中英

NFSACL GETACL / SETACL结构

[英]NFSACL GETACL / SETACL structes

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

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

例如,如果我要编辑文件大小并获取属性回复,则使用struct和function

GETATTR3res

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

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

RPC:

程序:NFSACL(100227)

程式版本:3

步骤:GETACL(1)和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解码和编码返回

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM