簡體   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