2015-08-20 1 views
0

J'ai un serveur proxy entre le client et le serveur.NFSACL GETACL/SETACL structes

J'utilise XDR pour lire et modifier les messages NFS entre les

par exemple, si je veux modifier la taille du fichier et obtenir les attributs réponds j'utilise la struct et la fonction

GETATTR3res

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

maintenant je veux utiliser la même méthode pour modifier replys pour

RPC:

Programme: NFSACL (100227)

Version du programme: 3

Procédure: GETACL (1) et SETACL (2)

je veux modifier le (fattr3) attributs terrain avec xdr

soit une fonction XDR pour NFSACL ou même déconstruit la fonction XDR pour les champs procédures NFSACL ont

+0

Certes, vous pouvez obtenir ces informations plus sensiblement en exécutant rpcgen sur [ 'nfs_prot.x'] (http://www.opensource.apple.com/source/Librpcsvc/Librpcsvc-19.2/nfs_prot.x), qui contient les définitions RPC elles-mêmes – Petesh

Répondre

0

J'ai trouvé cette liste de structures avec XDR plus petits fonction peut être utilisée pour modifier les attributs

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; 

et en utilisant xdr_post_op_attr pour décoder et enconde retour