[英]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.