NFS4(3)
π NFS4(3) β nfs4 4.2
so this is NFS4(3), from the nfs4 4.2 manual, and bestie it's a whole module β grab a snack π
β¨ NAME β¨
packet.nfs.nfs4 β the NFSv4 decoding module π like, it decodes NFSv4 packets, that's the whole job, and it does it flawlessly.
π CLASSES π
π class ACCESS4args (baseobj.BaseObj)
struct ACCESS4args {
/* CURRENT_FH: object */
access4 access;
};
Methods defined here:
__init__(self, unpack)β Constructor. It sets up the object's private data based on the args you hand it. You can pass them positionally, as named args, or a lil mix of both β dealer's choice, no judgment. β¨
π class ACCESS4res (baseobj.BaseObj)
union switch ACCESS4res (nfsstat4 status) {
case const.NFS4_OK:
ACCESS4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Fills in the object's private data per the arguments you give it, and yeah β positional, named, or both at once all work. π
π class ACCESS4resok (baseobj.BaseObj)
struct ACCESS4resok {
access4 supported;
access4 access;
};
Methods defined here:
__init__(self, unpack)β Constructor. Private data gets initialized from your args; positional, named, or a combo, whatever vibes. π¦
π class ALLOCATE4args (baseobj.BaseObj)
struct ALLOCATE4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
length4 length;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the args given β positional, named, or a mix of the two. πΈ
π class ALLOCATE4res (baseobj.BaseObj)
struct ALLOCATE4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets the object's private data from whatever arguments you give it; positional, named, or both, all valid. β¨
π class BACKCHANNEL_CTL4args (baseobj.BaseObj)
struct BACKCHANNEL_CTL4args {
uint32_t cb_program;
callback_sec_parms4 sec_parms<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Private data goes in based on the arguments given, and you can do positional, named, or a combination. π
π class BACKCHANNEL_CTL4res (baseobj.BaseObj)
struct BACKCHANNEL_CTL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a blend of both. π
π class BIND_CONN_TO_SESSION4args (baseobj.BaseObj)
struct BIND_CONN_TO_SESSION4args {
sessionid4 sessionid;
channel_dir_from_client4 dir;
bool rdma_mode;
};
Methods defined here:
__init__(self, unpack)β Constructor. It takes your args and initializes the object's private data with them; positional, named, or a combo, you pick. π
π class BIND_CONN_TO_SESSION4res (baseobj.BaseObj)
union switch BIND_CONN_TO_SESSION4res (nfsstat4 status) {
case const.NFS4_OK:
BIND_CONN_TO_SESSION4resok resok;
};
Methods defined here:
__init__(self, unpack)β Constructor. Object's private data gets initialized according to the arguments given β positional, named, or both, fr fr. π«Ά
π class BIND_CONN_TO_SESSION4resok (baseobj.BaseObj)
struct BIND_CONN_TO_SESSION4resok {
sessionid4 sessionid;
channel_dir_from_server4 dir;
bool rdma_mode;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data per the args given. Positional, named, or a mix β all good. β
π class CB_COMPOUND4args (packet.nfs.nfsbase.NFSbase)
struct CB_COMPOUND4args {
utf8str_cs tag;
uint32_t minorversion;
uint32_t callback_ident;
nfs_cb_argop4 array<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data according to the arguments given β positional, named, or a combination of both. π
π class CB_COMPOUND4res (packet.nfs.nfsbase.NFSbase)
struct CB_COMPOUND4res {
nfsstat4 status;
utf8str_cs tag;
nfs_cb_resop4 array<>;
};
Methods defined here:
__init__(self, unpack, minorversion)β Constructor. Note the extraminorversionarg on this one, bestie, it's not like the others π. Initializes the object's private data according to the arguments given; positional, named, or a combo of both. π
π class CB_GETATTR4args (baseobj.BaseObj)
struct CB_GETATTR4args {
nfs_fh4 fh;
bitmap4 request;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or both at once. πΈ
π class CB_GETATTR4res (baseobj.BaseObj)
union switch CB_GETATTR4res (nfsstat4 status) {
case const.NFS4_OK:
CB_GETATTR4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Object's private data, initialized according to the args you give. Positional, named, or a mix. π¦
π class CB_GETATTR4resok (baseobj.BaseObj)
struct CB_GETATTR4resok {
fattr4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a combination. β¨
π class CB_ILLEGAL4res (baseobj.BaseObj)
struct CB_ILLEGAL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets the object's private data from the args given β positional, named, or a blend of both. π
π class CB_LAYOUTRECALL4args (baseobj.BaseObj)
struct CB_LAYOUTRECALL4args {
layouttype4 type;
layoutiomode4 iomode;
bool changed;
layoutrecall4 recall;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or both. π₯
π class CB_LAYOUTRECALL4res (baseobj.BaseObj)
struct CB_LAYOUTRECALL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Private data gets initialized according to the args given; positional, named, or a combo of both. π
π class CB_NOTIFY4args (baseobj.BaseObj)
struct CB_NOTIFY4args {
stateid4 stateid;
nfs_fh4 fh;
notify4 changes<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a mixture of both. π
π class CB_NOTIFY4res (baseobj.BaseObj)
struct CB_NOTIFY4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Object's private data, initialized per the args given β positional, named, or both, no cap. π
π class CB_NOTIFY_DEVICEID4args (baseobj.BaseObj)
struct CB_NOTIFY_DEVICEID4args {
notify4 changes<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a combination of both. β
π class CB_NOTIFY_DEVICEID4res (baseobj.BaseObj)
struct CB_NOTIFY_DEVICEID4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data according to the args given β positional, named, or both at once. π«Ά
π class CB_NOTIFY_LOCK4args (baseobj.BaseObj)
struct CB_NOTIFY_LOCK4args {
nfs_fh4 fh;
lock_owner4 lock_owner;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a combo of both. π
π class CB_NOTIFY_LOCK4res (baseobj.BaseObj)
struct CB_NOTIFY_LOCK4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or a blend. β¨
π class CB_OFFLOAD4args (baseobj.BaseObj)
struct CB_OFFLOAD4args {
nfs_fh4 fh;
stateid4 stateid;
offload_info4 info;
};
Methods defined here:
__init__(self, unpack)β Constructor. Object's private data gets initialized according to the args given β positional, named, or a combination of both. πΈ
π class CB_OFFLOAD4res (baseobj.BaseObj)
struct CB_OFFLOAD4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given β positional, named, or both. π¦
π class CB_PUSH_DELEG4args (baseobj.BaseObj)
struct CB_PUSH_DELEG4args {
nfs_fh4 fh;
open_delegation4 delegation;
};
Methods defined here:
__init__(self, unpack)β Constructor.
class CB_PUSH_DELEG4res(baseobj.BaseObj)
struct CB_PUSH_DELEG4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give. You can pass them positionally, as named arguments, or a mix of both. π
class CB_RECALL4args(baseobj.BaseObj)
struct CB_RECALL4args {
stateid4 stateid;
bool truncate;
nfs_fh4 fh;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data from the arguments you provide. You can give them positionally, by name, or a combo of both. β¨
class CB_RECALL4res(baseobj.BaseObj)
struct CB_RECALL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you pass. You can pass them positionally, as named arguments, or a combination of both. π¦
class CB_RECALLABLE_OBJ_AVAIL4args(baseobj.BaseObj)
CB_RECALLABLE_OBJ_AVAIL4args = class CB_RECALL_ANY4args(baseobj.BaseObj)
no methods here, bestie β it's literally just an alias for CB_RECALL_ANY4args. iconic. π
class CB_RECALLABLE_OBJ_AVAIL4res(baseobj.BaseObj)
struct CB_RECALLABLE_OBJ_AVAIL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. πΈ
class CB_RECALL_ANY4args(baseobj.BaseObj)
struct CB_RECALL_ANY4args {
uint32_t objects_to_keep;
bitmap4 mask;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data from the args you give. You can hand them over positionally, as named args, or a combo of both. π
class CB_RECALL_ANY4res(baseobj.BaseObj)
struct CB_RECALL_ANY4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you provide. You can pass them positionally, by name, or a combination of both. β¨
class CB_RECALL_SLOT4args(baseobj.BaseObj)
struct CB_RECALL_SLOT4args {
slotid4 target_highest_slotid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you give. You can pass them positionally, as named arguments, or a mix of both. π
class CB_RECALL_SLOT4res(baseobj.BaseObj)
struct CB_RECALL_SLOT4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
class CB_SEQUENCE4args(baseobj.BaseObj)
struct CB_SEQUENCE4args {
sessionid4 sessionid;
sequenceid4 sequenceid;
slotid4 slotid;
slotid4 highest_slotid;
bool cachethis;
referring_call_list4 referring_call_lists<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you pass. You can give them positionally, as named arguments, or a combo of both. π
class CB_SEQUENCE4res(baseobj.BaseObj)
union switch CB_SEQUENCE4res (nfsstat4 status) {
case const.NFS4_OK:
CB_SEQUENCE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data from the arguments you provide. You can pass them positionally, by name, or a mix of both. π
class CB_SEQUENCE4resok(baseobj.BaseObj)
struct CB_SEQUENCE4resok {
sessionid4 sessionid;
sequenceid4 sequenceid;
slotid4 slotid;
slotid4 highest_slotid;
slotid4 target_highest_slotid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β
class CB_WANTS_CANCELLED4args(baseobj.BaseObj)
struct CB_WANTS_CANCELLED4args {
bool contended;
bool resourced;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you give. You can pass them positionally, as named arguments, or a combination of both. π
class CB_WANTS_CANCELLED4res(baseobj.BaseObj)
struct CB_WANTS_CANCELLED4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π₯
class CLONE4args(baseobj.BaseObj)
struct CLONE4args {
/*
* SAVED_FH: source file
* CURRENT_FH: destination file
*/
stateid4 src_stateid;
stateid4 dst_stateid;
offset4 src_offset;
offset4 dst_offset;
length4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data from the arguments you pass. You can give them positionally, as named arguments, or a mix of both. π
class CLONE4res(baseobj.BaseObj)
struct CLONE4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
class CLOSE4args(baseobj.BaseObj)
struct CLOSE4args {
/* CURRENT_FH: object */
seqid4 seqid;
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you provide. You can pass them positionally, by name, or a combo of both. π
class CLOSE4res(baseobj.BaseObj)
union switch CLOSE4res (nfsstat4 status) {
case const.NFS4_OK:
stateid4 stateid;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π§
class COMMIT4args(baseobj.BaseObj)
struct COMMIT4args {
/* CURRENT_FH: file */
offset4 offset;
count4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data from the arguments you give. You can pass them positionally, as named arguments, or a mix of both. π
class COMMIT4res(baseobj.BaseObj)
union switch COMMIT4res (nfsstat4 status) {
case const.NFS4_OK:
COMMIT4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class COMMIT4resok(baseobj.BaseObj)
struct COMMIT4resok {
verifier4 verifier;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you pass. You can give them positionally, by name, or a combination of both. π¦
class COMPOUND4args(packet.nfs.nfsbase.NFSbase)
struct COMPOUND4args {
utf8str_cs tag;
uint32_t minorversion;
nfs_argop4 array<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. πΈ
class COMPOUND4res(packet.nfs.nfsbase.NFSbase)
struct COMPOUND4res {
nfsstat4 status;
utf8str_cs tag;
nfs_resop4 array<>;
};
Methods defined here:
__init__(self, unpack, minorversion)β Constructor. It initializes the object's private data from the arguments you provide. You can pass them positionally, as named arguments, or a mix of both. π
class COPY4args(baseobj.BaseObj)
struct COPY4args {
/*
* SAVED_FH: source file
* CURRENT_FH: destination file
*/
stateid4 src_stateid;
stateid4 dst_stateid;
offset4 src_offset;
offset4 dst_offset;
length4 count;
bool consecutive;
bool synchronous;
netloc4 src_servers<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data based on the arguments you give. You can give them positionally, as named arguments, or a combo of both. π
class COPY4res(baseobj.BaseObj)
union switch COPY4res (nfsstat4 status) {
case const.NFS4_OK:
COPY4resok resok;
case const.NFS4ERR_OFFLOAD_NO_REQS:
copy_requirements4 requirements;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
class COPY4resok(baseobj.BaseObj)
struct COPY4resok {
write_response4 response;
copy_requirements4 requirements;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given.
Okay so boom, constructor time: it initializes the object's private data according to the arguments you give it. You can pass them positionally, as named arguments, or a mix of both. π
class COPY_NOTIFY4args(baseobj.BaseObj)
struct COPY_NOTIFY4args {
/* CURRENT_FH: source file */
stateid4 stateid;
netloc4 dst_server;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class COPY_NOTIFY4res(baseobj.BaseObj)
union switch COPY_NOTIFY4res (nfsstat4 status) {
case const.NFS4_OK:
COPY_NOTIFY4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class COPY_NOTIFY4resok(baseobj.BaseObj)
struct COPY_NOTIFY4resok {
nfstime4 lease_time;
stateid4 stateid;
netloc4 src_servers<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE4args(baseobj.BaseObj)
struct CREATE4args {
/* CURRENT_FH: directory for creation */
createtype4 type;
component4 name;
fattr4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE4res(baseobj.BaseObj)
union switch CREATE4res (nfsstat4 status) {
case const.NFS4_OK:
/* new CURRENTFH: created object */
CREATE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE4resok(baseobj.BaseObj)
struct CREATE4resok {
change_info4 cinfo;
bitmap4 attrset; /* attributes set */
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE_SESSION4args(baseobj.BaseObj)
struct CREATE_SESSION4args {
clientid4 clientid;
sequenceid4 sequenceid;
uint32_t flags;
channel_attrs4 fore_chan_attrs;
channel_attrs4 back_chan_attrs;
uint32_t cb_program;
callback_sec_parms4 sec_parms<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE_SESSION4res(baseobj.BaseObj)
union switch CREATE_SESSION4res (nfsstat4 status) {
case const.NFS4_OK:
CREATE_SESSION4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class CREATE_SESSION4resok(baseobj.BaseObj)
struct CREATE_SESSION4resok {
sessionid4 sessionid;
sequenceid4 sequenceid;
uint32_t flags;
channel_attrs4 fore_chan_attrs;
channel_attrs4 back_chan_attrs;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DEALLOCATE4args(baseobj.BaseObj)
struct DEALLOCATE4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
length4 length;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DEALLOCATE4res(baseobj.BaseObj)
struct DEALLOCATE4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DELEGPURGE4args(baseobj.BaseObj)
struct DELEGPURGE4args {
clientid4 clientid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DELEGPURGE4res(baseobj.BaseObj)
struct DELEGPURGE4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DELEGRETURN4args(baseobj.BaseObj)
struct DELEGRETURN4args {
/* CURRENT_FH: delegated object */
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DELEGRETURN4res(baseobj.BaseObj)
struct DELEGRETURN4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DESTROY_CLIENTID4args(baseobj.BaseObj)
struct DESTROY_CLIENTID4args {
clientid4 clientid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DESTROY_CLIENTID4res(baseobj.BaseObj)
struct DESTROY_CLIENTID4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DESTROY_SESSION4args(baseobj.BaseObj)
struct DESTROY_SESSION4args {
sessionid4 sessionid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class DESTROY_SESSION4res(baseobj.BaseObj)
struct DESTROY_SESSION4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class EXCHANGE_ID4args(baseobj.BaseObj)
struct EXCHANGE_ID4args {
client_owner4 clientowner;
uint32_t flags;
state_protect4_a state_protect;
nfs_impl_id4 client_impl_id<1>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class EXCHANGE_ID4res(baseobj.BaseObj)
union switch EXCHANGE_ID4res (nfsstat4 status) {
case const.NFS4_OK:
EXCHANGE_ID4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class EXCHANGE_ID4resok(baseobj.BaseObj)
struct EXCHANGE_ID4resok {
clientid4 clientid;
sequenceid4 sequenceid;
uint32_t flags;
state_protect4_r state_protect;
server_owner4 server_owner;
opaque server_scope<NFS4_OPAQUE_LIMIT>;
nfs_impl_id4 server_impl_id<1>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class FREE_STATEID4args(baseobj.BaseObj)
struct FREE_STATEID4args {
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class FREE_STATEID4res(baseobj.BaseObj)
struct FREE_STATEID4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
class GETATTR4args(baseobj.BaseObj)
struct GETATTR4args {
/* CURRENT_FH: object */
bitmap4 request;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you pass. You can pass them positionally, as named arguments, or a mix of both. β¨
GETATTR4res
okay so this one is a union switch on nfsstat4 status, and it's giving very demure, very mindful β¨
class GETATTR4res(baseobj.BaseObj)
union switch GETATTR4res (nfsstat4 status) {
case const.NFS4_OK:
GETATTR4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
GETATTR4resok
bestie this is a struct with a single fattr4 attributes field. iconic πΈ
class GETATTR4resok(baseobj.BaseObj)
struct GETATTR4resok {
fattr4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor! It sets up the object's private data from the args you give it. You can pass them positionally, by name, or a mix of both. π«Ά
GETDEVICEINFO4args
okay so this is a struct for GETDEVICEINFO4args. It's got deviceid, type, maxcount, and notify_mask. slay β¨
class GETDEVICEINFO4args(baseobj.BaseObj)
struct GETDEVICEINFO4args {
deviceid4 deviceid;
layouttype4 type;
count4 maxcount;
bitmap4 notify_mask;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
GETDEVICEINFO4res
this one is a union switch on nfsstat4 status with cases for NFS4_OK and NFS4ERR_TOOSMALL. periodt π
class GETDEVICEINFO4res(baseobj.BaseObj)
union switch GETDEVICEINFO4res (nfsstat4 status) {
case const.NFS4_OK:
GETDEVICEINFO4resok resok;
case const.NFS4ERR_TOOSMALL:
count4 mincount;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π¦
GETDEVICEINFO4resok
okay so this is a struct with device_addr and notify_mask. so fetch π
class GETDEVICEINFO4resok(baseobj.BaseObj)
struct GETDEVICEINFO4resok {
device_addr4 device_addr;
bitmap4 notify_mask;
};
Methods defined here:
__init__(self, unpack)β Constructor! It initializes the object's private data based on the arguments. Positional, named, or both β you do you. π
GETDEVICELIST4args
bestie this one's a struct with comments, so pay attention. It's got type, maxdevices, cookie, and verifier. iykyk β¨
class GETDEVICELIST4args(baseobj.BaseObj)
struct GETDEVICELIST4args {
/* CURRENT_FH: object belonging to the file system */
layouttype4 type;
/* number of deviceIDs to return */
count4 maxdevices;
nfs_cookie4 cookie;
verifier4 verifier;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
GETDEVICELIST4res
this one is a union switch on nfsstat4 status. slay π
class GETDEVICELIST4res(baseobj.BaseObj)
union switch GETDEVICELIST4res (nfsstat4 status) {
case const.NFS4_OK:
GETDEVICELIST4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It sets up the object's private data from the args. Positional, named, or a combo. πΈ
GETDEVICELIST4resok
okay so this struct has cookie, verifier, deviceid_list<>, and eof. iconic π
class GETDEVICELIST4resok(baseobj.BaseObj)
struct GETDEVICELIST4resok {
nfs_cookie4 cookie;
verifier4 verifier;
deviceid4 deviceid_list<>;
bool eof;
};
Methods defined here:
__init__(self, unpack)β Constructor! Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
GETFH4res
this one is a union switch on nfsstat4 status. periodt π
class GETFH4res(baseobj.BaseObj)
union switch GETFH4res (nfsstat4 status) {
case const.NFS4_OK:
GETFH4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
GETFH4resok
bestie this is a struct with a single nfs_fh4 fh field. so cute πΈ
class GETFH4resok(baseobj.BaseObj)
struct GETFH4resok {
nfs_fh4 fh;
};
Methods defined here:
__init__(self, unpack)β Constructor! It sets up the object's private data from the args you pass. Positional, named, or both. π
GETXATTR4args
okay so this struct has a comment: /* CURRENT_FH: file */ and a field xattrkey4 name. iykyk π
class GETXATTR4args(baseobj.BaseObj)
struct GETXATTR4args {
/* CURRENT_FH: file */
xattrkey4 name;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π¦
GETXATTR4res
this one is a union switch on nfsstat4 status. slay β¨
class GETXATTR4res(baseobj.BaseObj)
union switch GETXATTR4res (nfsstat4 status) {
case const.NFS4_OK:
xattrvalue4 value;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor! Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
GET_DIR_DELEGATION4args
bestie this struct is packed with fields: deleg_avail, notification, child_attr_delay, attr_delay, child_attributes, and attributes. Plus a comment. so fetch π
class GET_DIR_DELEGATION4args(baseobj.BaseObj)
struct GET_DIR_DELEGATION4args {
/* CURRENT_FH: delegated directory */
bool deleg_avail;
bitmap4 notification;
attr_notice4 child_attr_delay;
attr_notice4 attr_delay;
bitmap4 child_attributes;
bitmap4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
GET_DIR_DELEGATION4res
this one is a union switch on nfsstat4 status. periodt π
class GET_DIR_DELEGATION4res(baseobj.BaseObj)
union switch GET_DIR_DELEGATION4res (nfsstat4 status) {
case const.NFS4_OK:
GET_DIR_DELEGATION4res_non_fatal resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor! It sets up the object's private data from the args. Positional, named, or both. πΈ
GET_DIR_DELEGATION4res_non_fatal
okay so this is a union switch on gddrnf4_status with cases GDD4_OK and GDD4_UNAVAIL. iconic β¨
class GET_DIR_DELEGATION4res_non_fatal(baseobj.BaseObj)
union switch GET_DIR_DELEGATION4res_non_fatal (gddrnf4_status status) {
case const.GDD4_OK:
GET_DIR_DELEGATION4resok resok;
case const.GDD4_UNAVAIL:
bool signal;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
GET_DIR_DELEGATION4resok
bestie this struct has verifier, stateid, notification, child_attributes, and attributes, plus comments. iykyk π
class GET_DIR_DELEGATION4resok(baseobj.BaseObj)
struct GET_DIR_DELEGATION4resok {
verifier4 verifier;
/* Stateid for get_dir_delegation */
stateid4 stateid;
/* Which notifications can the server support */
bitmap4 notification;
bitmap4 child_attributes;
bitmap4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor! Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
ILLEGAL4res
this one is a struct with a single nfsstat4 status field. slay β¨
class ILLEGAL4res(baseobj.BaseObj)
struct ILLEGAL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It sets up the object's private data from the args. Positional, named, or a combo. π¦
IO_ADVISE4args
okay so this struct has a comment /* CURRENT_FH: file */ and fields stateid, offset, count, and mask. so fetch π
class IO_ADVISE4args(baseobj.BaseObj)
struct IO_ADVISE4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
length4 count;
bitmap4 mask;
};
Methods defined here:
__init__(self, unpack)β Constructor! Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
IO_ADVISE4res
this one is a union switch on nfsstat4 status. periodt π
class IO_ADVISE4res(baseobj.BaseObj)
union switch IO_ADVISE4res (nfsstat4 status) {
case const.NFS4_OK:
IO_ADVISE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
IO_ADVISE4resok
bestie this is a struct with a single bitmap4 mask field. iconic π
class IO_ADVISE4resok(baseobj.BaseObj)
struct IO_ADVISE4resok {
bitmap4 mask;
};
Methods defined here:
__init__(self, unpack)β Constructor! It sets up the object's private data from the args you give. Positional, named, or both. π
IO_ADVISE_type4
okay so this one is an enum. slay β¨
class IO_ADVISE_type4(packet.utils.Enum)
enum IO_ADVISE_type4
LAYOUTCOMMIT4args
this struct has a comment /* CURRENT_FH: file */ and fields offset, length, reclaim, stateid, last_write_offset, time_modify, and layoutupdate. so fetch π
class LAYOUTCOMMIT4args(baseobj.BaseObj)
struct LAYOUTCOMMIT4args {
/* CURRENT_FH: file */
offset4 offset;
length4 length;
bool reclaim;
stateid4 stateid;
newoffset4 last_write_offset;
newtime4 time_modify;
layoutupdate4 layoutupdate;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
LAYOUTCOMMIT4res
this one is a union switch on nfsstat4 status. periodt π
class LAYOUTCOMMIT4res(baseobj.BaseObj)
union switch LAYOUTCOMMIT4res (nfsstat4 status) {
case const.NFS4_OK:
LAYOUTCOMMIT4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor! Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
LAYOUTCOMMIT4resok
bestie this struct has a single newsize4 newsize field. iconic πΈ
class LAYOUTCOMMIT4resok(baseobj.BaseObj)
struct LAYOUTCOMMIT4resok {
newsize4 newsize;
};
Methods defined here:
__init__(self, unpack)β Constructor. It sets up the object's private data from the args. Positional, named, or a combo. π¦
LAYOUTERROR4args
okay so this struct has a comment /* CURRENT_FH: file */ and fields offset, length, stateid, and errors<>. slay β¨
class LAYOUTERROR4args(baseobj.BaseObj)
struct LAYOUTERROR4args {
/* CURRENT_FH: file */
offset4 offset;
length4 length;
stateid4 stateid;
device_error4 errors<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Okay so like, that __init__ we were just talking about? It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
class LAYOUTERROR4res(baseobj.BaseObj) π¦
struct LAYOUTERROR4res {
nfsstat4 status;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTGET4args(baseobj.BaseObj) πΈ
struct LAYOUTGET4args {
/* CURRENT_FH: file */
bool avail;
layouttype4 type;
layoutiomode4 iomode;
offset4 offset;
length4 length;
length4 minlength;
stateid4 stateid;
count4 maxcount;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTGET4res(baseobj.BaseObj) π¦
union switch LAYOUTGET4res (nfsstat4 status) {
case const.NFS4_OK:
LAYOUTGET4resok resok;
case const.NFS4ERR_LAYOUTTRYLATER:
/* Server will signal layout availability */
bool signal;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTGET4resok(baseobj.BaseObj) π
struct LAYOUTGET4resok {
bool return_on_close;
stateid4 stateid;
layout4 layout<>;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTRETURN4args(baseobj.BaseObj) β
struct LAYOUTRETURN4args {
/* CURRENT_FH: file */
bool reclaim;
layouttype4 type;
layoutiomode4 iomode;
layoutreturn4 layoutreturn;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTRETURN4res(baseobj.BaseObj) π
union switch LAYOUTRETURN4res (nfsstat4 status) {
case const.NFS4_OK:
layoutreturn_stateid stateid;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTSTATS4args(baseobj.BaseObj) π₯
struct LAYOUTSTATS4args {
/* CURRENT_FH: file */
offset4 offset;
length4 length;
stateid4 stateid;
io_info4 read;
io_info4 write;
deviceid4 deviceid;
layoutupdate4 layoutupdate;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LAYOUTSTATS4res(baseobj.BaseObj) π
struct LAYOUTSTATS4res {
nfsstat4 status;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LINK4args(baseobj.BaseObj) πΏ
struct LINK4args {
/*
* SAVED_FH: source object
* CURRENT_FH: target directory
*/
component4 name;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LINK4res(baseobj.BaseObj) π¦
union switch LINK4res (nfsstat4 status) {
case const.NFS4_OK:
LINK4resok resok;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LINK4resok(baseobj.BaseObj) π
struct LINK4resok {
change_info4 cinfo;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LISTXATTRS4args(baseobj.BaseObj) πΈ
struct LISTXATTRS4args {
/* CURRENT_FH: file */
nfs_cookie4 cookie;
count4 maxcount;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LISTXATTRS4res(baseobj.BaseObj) π¦
union switch LISTXATTRS4res (nfsstat4 status) {
case const.NFS4_OK:
LISTXATTRS4resok value;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LISTXATTRS4resok(baseobj.BaseObj) π
struct LISTXATTRS4resok {
nfs_cookie4 cookie;
xattrkey4 names<>;
bool eof;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCK4args(baseobj.BaseObj) π
struct LOCK4args {
/* CURRENT_FH: file */
nfs_lock_type4 locktype;
bool reclaim;
offset4 offset;
length4 length;
locker4 locker;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCK4denied(baseobj.BaseObj) π«
struct LOCK4denied {
offset4 offset;
length4 length;
nfs_lock_type4 locktype;
lock_owner4 owner;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCK4res(baseobj.BaseObj) π₯
union switch LOCK4res (nfsstat4 status) {
case const.NFS4_OK:
LOCK4resok resok;
case const.NFS4ERR_DENIED:
LOCK4denied denied;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCK4resok(baseobj.BaseObj) β
struct LOCK4resok {
stateid4 stateid;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCKT4args(baseobj.BaseObj) π§ͺ
struct LOCKT4args {
/* CURRENT_FH: file */
nfs_lock_type4 locktype;
offset4 offset;
length4 length;
lock_owner4 owner;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCKT4res(baseobj.BaseObj) π¦
union switch LOCKT4res (nfsstat4 status) {
case const.NFS4ERR_DENIED:
LOCK4denied denied;
case const.NFS4_OK:
void;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCKU4args(baseobj.BaseObj) π
struct LOCKU4args {
/* CURRENT_FH: file */
nfs_lock_type4 locktype;
seqid4 seqid;
stateid4 stateid;
offset4 offset;
length4 length;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOCKU4res(baseobj.BaseObj) π
union switch LOCKU4res (nfsstat4 status) {
case const.NFS4_OK:
stateid4 stateid;
default:
void;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOOKUP4args(baseobj.BaseObj) π
struct LOOKUP4args {
/* CURRENT_FH: directory */
component4 name;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π It initializes the object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
class LOOKUP4res(baseobj.BaseObj) π
struct LOOKUP4res {
/* New CURRENT_FH: object */
nfsstat4 status;
};
Methods defined here: π«
__init__(self, unpack)β Constructor! π
class LOOKUPP4res(baseobj.BaseObj)
struct LOOKUPP4res {
/* new CURRENT_FH: parent directory */
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class NVERIFY4args(baseobj.BaseObj)
struct NVERIFY4args {
/* CURRENT_FH: object */
fattr4 attributes;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. β¨
class NVERIFY4res(baseobj.BaseObj)
struct NVERIFY4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π¦
class OFFLOAD_CANCEL4args(baseobj.BaseObj)
struct OFFLOAD_CANCEL4args {
/* CURRENT_FH: file to cancel */
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. πΈ
class OFFLOAD_CANCEL4res(baseobj.BaseObj)
struct OFFLOAD_CANCEL4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OFFLOAD_STATUS4args(baseobj.BaseObj)
struct OFFLOAD_STATUS4args {
/* CURRENT_FH: destination file */
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π«Ά
class OFFLOAD_STATUS4res(baseobj.BaseObj)
union switch OFFLOAD_STATUS4res (nfsstat4 status) {
case const.NFS4_OK:
OFFLOAD_STATUS4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OFFLOAD_STATUS4resok(baseobj.BaseObj)
struct OFFLOAD_STATUS4resok {
length4 count;
nfsstat4 complete<1>;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π₯
class OPEN4args(baseobj.BaseObj)
struct OPEN4args {
seqid4 seqid;
uint32_t access;
uint32_t deny;
open_owner4 owner;
openflag4 openhow;
open_claim4 claim;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN4res(baseobj.BaseObj)
union switch OPEN4res (nfsstat4 status) {
case const.NFS4_OK:
/* New CURRENT_FH: opened file */
OPEN4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN4resok(baseobj.BaseObj)
struct OPEN4resok {
stateid4 stateid; /* Stateid for open */
change_info4 cinfo; /* Directory Change Info */
uint32_t rflags; /* Result flags */
bitmap4 attrset; /* attribute set for create */
open_delegation4 delegation; /* Info on any open delegation */
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. β
class OPENATTR4args(baseobj.BaseObj)
struct OPENATTR4args {
/* CURRENT_FH: object */
bool createdir;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPENATTR4res(baseobj.BaseObj)
struct OPENATTR4res {
/*
* If status is NFS4_OK,
* new CURRENT_FH: named attribute directory
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN_CONFIRM4args(baseobj.BaseObj)
struct OPEN_CONFIRM4args {
/* CURRENT_FH: opened file */
stateid4 stateid;
seqid4 seqid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN_CONFIRM4res(baseobj.BaseObj)
union switch OPEN_CONFIRM4res (nfsstat4 status) {
case const.NFS4_OK:
OPEN_CONFIRM4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π§
class OPEN_CONFIRM4resok(baseobj.BaseObj)
struct OPEN_CONFIRM4resok {
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN_DOWNGRADE4args(baseobj.BaseObj)
struct OPEN_DOWNGRADE4args {
/* CURRENT_FH: opened file */
stateid4 stateid;
seqid4 seqid;
uint32_t access;
uint32_t deny;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class OPEN_DOWNGRADE4res(baseobj.BaseObj)
union switch OPEN_DOWNGRADE4res (nfsstat4 status) {
case const.NFS4_OK:
OPEN_DOWNGRADE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. β¨
class OPEN_DOWNGRADE4resok(baseobj.BaseObj)
struct OPEN_DOWNGRADE4resok {
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π¦
class PUTFH4args(baseobj.BaseObj)
struct PUTFH4args {
nfs_fh4 fh;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. πΈ
class PUTFH4res(baseobj.BaseObj)
struct PUTFH4res {
/*
* If status is NFS4_OK,
* new CURRENT_FH: argument to PUTFH
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π«Ά
class PUTPUBFH4res(baseobj.BaseObj)
struct PUTPUBFH4res {
/*
* If status is NFS4_OK,
* new CURRENT_FH: public fh
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class PUTROOTFH4res(baseobj.BaseObj)
struct PUTROOTFH4res {
/*
* If status is NFS4_OK,
* new CURRENT_FH: root fh
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π₯
class READ4args(baseobj.BaseObj)
struct READ4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
count4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
class READ4res(baseobj.BaseObj)
union switch READ4res (nfsstat4 status) {
case const.NFS4_OK:
READ4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. It initializes the object's private data according to the arguments you give it. Arguments can be positional, named, or a combination of both. π
π¦ class READ4resok(packet.utils.RDMAbase)
okay so this one is a whole RDMAbase girlie, and her struct is giving:
struct READ4resok {
bool eof;
opaque data<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up the object's private data from the arguments you hand over. You can pass them positionally, as named arguments, or a mix of both. π
π class READDIR4args(baseobj.BaseObj)
next up, directory-reading args, and yes she has a /* CURRENT_FH: directory */ note right there in the struct. periodt.
struct READDIR4args {
/* CURRENT_FH: directory */
nfs_cookie4 cookie;
verifier4 verifier;
count4 dircount;
count4 maxcount;
bitmap4 request;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data according to the arguments given. Arguments can be positional, named, or a combo of both. β¨
πΈ class READDIR4res(baseobj.BaseObj)
a union switch, bestie. it's deciding based on nfsstat4 status, and if it's const.NFS4_OK you get READDIR4resok resok, otherwise void. iconic.
union switch READDIR4res (nfsstat4 status) {
case const.NFS4_OK:
READDIR4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
π¦ class READDIR4resok(baseobj.BaseObj)
the resok half of that whole situation, and she's carrying a verifier and a dirlist4 reply. no notes.
struct READDIR4resok {
verifier4 verifier;
dirlist4 reply;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data based on the arguments you give it. You can give them positionally, by name, or both. π
π§ class READLINK4res(baseobj.BaseObj)
another union switch, another nfsstat4 status moment. const.NFS4_OK gets you READLINK4resok resok; everything else gets void.
union switch READLINK4res (nfsstat4 status) {
case const.NFS4_OK:
READLINK4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class READLINK4resok(packet.utils.RDMAbase)
she's an RDMAbase subclass and her whole struct is just linktext4 link. minimal, clean, ate.
struct READLINK4resok {
linktext4 link;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β
π class READ_PLUS4args(baseobj.BaseObj)
okay so READ_PLUS args, with the /* CURRENT_FH: file */ comment living right there. she's got stateid, offset, and count. slay.
struct READ_PLUS4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
count4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π₯
π class READ_PLUS4res(baseobj.BaseObj)
union switch again, bestie. const.NFS4_OK β read_plus_res4 resok; default β void.
union switch READ_PLUS4res (nfsstat4 status) {
case const.NFS4_OK:
read_plus_res4 resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«
π class RECLAIM_COMPLETE4args(baseobj.BaseObj)
this one is a union switch on bool one_fs. if one_fs is const.TRUE, there's a whole comment about CURRENT_FH: object in filesystem reclaim is complete for. and then void; default is also void. the way that both branches are just void? lowkey iconic.
union switch RECLAIM_COMPLETE4args (bool one_fs) {
case const.TRUE:
/*
* If one_fs TRUE,
* CURRENT_FH: object in filesystem reclaim is complete for.
*/
void;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class RECLAIM_COMPLETE4res(baseobj.BaseObj)
simple queen: one nfsstat4 status and that's the whole struct.
struct RECLAIM_COMPLETE4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class RELEASE_LOCKOWNER4args(baseobj.BaseObj)
lockowner release args, carrying a single lock_owner4 owner. no cap.
struct RELEASE_LOCKOWNER4args {
lock_owner4 owner;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. πΏ
π¦ class RELEASE_LOCKOWNER4res(baseobj.BaseObj)
and the response is just a nfsstat4 status. short, sweet, to the point.
struct RELEASE_LOCKOWNER4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class REMOVE4args(baseobj.BaseObj)
REMOVE args! note the /* CURRENT_FH: directory */ comment, because context matters. she has component4 name.
struct REMOVE4args {
/* CURRENT_FH: directory */
component4 name;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
πΈ class REMOVE4res(baseobj.BaseObj)
union switch on nfsstat4 status. const.NFS4_OK β REMOVE4resok resok; default β void. yep.
union switch REMOVE4res (nfsstat4 status) {
case const.NFS4_OK:
REMOVE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
π¦ class REMOVE4resok(baseobj.BaseObj)
resok for REMOVE, and she's got change_info4 cinfo. that's it.
struct REMOVE4resok {
change_info4 cinfo;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π§ class REMOVEXATTR4args(baseobj.BaseObj)
REMOVEXATTR args, with /* CURRENT_FH: file */ and an xattrkey4 name. periodt.
struct REMOVEXATTR4args {
/* CURRENT_FH: file */
xattrkey4 name;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class REMOVEXATTR4res(baseobj.BaseObj)
union switch again. const.NFS4_OK β change_info4 info; default β void.
union switch REMOVEXATTR4res (nfsstat4 status) {
case const.NFS4_OK:
change_info4 info;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β
π class RENAME4args(baseobj.BaseObj)
RENAME args, and she has two comments: /* SAVED_FH: source directory */ and /* CURRENT_FH: target directory */. then component4 name and component4 newname. the drama.
struct RENAME4args {
/* SAVED_FH: source directory */
component4 name;
/* CURRENT_FH: target directory */
component4 newname;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π₯
π class RENAME4res(baseobj.BaseObj)
union switch on nfsstat4 status. const.NFS4_OK β RENAME4resok resok; default β void. you know the drill.
union switch RENAME4res (nfsstat4 status) {
case const.NFS4_OK:
RENAME4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«
π class RENAME4resok(baseobj.BaseObj)
resok with change_info4 source and change_info4 target. both sides got receipts.
struct RENAME4resok {
change_info4 source;
change_info4 target;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class RENEW4args(baseobj.BaseObj)
RENEW args, just a clientid4 clientid in there. simple.
struct RENEW4args {
clientid4 clientid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class RENEW4res(baseobj.BaseObj)
and the response is a single nfsstat4 status. that's the whole vibe.
struct RENEW4res {
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. πΏ
π¦ class RESTOREFH4res(baseobj.BaseObj)
RESTOREFH response, with a comment saying if status is NFS4_OK, then new CURRENT_FH: value of saved fh. and of course a nfsstat4 status.
struct RESTOREFH4res {
/*
* If status is NFS4_OK,
* new CURRENT_FH: value of saved fh
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
π class SAVEFH4res(baseobj.BaseObj)
SAVEFH response, and the comment says if status is NFS4_OK, then new SAVED_FH: value of current fh. plus nfsstat4 status.
struct SAVEFH4res {
/*
* If status is NFS4_OK,
* new SAVED_FH: value of current fh
*/
nfsstat4 status;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. β¨
πΈ class SECINFO4args(baseobj.BaseObj)
SECINFO args, with /* CURRENT_FH: directory */ and a component4 name. yes bestie.
struct SECINFO4args {
/* CURRENT_FH: directory */
component4 name;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
π¦ class SECINFO4res(baseobj.BaseObj)
last one for this part, and she's a union switch on nfsstat4 status. const.NFS4_OK gets /* CURRENTFH: consumed */ and SECINFO4resok resok; default is void.
union switch SECINFO4res (nfsstat4 status) {
case const.NFS4_OK:
/* CURRENTFH: consumed */
SECINFO4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π
class SECINFO_NO_NAME4args(baseobj.BaseObj)
okay so this one is lowkey a whole vibe of its own β it's an args class, meaning it's the "hey server, here's what I want" side of the convo π¬ and it's carrying exactly one field. One. Single. Field. Minimalist queen behavior, honestly π
struct SECINFO_NO_NAME4args {
/* CURRENT_FH: object or child directory */
secinfo_style4 style;
};
the CURRENT_FH comment is doing its little job of telling you the filehandle in play is an object or a child directory β iykyk, that distinction matters. and then secinfo_style4 style is justβ¦ vibing there, holding the style value.
Methods defined here
__init__(self, unpack)β it's the constructor, bestie π it sets up the object's private data based on whatever arguments you hand it, and you can pass those arguments positionally, by name, or as a lil mix of both. your call, no judgment.
class SECINFO_NO_NAME4res(baseobj.BaseObj)
and here's the response side π«Ά but plot twist: it's not even writing out a fresh struct, it's just an alias, a little name-tag situation:
SECINFO_NO_NAME4res = class SECINFO4res(baseobj.BaseObj)
that's it. that's the whole class. it's giving "I'm literally just SECINFO4res but with a different name" energy and honestly? iconic. no extra methods listed here, so we move on π¨
class SEEK4args(baseobj.BaseObj)
okay so SEEK β you're telling the server where to go looking π and this struct is the request slip:
struct SEEK4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
data_content4 what;
};
notice the CURRENT_FH here is a file, not a directory β different vibe from the last one, keep up bestie β¨ and you've got three things in the bag: the stateid, the offset, and what (a data_content4, aka the content type you're asking about).
Methods defined here
__init__(self, unpack)β the constructor, periodt. it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both. slay.
class SEEK4res(baseobj.BaseObj)
and the answer comes back as a union switch on nfsstat4 status π so it's a fork-in-the-road situation:
union switch SEEK4res (nfsstat4 status) {
case const.NFS4_OK:
seek_res4 resok;
default:
void;
};
so if the status is const.NFS4_OK, you get seek_res4 resok β the good ending π. anything else? void. nothing. empty. the void. we don't talk about it π
Methods defined here
__init__(self, unpack)β constructor time π it sets the object's private data up from the arguments you give, and yeah, positional / named / both is all fair game.
class SEQUENCE4args(baseobj.BaseObj)
oh this one is main character energy for real π SEQUENCE is the session workhorse and here's what it takes:
struct SEQUENCE4args {
sessionid4 sessionid;
sequenceid4 sequenceid;
slotid4 slotid;
slotid4 highest_slotid;
bool cachethis;
};
five fields, no notes: sessionid, sequenceid, slotid, highest_slotid, and a lil bool cachethis to round it out. look at that alignment. chef's kiss π
Methods defined here
__init__(self, unpack)β the constructor, fr fr. it initializes the object's private data according to the arguments given, and those args can be positional, named, or a combo of the two.
class SEQUENCE4res(baseobj.BaseObj)
the reply! another union switch on nfsstat4 status, another crossroads πΈ
union switch SEQUENCE4res (nfsstat4 status) {
case const.NFS4_OK:
SEQUENCE4resok resok;
default:
void;
};
const.NFS4_OK β SEQUENCE4resok resok (a whole resok class, which we're getting to in literally one second, patience babe π§). anything else β void.
Methods defined here
__init__(self, unpack)β constructor π¦ initializes the object's private data according to the arguments given. positional, named, or both β dealer's choice.
class SEQUENCE4resok(baseobj.BaseObj)
and here's the actual payload of a successful SEQUENCE π six whole fields, we're feasting:
struct SEQUENCE4resok {
sessionid4 sessionid;
sequenceid4 sequenceid;
slotid4 slotid;
slotid4 highest_slotid;
slotid4 target_highest_slotid;
uint32_t status_flags;
};
see how it echoes back sessionid, sequenceid, slotid and highest_slotid from the args, then adds target_highest_slotid and a uint32_t status_flags? the way it mirrors the request and then serves extra β¨ obsessed.
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and you can pass them positionally, by name, or a mix of both.
class SETATTR4args(baseobj.BaseObj)
SETATTR β you're setting attributes, obviously, it's right there in the name π
and the request carries this:
struct SETATTR4args {
/* CURRENT_FH: target object */
stateid4 stateid;
fattr4 attributes;
};
CURRENT_FH points at the target object π― then you've got a stateid4 stateid and the fattr4 attributes you're trying to set. short, sweet, to the point.
Methods defined here
__init__(self, unpack)β constructor! π it initializes the object's private data according to the arguments given, and those arguments may be positional, named, or a combination of both.
class SETATTR4res(baseobj.BaseObj)
the response, and ngl this one's not even a union switch β it's just a flat struct, which feels refreshing after all those forks π
struct SETATTR4res {
nfsstat4 status;
bitmap4 attrset;
};
status plus an attrset bitmap. simple. clean. ate. π
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given; positional, named, or both all work.
class SETCLIENTID4args(baseobj.BaseObj)
okay SETCLIENTID β introducing yourself to the server, basically π«Ά hi bestie, it's me, your client. here's the intro:
struct SETCLIENTID4args {
nfs_client_id4 client;
cb_client4 callback;
uint32_t callback_ident;
};
client (an nfs_client_id4), callback (a cb_client4 β your callback info), and a uint32_t callback_ident. three fields, all business πΌ
Methods defined here
__init__(self, unpack)β constructor β¨ initializes the object's private data according to the arguments given, and yes, positional / named / both are all allowed.
class SETCLIENTID4res(baseobj.BaseObj)
the response is a union switch with a special little branch for when someone's already using your ID π look:
union switch SETCLIENTID4res (nfsstat4 status) {
case const.NFS4_OK:
SETCLIENTID4resok resok;
case const.NFS4ERR_CLID_INUSE:
clientaddr4 client;
default:
void;
};
so const.NFS4_OK gets you SETCLIENTID4resok resok, but const.NFS4ERR_CLID_INUSE hands you back a clientaddr4 client β like the server going "bestieβ¦ that ID is taken, and here's who has it" π and everything else is just void.
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given. arguments can be positional, named, or a combination of both.
class SETCLIENTID4resok(baseobj.BaseObj)
the happy-path payload π two fields, maximum efficiency:
struct SETCLIENTID4resok {
clientid4 clientid;
verifier4 verifier;
};
your clientid4 clientid and your verifier4 verifier. hold onto both, they're your little VIP wristbands for the confirm step ποΈ
Methods defined here
__init__(self, unpack)β constructor, periodt. it initializes the object's private data according to the arguments given, whether those args are positional, named, or a combo of both.
class SETCLIENTID_CONFIRM4args(baseobj.BaseObj)
and speak of the devil β the confirm step π you're handing back the exact same two things you just got:
struct SETCLIENTID_CONFIRM4args {
clientid4 clientid;
verifier4 verifier;
};
clientid + verifier, matching SETCLIENTID4resok field for field. it's giving "yes hi it's me again, here's my receipt" π§Ύ
Methods defined here
__init__(self, unpack)β constructor π initializes the object's private data according to the arguments given. positional, named, or both β go off.
class SETCLIENTID_CONFIRM4res(baseobj.BaseObj)
the confirmation response is so chill it's basically one line:
struct SETCLIENTID_CONFIRM4res {
nfsstat4 status;
};
that's it. just status. one field. she's lowkey, she's simple, she's telling you how it went β¨
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both.
class SETXATTR4args(baseobj.BaseObj)
extended attributes time π·οΈ and this one's got three fields plus a very specific CURRENT_FH note:
struct SETXATTR4args {
/* CURRENT_FH: file */
setxattr_option4 option;
xattrkey4 name;
xattrvalue4 value;
};
CURRENT_FH is a file here, and then you've got option (a setxattr_option4), name (an xattrkey4), and value (an xattrvalue4). name and value, like a little key-value moment π
Methods defined here
__init__(self, unpack)β constructor π¦ it initializes the object's private data according to the arguments given. positional, named, or a mix of both β all valid.
class SETXATTR4res(baseobj.BaseObj)
response time, and it's a union switch again π
union switch SETXATTR4res (nfsstat4 status) {
case const.NFS4_OK:
change_info4 info;
default:
void;
};
const.NFS4_OK β change_info4 info (the change info, naturally π
). anything else β void. short and dramatic, as always.
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both.
class SET_SSV4args(baseobj.BaseObj)
SET_SSV β and the struct is a vibe, because both fields are opaque arrays π
struct SET_SSV4args {
opaque ssv<>;
opaque digest<>;
};
opaque ssv<> and opaque digest<> β both variable-length, both mysterious, both doing whatever they're doing π«§ no cap.
Methods defined here
__init__(self, unpack)β constructor β¨ initializes the object's private data according to the arguments given. positional, named, or both β you already know the drill.
class SET_SSV4res(baseobj.BaseObj)
and the reply, union switch, say it with me now πΆ
union switch SET_SSV4res (nfsstat4 status) {
case const.NFS4_OK:
SET_SSV4resok resok;
default:
void;
};
const.NFS4_OK β SET_SSV4resok resok. everything else β void. we love a predictable structure, honestly πΈ
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and those arguments may be positional, named, or a combination of both.
class SET_SSV4resok(baseobj.BaseObj)
tiny resok alert π¨ one field and she's done:
struct SET_SSV4resok {
opaque digest<>;
};
just opaque digest<>. no thoughts, head empty, digest only π
Methods defined here
__init__(self, unpack)β constructor π it initializes the object's private data according to the arguments given, whether you go positional, named, or both.
class TEST_STATEID4args(baseobj.BaseObj)
TEST_STATEID β and the whole request is one field, a variable-length array of stateids π§ͺ
struct TEST_STATEID4args {
stateid4 stateids<>;
};
stateid4 stateids<> β plural, because you can test a whole lil squad of them at once π
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both.
class TEST_STATEID4res(baseobj.BaseObj)
union switch, here we go again π
union switch TEST_STATEID4res (nfsstat4 status) {
case const.NFS4_OK:
TEST_STATEID4resok resok;
default:
void;
};
const.NFS4_OK β TEST_STATEID4resok resok. otherwise β void. consistent queen π
Methods defined here
__init__(self, unpack)β constructor π¦ initializes the object's private data according to the arguments given. positional, named, or both β your pick.
class TEST_STATEID4resok(baseobj.BaseObj)
and the resok is also a single variable-length array, which feels right, like a matching set π«Ά
struct TEST_STATEID4resok {
nfsstat4 status_codes<>;
};
nfsstat4 status_codes<> β a whole list of status codes, one per stateid you threw at it. it's giving receipts for everyone π§Ύβ¨
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both.
class VERIFY4args(baseobj.BaseObj)
VERIFY β you're checking whether attributes match what you think they are π and the args are almost insultingly simple:
struct VERIFY4args {
/* CURRENT_FH: object */
fattr4 attributes;
};
CURRENT_FH here is just an object π― and then the fattr4 attributes you want verified. one field. zero drama. we stan a minimal request π
Methods defined here
__init__(self, unpack)β constructor β¨ it initializes the object's private data according to the arguments given; positional, named, or a combination of both all work.
class VERIFY4res(baseobj.BaseObj)
and the answer isβ¦ one field π iconic honestly:
struct VERIFY4res {
nfsstat4 status;
};
just status. that's the whole class. she said "I'll tell you how it went and nothing more" π
Methods defined here
__init__(self, unpack)β the constructor π it initializes the object's private data according to the arguments given, whether those args come in positional, named, or mixed.
class WANT_DELEGATION4args(baseobj.BaseObj)
WANT_DELEGATION β bestie is asking for a delegation, very main character of her π and she brings two fields to the ask:
struct WANT_DELEGATION4args {
uint32_t want;
deleg_claim4 claim;
};
a uint32_t want and a deleg_claim4 claim. shoot your shot, queen π―
Methods defined here
__init__(self, unpack)β constructor π it initializes the object's private data according to the arguments given, and those arguments can be positional, named, or a combination of both.
class WANT_DELEGATION4res(baseobj.BaseObj)
and the reply, union switch, one more time for the people in the back π€
union switch WANT_DELEGATION4res (nfsstat4 status) {
case const.NFS4_OK:
open_delegation4 resok;
default:
void;
};
const.NFS4_OK β open_delegation4 resok (you got the delegation, go off π). default β void (you did not, and we simply won't dwell on it π).
Methods defined here
__init__(self, unpack)β the constructor π¦ initializes the object's private data according to the arguments given, and those arguments may be positional, named, or a combination of both.
class WRITE4args(baseobj.BaseObj)
and finally for this stretch, WRITE β the one everybody actually cares about π₯ writing data, the whole point of the operation, and here's the request slip:
struct WRITE4args {
/* CURRENT_FH: file */
stateid4 stateid;
offset4 offset;
stable_how4 stable;
opaque data<>;
};
CURRENT_FH is a file π then stateid, offset, stable (a stable_how4, which is very aptly named), and opaque data<> β the variable-length payload itself. four fields, and that last one is carrying the actual goods π
Methods defined here
__init__(self, unpack)β hold that thought, bestie, this one's coming right up in the next bit π
__init__(self, unpack) β constructor time, bestie π
Constructor
Okay so this constructor is literally doing the most: it initializes the object's private data based on whatever args you hand it. You can pass them positionally, use named args, or mix both β all valid, periodt. π
class WRITE4res(baseobj.BaseObj) π¦
union switch WRITE4res (nfsstat4 status) {
case const.NFS4_OK:
WRITE4resok resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)
Constructor
It sets up the object's private data from the args you give. Positional, named, or a combo β all work, no cap. β¨
class WRITE4resok(baseobj.BaseObj) π
struct WRITE4resok {
count4 count;
stable_how4 committed;
verifier4 verifier;
};
Methods defined here:
__init__(self, unpack)
Constructor
This constructor initializes the object's private data according to the arguments given. You can pass them positionally, by name, or mix both. π
class WRITE_SAME4args(baseobj.BaseObj) πΈ
struct WRITE_SAME4args {
/* CURRENT_FH: file */
stateid4 stateid;
stable_how4 stable;
app_data_block4 adb;
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data from whatever args you give. Positional, named, or a combo β both work, fr fr. π«Ά
class WRITE_SAME4res(baseobj.BaseObj) β¨
union switch WRITE_SAME4res (nfsstat4 status) {
case const.NFS4_OK:
write_response4 resok;
default:
void;
};
Methods defined here:
__init__(self, unpack)
Constructor
Constructor sets up the object's private data according to the arguments given. Positional, named, or both β all valid. π
class app_data_block4(baseobj.BaseObj) π§
struct app_data_block4 {
offset4 offset;
length4 block_size;
length4 block_count;
length4 reloff_blocknum;
count4 block_num;
length4 reloff_pattern;
opaque pattern<>;
};
Methods defined here:
__init__(self, unpack)
Constructor
This one initializes the object's private data based on the args you pass. You can give them positionally, as named args, or a mix of both. π
class attr_notice4(baseobj.BaseObj) π
attr_notice4 = class nfstime4(baseobj.BaseObj)
No methods, just an alias. It's giving "I'm literally nfstime4 but with a different name" energy. π§
class authsys_parms(baseobj.BaseObj) π₯
struct authsys_parms {
unsigned int stamp;
string machinename<255>;
unsigned int uid;
unsigned int gid;
unsigned int gids<16>;
};
Methods defined here:
__init__(self, unpack)
Constructor
It sets up the object's private data from the arguments given. Positional, named, or a combination β all good, no cap. π
class bitmap4_list(baseobj.BaseObj) π¦
struct bitmap4_list {
bitmap4 attrs;
};
Methods defined here:
__init__(self, unpack)
Constructor
Constructor: initializes the object's private data according to the arguments you give. Positional, named, or both β all valid. β¨
class callback_sec_parms4(baseobj.BaseObj) π
union switch callback_sec_parms4 (nfs_secflavor4 flavor) {
case const.AUTH_NONE:
void;
case const.AUTH_SYS:
authsys_parms sys_cred; /* RFC 5531 */
case const.RPCSEC_GSS:
gss_cb_handles4 gss_handles;
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data from the args you give. You can pass them positionally, by name, or mix both. π
class cb_client4(baseobj.BaseObj) πΈ
struct cb_client4 {
uint32_t cb_program;
netaddr4 cb_location;
};
Methods defined here:
__init__(self, unpack)
Constructor
This constructor sets up the object's private data according to the arguments given. Positional, named, or a combo β both work. π«Ά
class change_attr_type4(packet.utils.Enum) π
enum change_attr_type4
No methods here, just the enum doing its thing. π
class change_info4(baseobj.BaseObj) β¨
struct change_info4 {
bool atomic;
changeid4 before;
changeid4 after;
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data based on the args you pass. Positional, named, or both β all valid, fr fr. π
class change_policy4(baseobj.BaseObj) π§
struct change_policy4 {
uint64_t major;
uint64_t minor;
};
Methods defined here:
__init__(self, unpack)
Constructor
Constructor initializes the object's private data according to the arguments given. You can give them positionally, as named args, or a mix of both. π₯
class channel_attrs4(baseobj.BaseObj) π¦
struct channel_attrs4 {
count4 headerpadsize;
count4 maxrequestsize;
count4 maxresponsesize;
count4 maxresponsesize_cached;
count4 maxoperations;
count4 maxrequests;
uint32_t rdma_ird<1>;
};
Methods defined here:
__init__(self, unpack)
Constructor
It sets up the object's private data from whatever args you give. Positional, named, or a combo β both work, no cap. π
class channel_dir_from_client4(packet.utils.Enum) π
enum channel_dir_from_client4
No methods, just the enum. π
class channel_dir_from_server4(packet.utils.Enum) π
enum channel_dir_from_server4
No methods, just the enum. β¨
class client_owner4(baseobj.BaseObj) πΈ
struct client_owner4 {
verifier4 verifier;
opaque ownerid<NFS4_OPAQUE_LIMIT>;
};
Methods defined here:
__init__(self, unpack)
Constructor
This constructor initializes the object's private data according to the args given. Positional, named, or both β all valid. π
class clientaddr4(baseobj.BaseObj) π«Ά
struct clientaddr4 {
/* See struct rpcb in RFC 1833 */
string netid<>; /* network id */
string addr<>; /* universal address */
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data from the arguments you give. You can pass them positionally, by name, or mix both. π
class copy_confirm_auth_priv(baseobj.BaseObj) π₯
struct copy_confirm_auth_priv {
/* equal to GSS_GetMIC() of cfap_shared_secret */
opaque secret<>;
/* the NFSv4 user name that the user principal maps to */
utf8str_mixed username;
};
Methods defined here:
__init__(self, unpack)
Constructor
Constructor sets up the object's private data according to the arguments given. Positional, named, or a combo β both work. β¨
class copy_from_auth_priv(baseobj.BaseObj) π§
struct copy_from_auth_priv {
secret4 secret;
netloc4 destination;
/* the NFSv4 user name that the user principal maps to */
utf8str_mixed username;
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data based on the args you pass. Positional, named, or both β all valid. π
class copy_requirements4(baseobj.BaseObj) π
struct copy_requirements4 {
bool consecutive;
bool synchronous;
};
Methods defined here:
__init__(self, unpack)
Constructor
This constructor initializes the object's private data from whatever args you give. You can give them positionally, as named args, or a mix of both. π¦
class copy_to_auth_priv(baseobj.BaseObj) π
struct copy_to_auth_priv {
/* equal to cfap_shared_secret */
secret4 secret;
netloc4 source<>;
/* the NFSv4 user name that the user principal maps to */
utf8str_mixed username;
};
Methods defined here:
__init__(self, unpack)
Constructor
It sets up the object's private data according to the arguments given. Positional, named, or both β all good, no cap. πΈ
class createhow4(baseobj.BaseObj) β¨
union switch createhow4 (createmode4 mode) {
case const.UNCHECKED4:
case const.GUARDED4:
fattr4 attributes;
case const.EXCLUSIVE4:
verifier4 verifier;
case const.EXCLUSIVE4_1:
creatverfattr createboth;
};
Methods defined here:
__init__(self, unpack)
Constructor
Constructor initializes the object's private data according to the arguments given. You can pass them positionally, by name, or mix both. π
class createmode4(packet.utils.Enum) π
enum createmode4
No methods, just the enum. π
class createtype4(baseobj.BaseObj) π₯
union switch createtype4 (nfs_ftype4 type) {
case const.NF4LNK:
linktext4 linkdata;
case const.NF4BLK:
case const.NF4CHR:
specdata4 devdata;
case const.NF4SOCK:
case const.NF4FIFO:
case const.NF4DIR:
void;
default:
void; /* server should return NFS4ERR_BADTYPE */
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data from the args you give. Positional, named, or a combo β both work. β¨
class creatverfattr(baseobj.BaseObj) π§
struct creatverfattr {
verifier4 verifier;
fattr4 attrs;
};
Methods defined here:
__init__(self, unpack)
Constructor
This constructor sets up the object's private data based on the arguments given. Positional, named, or both β all valid. π
class data4(baseobj.BaseObj) π¦
struct data4 {
offset4 offset;
opaque data<>;
};
Methods defined here:
__init__(self, unpack)
Constructor
It initializes the object's private data from whatever args you give. You can give them positionally, as named args, or a mix of both. π
class data_content4(packet.utils.Enum) π
enum data_content4
No methods, just the enum. β¨
class data_info4(baseobj.BaseObj)
okay so this one is giving simple offset/length energy, bestie:
struct data_info4 {
offset4 offset;
length4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor. It sets up the object's private data from whatever args you hand over. Positional, named, or a mix of both? All valid. π
class deleg_claim4(baseobj.BaseObj)
this union switch is a whole mood. it switches on open_claim_type4 claim:
union switch deleg_claim4 (open_claim_type4 claim) {
/*
* No special rights to object. Ordinary delegation
* request of the specified object. Object identified
* by filehandle.
*/
case const.CLAIM_FH:
void;
/*
* Right to file based on a delegation granted
* to a previous boot instance of the client.
* File is specified by filehandle.
*/
case const.CLAIM_DELEG_PREV_FH:
/* CURRENT_FH: object being delegated */
void;
/*
* Right to the file established by an open previous
* to server reboot. File identified by filehandle.
* Used during server reclaim grace period.
*/
case const.CLAIM_PREVIOUS:
/* CURRENT_FH: object being reclaimed */
open_delegation_type4 deleg_type;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from the arguments you give it. Positional, named, or a combo? Yep, all good. β¨
class device_addr4(baseobj.BaseObj)
switching on layouttype4 type like it's nothing:
union switch device_addr4 (layouttype4 type) {
case const.LAYOUT4_NFSV4_1_FILES:
nfsv4_1_file_layout_ds_addr4 body;
case const.LAYOUT4_FLEX_FILES:
ff_device_addr4 body;
default:
/* All other types are not supported yet */
opaque body<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up private data from the args. Positional, named, or both. π«Ά
class device_error4(baseobj.BaseObj)
struct time, and it's giving error details:
struct device_error4 {
deviceid4 deviceid;
nfsstat4 status;
nfs_opnum4 opnum;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes the object's private data from whatever arguments you pass. Positional, named, or a mix. π
class dirlist4(baseobj.BaseObj)
directory listing vibes:
struct dirlist4 {
entry4 *entries;
bool eof;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up private data from the arguments given. Positional, named, or both. β¨
class entry4(baseobj.BaseObj)
one entry in the list, bestie:
struct entry4 {
nfs_cookie4 cookie;
component4 name;
fattr4 attrs;
entry4 *nextentry;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes private data from the args. Positional, named, or a combo. π
class exist_lock_owner4(baseobj.BaseObj)
lock owner already exists? here's the struct:
struct exist_lock_owner4 {
stateid4 stateid;
seqid4 seqid;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up private data from the arguments. Positional, named, or both. π
class fattr4_archive(packet.utils.Enum)
fattr4_archive = class nfs_bool(packet.utils.Enum)
no methods, just the alias. periodt. β¨
class fattr4_cansettime(packet.utils.Enum)
fattr4_cansettime = class nfs_bool(packet.utils.Enum)
just an alias, no methods. π
class fattr4_case_insensitive(packet.utils.Enum)
fattr4_case_insensitive = class nfs_bool(packet.utils.Enum)
no methods, just vibes. π¦
class fattr4_case_preserving(packet.utils.Enum)
fattr4_case_preserving = class nfs_bool(packet.utils.Enum)
alias only. π
class fattr4_change_attr_type(packet.utils.Enum)
fattr4_change_attr_type = class change_attr_type4(packet.utils.Enum)
no methods listed. πΈ
class fattr4_change_policy(baseobj.BaseObj)
fattr4_change_policy = class change_policy4(baseobj.BaseObj)
alias, no methods. π«Ά
class fattr4_chown_restricted(packet.utils.Enum)
fattr4_chown_restricted = class nfs_bool(packet.utils.Enum)
just the alias. β¨
class fattr4_dacl(baseobj.BaseObj)
fattr4_dacl = class nfsacl41(baseobj.BaseObj)
no methods. π
class fattr4_dir_notif_delay(baseobj.BaseObj)
fattr4_dir_notif_delay = class nfstime4(baseobj.BaseObj)
alias only. π
class fattr4_dirent_notif_delay(baseobj.BaseObj)
fattr4_dirent_notif_delay = class nfstime4(baseobj.BaseObj)
no methods. π
class fattr4_fs_locations(baseobj.BaseObj)
fattr4_fs_locations = class fs_locations4(baseobj.BaseObj)
just an alias. β¨
class fattr4_fs_locations_info(baseobj.BaseObj)
fattr4_fs_locations_info = class fs_locations_info4(baseobj.BaseObj)
no methods. π¦
class fattr4_fs_status(baseobj.BaseObj)
fattr4_fs_status = class fs4_status(baseobj.BaseObj)
alias only. π
class fattr4_fsid(baseobj.BaseObj)
fattr4_fsid = class fsid4(baseobj.BaseObj)
no methods. πΈ
class fattr4_hidden(packet.utils.Enum)
fattr4_hidden = class nfs_bool(packet.utils.Enum)
just the alias. π«Ά
class fattr4_homogeneous(packet.utils.Enum)
fattr4_homogeneous = class nfs_bool(packet.utils.Enum)
no methods. β¨
class fattr4_layout_hint(baseobj.BaseObj)
fattr4_layout_hint = class layouthint4(baseobj.BaseObj)
alias only. π
class fattr4_link_support(packet.utils.Enum)
fattr4_link_support = class nfs_bool(packet.utils.Enum)
no methods. π
class fattr4_mdsthreshold(baseobj.BaseObj)
fattr4_mdsthreshold = class mdsthreshold4(baseobj.BaseObj)
just an alias. π
class fattr4_mode_set_masked(baseobj.BaseObj)
fattr4_mode_set_masked = class mode_masked4(baseobj.BaseObj)
no methods. β¨
class fattr4_mode_umask(baseobj.BaseObj)
fattr4_mode_umask = class mode_umask4(baseobj.BaseObj)
alias only. π¦
class fattr4_named_attr(packet.utils.Enum)
fattr4_named_attr = class nfs_bool(packet.utils.Enum)
no methods. π
class fattr4_no_trunc(packet.utils.Enum)
fattr4_no_trunc = class nfs_bool(packet.utils.Enum)
just the alias. πΈ
class fattr4_rawdev(baseobj.BaseObj)
fattr4_rawdev = class specdata4(baseobj.BaseObj)
no methods. π«Ά
class fattr4_rdattr_error(packet.utils.Enum)
fattr4_rdattr_error = class nfsstat4(packet.utils.Enum)
alias only. β¨
class fattr4_retentevt_get(baseobj.BaseObj)
fattr4_retentevt_get = class retention_get4(baseobj.BaseObj)
no methods. π
class fattr4_retentevt_set(baseobj.BaseObj)
fattr4_retentevt_set = class retention_set4(baseobj.BaseObj)
just an alias. π
class fattr4_retention_get(baseobj.BaseObj)
fattr4_retention_get = class retention_get4(baseobj.BaseObj)
no methods. π
class fattr4_retention_set(baseobj.BaseObj)
fattr4_retention_set = class retention_set4(baseobj.BaseObj)
alias only. β¨
class fattr4_sacl(baseobj.BaseObj)
fattr4_sacl = class nfsacl41(baseobj.BaseObj)
no methods. π¦
class fattr4_sec_label(baseobj.BaseObj)
fattr4_sec_label = class sec_label4(baseobj.BaseObj)
just the alias. π
class fattr4_suppattr_exclcreat(baseobj.BaseObj)
fattr4_suppattr_exclcreat = class bitmap4_list(baseobj.BaseObj)
no methods. πΈ
class fattr4_supported_attrs(baseobj.BaseObj)
fattr4_supported_attrs = class bitmap4_list(baseobj.BaseObj)
alias only. π«Ά
class fattr4_symlink_support(packet.utils.Enum)
fattr4_symlink_support = class nfs_bool(packet.utils.Enum)
no methods. β¨
class fattr4_system(packet.utils.Enum)
fattr4_system = class nfs_bool(packet.utils.Enum)
just an alias. π
class fattr4_time_access(baseobj.BaseObj)
fattr4_time_access = class nfstime4(baseobj.BaseObj)
no methods. π
class fattr4_time_access_set(baseobj.BaseObj)
fattr4_time_access_set = class settime4(baseobj.BaseObj)
alias only. π
class fattr4_time_backup(baseobj.BaseObj)
fattr4_time_backup = class nfstime4(baseobj.BaseObj)
no methods. β¨
class fattr4_time_create(baseobj.BaseObj)
fattr4_time_create = class nfstime4(baseobj.BaseObj)
just the alias. π¦
class fattr4_time_delta(baseobj.BaseObj)
fattr4_time_delta = class nfstime4(baseobj.BaseObj)
no methods. π
class fattr4_time_metadata(baseobj.BaseObj)
fattr4_time_metadata = class nfstime4(baseobj.BaseObj)
alias only. πΈ
class fattr4_time_modify(baseobj.BaseObj)
fattr4_time_modify = class nfstime4(baseobj.BaseObj)
no methods. π«Ά
class fattr4_time_modify_set(baseobj.BaseObj)
fattr4_time_modify_set = class settime4(baseobj.BaseObj)
just an alias. β¨
class fattr4_type(packet.utils.Enum)
fattr4_type = class nfs_ftype4(packet.utils.Enum)
no methods. π
class fattr4_unique_handles(packet.utils.Enum)
fattr4_unique_handles = class nfs_bool(packet.utils.Enum)
alias only. π
class fattr4_xattr_support(packet.utils.Enum)
fattr4_xattr_support = class nfs_bool(packet.utils.Enum)
no methods. π
class ff_cb_recall_any_mask(packet.utils.Enum)
enum ff_cb_recall_any_mask
no methods, just the enum. periodt. β¨
class ff_data_server4(baseobj.BaseObj)
struct with all the data server details:
struct ff_data_server4 {
deviceid4 deviceid;
uint32_t efficiency;
stateid4 stateid;
nfs_fh4 fh_list<>;
fattr4_owner user;
fattr4_owner_group group;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes private data from the arguments given. Positional, named, or a mix. π
class ff_device_addr4(baseobj.BaseObj)
struct ff_device_addr4 {
uint32_t size; /* opaque size from device_addr4 */
multipath_list4 netaddrs;
ff_device_versions4 versions<>;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up private data from the args. Positional, named, or both. β¨
class ff_device_versions4(baseobj.BaseObj)
struct ff_device_versions4 {
uint32_t version;
uint32_t minorversion;
uint32_t rsize;
uint32_t wsize;
bool tightly_coupled;
};
Methods defined here:
__init__(self, unpack)β Constructor. Initializes private data from the arguments given. Positional, named, or a combo. π
class ff_io_latency4(baseobj.BaseObj)
struct ff_io_latency4 {
uint64_t ops_requested;
uint64_t bytes_requested;
uint64_t ops_completed;
uint64_t bytes_completed;
uint64_t bytes_not_delivered;
nfstime4 total_busy_time;
nfstime4 aggregate_completion_time;
};
Methods defined here:
__init__(self, unpack)β Constructor. Sets up private data from the args. Positional, named, or both. π
class ff_ioerr4(baseobj.BaseObj)
struct ff_ioerr4 {
offset4 offset;
length4 length;
stateid4 stateid;
device_error4 errors<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Okay so this constructor is literally just setting up the objectβs private data from whatever args you toss at it β positional, named, or a lil mix of both, bestie. π
πΈ class ff_iostats4(baseobj.BaseObj)
struct ff_iostats4 {
offset4 offset;
length4 length;
stateid4 stateid;
io_info4 read;
io_info4 write;
deviceid4 deviceid;
ff_layoutupdate4 layoutupdate;
};
Methods defined here:
__init__(self, unpack)β Constructor
Okay so this constructor initializes the object's private data according to the arguments given. You can pass them as positional, named arguments, or a combination of both. β¨
π¦ class ff_layout4(baseobj.BaseObj)
struct ff_layout4 {
uint32_t size; /* opaque size from layout_content4 */
length4 stripe_unit;
ff_mirror4 mirrors<>;
ff_flags4 flags;
uint32_t stats_hint;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class ff_layouthint4(baseobj.BaseObj)
struct ff_layouthint4 {
ff_mirrors_hint mirrors_hint;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. πΈ
π class ff_layoutreturn4(baseobj.BaseObj)
struct ff_layoutreturn4 {
uint32_t size; /* opaque size from layoutreturn_file4 */
ff_ioerr4 ioerr_report<>;
ff_iostats4 iostats_report<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π«Ά
β¨ class ff_layoutupdate4(baseobj.BaseObj)
struct ff_layoutupdate4 {
netaddr4 addr;
nfs_fh4 fh;
ff_io_latency4 read;
ff_io_latency4 write;
nfstime4 duration;
bool local;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π§ class ff_mirror4(baseobj.BaseObj)
struct ff_mirror4 {
ff_data_server4 data_servers<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. β
π class ff_mirrors_hint(baseobj.BaseObj)
union switch ff_mirrors_hint (bool valid) {
case const.TRUE:
uint32_t mirrors;
case const.FALSE:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class filelayout_hint_care4(packet.utils.Enum)
enum filelayout_hint_care4
π class fs4_status(baseobj.BaseObj)
struct fs4_status {
bool absent;
fs4_status_type type;
utf8str_cs source;
utf8str_cs current;
int32_t age;
nfstime4 version;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π«
πΈ class fs4_status_type(packet.utils.Enum)
enum fs4_status_type
π¦ class fs_location4(baseobj.BaseObj)
struct fs_location4 {
utf8str_cis server<>;
pathname4 root;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class fs_locations4(baseobj.BaseObj)
struct fs_locations4 {
pathname4 root;
fs_location4 locations<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π«Ά
β¨ class fs_locations_info4(baseobj.BaseObj)
struct fs_locations_info4 {
uint32_t flags;
int32_t valid_for;
pathname4 root;
fs_locations_item4 items<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π§ class fs_locations_item4(baseobj.BaseObj)
struct fs_locations_item4 {
fs_locations_server4 entries<>;
pathname4 root;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. β
π class fs_locations_server4(baseobj.BaseObj)
struct fs_locations_server4 {
int32_t currency;
opaque info<>;
utf8str_cis server;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class fsid4(baseobj.BaseObj)
struct fsid4 {
uint64_t major;
uint64_t minor;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class gddrnf4_status(packet.utils.Enum)
enum gddrnf4_status
πΈ class gss_cb_handles4(baseobj.BaseObj)
struct gss_cb_handles4 {
rpc_gss_svc_t service; /* RFC 2203 */
gsshandle4_t server_handle;
gsshandle4_t client_handle;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. πΈ
π¦ class io_info4(baseobj.BaseObj)
struct io_info4 {
uint64_t count;
uint64_t bytes;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class labelformat_spec4(baseobj.BaseObj)
struct labelformat_spec4 {
policy4 lfs;
policy4 pi;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π«Ά
β¨ class layout4(baseobj.BaseObj)
struct layout4 {
offset4 offset;
length4 length;
layoutiomode4 iomode;
layout_content4 content;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π§ class layout_content4(baseobj.BaseObj)
union switch layout_content4 (layouttype4 type) {
case const.LAYOUT4_NFSV4_1_FILES:
nfsv4_1_file_layout4 body;
case const.LAYOUT4_FLEX_FILES:
ff_layout4 body;
default:
/* All other types are not supported yet */
opaque body<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. β
π class layouthint4(baseobj.BaseObj)
union switch layouthint4 (layouttype4 type) {
case const.LAYOUT4_NFSV4_1_FILES:
nfsv4_1_file_layouthint4 body;
case const.LAYOUT4_FLEX_FILES:
ff_layouthint4 body;
default:
/* All other types are not supported yet */
opaque body<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
π class layoutiomode4(packet.utils.Enum)
enum layoutiomode4
π class layoutrecall4(baseobj.BaseObj)
union switch layoutrecall4 (layoutrecall_type4 recalltype) {
case const.LAYOUTRECALL4_FILE:
layoutrecall_file4 layout;
case const.LAYOUTRECALL4_FSID:
fsid4 fsid;
case const.LAYOUTRECALL4_ALL:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. π
πΈ class layoutrecall_file4(baseobj.BaseObj)
struct layoutrecall_file4 {
nfs_fh4 fh;
offset4 offset;
length4 length;
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor
Init time: sets up the object's private data from the args β positional, named, or both. πΈ
π¦ class layoutrecall_type4(packet.utils.Enum)
enum layoutrecall_type4
π class layoutreturn4(baseobj.BaseObj)
union switch layoutreturn4 (layoutreturn_type4 returntype) {
case const.LAYOUTRETURN4_FILE:
layoutreturn_file4 layout;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
okay so finishing that thought from the last class β its __init__ is literally just there to initialize the object's private data according to the arguments you give it. You can pass those arguments positionally, as named arguments, or a mix of both. periodt. π
π class layoutreturn_file4(baseobj.BaseObj) π
struct layoutreturn_file4 {
offset4 offset;
length4 length;
stateid4 stateid;
/* layouttype4 specific data */
layoutreturn_file_body4 data;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β¨ class layoutreturn_file_body4(baseobj.BaseObj) β¨
union switch layoutreturn_file_body4 (layouttype4 nfs4_layouttype) {
case const.LAYOUT4_FLEX_FILES:
ff_layoutreturn4 body;
default:
/* All other types are not supported yet or not used */
opaque body<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
π¦ class layoutreturn_stateid(baseobj.BaseObj) π¦
union switch layoutreturn_stateid (bool present) {
case const.TRUE:
stateid4 stateid;
case const.FALSE:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
πΈ class layoutreturn_type4(packet.utils.Enum) πΈ
enum layoutreturn_type4
it's giving enum energy, bestie. no methods here, just vibes. β¨
π class layouttype4(packet.utils.Enum) π
enum layouttype4
another enum, another slay. π
π₯ class layoutupdate4(baseobj.BaseObj) π₯
struct layoutupdate4 {
layouttype4 type;
opaque body<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β class limit_by4(packet.utils.Enum) β
enum limit_by4
enum check: passed. iconic. π
π class lock_owner4(baseobj.BaseObj) π
lock_owner4 = class state_owner4(baseobj.BaseObj)
it's an alias, periodt. no methods.
π class locker4(baseobj.BaseObj) π
union switch locker4 (bool new_lock_owner) {
case const.TRUE:
open_to_lock_owner4 open_owner;
case const.FALSE:
exist_lock_owner4 lock_owner;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
πΏ class mdsthreshold4(baseobj.BaseObj) πΏ
struct mdsthreshold4 {
threshold_item4 hints<>;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
π class mode_masked4(baseobj.BaseObj) π
struct mode_masked4 {
mode4 values; /* Values of bits to set or reset in mode. */
mode4 mask; /* Mask of bits to set or reset in mode. */
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
π
class mode_umask4(baseobj.BaseObj) π
struct mode_umask4 {
mode4 mode;
mode4 umask;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
π¦ class netaddr4(baseobj.BaseObj) π¦
netaddr4 = class clientaddr4(baseobj.BaseObj)
alias vibes only. no methods. β¨
π class netloc4(baseobj.BaseObj) π
union switch netloc4 (netloc_type4 type) {
case const.NL4_NAME:
utf8str_cis name;
case const.NL4_URL:
utf8str_cis url;
case const.NL4_NETADDR:
netaddr4 addr;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β¨ class netloc_type4(packet.utils.Enum) β¨
enum netloc_type4
enum, slay. no methods. π
π₯ class newoffset4(baseobj.BaseObj) π₯
union switch newoffset4 (bool newoffset) {
case const.TRUE:
offset4 offset;
case const.FALSE:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β class newsize4(baseobj.BaseObj) β
union switch newsize4 (bool sizechanged) {
case const.TRUE:
length4 size;
case const.FALSE:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β° class newtime4(baseobj.BaseObj) β°
union switch newtime4 (bool timechanged) {
case const.TRUE:
nfstime4 time;
case const.FALSE:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β¨ class nfs_argop4 (baseobj.BaseObj) β¨
okay bestie this one is the BIG one, the main character of argop land π
it's a union switch on nfs_opnum4 argop and it's lowkey huge, so buckle up π
union switch nfs_argop4 (nfs_opnum4 argop) {
case const.OP_ACCESS:
ACCESS4args opaccess;
case const.OP_CLOSE:
CLOSE4args opclose;
case const.OP_COMMIT:
COMMIT4args opcommit;
case const.OP_CREATE:
CREATE4args opcreate;
case const.OP_DELEGPURGE:
DELEGPURGE4args opdelegpurge;
case const.OP_DELEGRETURN:
DELEGRETURN4args opdelegreturn;
case const.OP_GETATTR:
GETATTR4args opgetattr;
case const.OP_GETFH:
void;
case const.OP_LINK:
LINK4args oplink;
case const.OP_LOCK:
LOCK4args oplock;
case const.OP_LOCKT:
LOCKT4args oplockt;
case const.OP_LOCKU:
LOCKU4args oplocku;
case const.OP_LOOKUP:
LOOKUP4args oplookup;
case const.OP_LOOKUPP:
void;
case const.OP_NVERIFY:
NVERIFY4args opnverify;
case const.OP_OPEN:
OPEN4args opopen;
case const.OP_OPENATTR:
OPENATTR4args opopenattr;
case const.OP_OPEN_CONFIRM:
/* Not used in NFSv4.1 */
OPEN_CONFIRM4args opopen_confirm;
case const.OP_OPEN_DOWNGRADE:
OPEN_DOWNGRADE4args opopen_downgrade;
case const.OP_PUTFH:
PUTFH4args opputfh;
case const.OP_PUTPUBFH:
void;
case const.OP_PUTROOTFH:
void;
case const.OP_READ:
READ4args opread;
case const.OP_READDIR:
READDIR4args opreaddir;
case const.OP_READLINK:
void;
case const.OP_REMOVE:
REMOVE4args opremove;
case const.OP_RENAME:
RENAME4args oprename;
case const.OP_RENEW:
/* Not used in NFSv4.1 */
RENEW4args oprenew;
case const.OP_RESTOREFH:
void;
case const.OP_SAVEFH:
void;
case const.OP_SECINFO:
SECINFO4args opsecinfo;
case const.OP_SETATTR:
SETATTR4args opsetattr;
case const.OP_SETCLIENTID:
/* Not used in NFSv4.1 */
SETCLIENTID4args opsetclientid;
case const.OP_SETCLIENTID_CONFIRM:
/* Not used in NFSv4.1 */
SETCLIENTID_CONFIRM4args opsetclientid_confirm;
case const.OP_VERIFY:
VERIFY4args opverify;
case const.OP_WRITE:
WRITE4args opwrite;
case const.OP_RELEASE_LOCKOWNER:
/* Not used in NFSv4.1 */
RELEASE_LOCKOWNER4args oprelease_lockowner;
/*
* New to NFSv4.1
*/
case const.OP_BACKCHANNEL_CTL:
BACKCHANNEL_CTL4args opbackchannel_ctl;
case const.OP_BIND_CONN_TO_SESSION:
BIND_CONN_TO_SESSION4args opbind_conn_to_session;
case const.OP_EXCHANGE_ID:
EXCHANGE_ID4args opexchange_id;
case const.OP_CREATE_SESSION:
CREATE_SESSION4args opcreate_session;
case const.OP_DESTROY_SESSION:
DESTROY_SESSION4args opdestroy_session;
case const.OP_FREE_STATEID:
FREE_STATEID4args opfree_stateid;
case const.OP_GET_DIR_DELEGATION:
GET_DIR_DELEGATION4args opget_dir_delegation;
case const.OP_GETDEVICEINFO:
GETDEVICEINFO4args opgetdeviceinfo;
case const.OP_GETDEVICELIST:
/* Not used in NFSv4.2 */
GETDEVICELIST4args opgetdevicelist;
case const.OP_LAYOUTCOMMIT:
LAYOUTCOMMIT4args oplayoutcommit;
case const.OP_LAYOUTGET:
LAYOUTGET4args oplayoutget;
case const.OP_LAYOUTRETURN:
LAYOUTRETURN4args oplayoutreturn;
case const.OP_SECINFO_NO_NAME:
SECINFO_NO_NAME4args opsecinfo_no_name;
case const.OP_SEQUENCE:
SEQUENCE4args opsequence;
case const.OP_SET_SSV:
SET_SSV4args opset_ssv;
case const.OP_TEST_STATEID:
TEST_STATEID4args optest_stateid;
case const.OP_WANT_DELEGATION:
WANT_DELEGATION4args opwant_delegation;
case const.OP_DESTROY_CLIENTID:
DESTROY_CLIENTID4args opdestroy_clientid;
case const.OP_RECLAIM_COMPLETE:
RECLAIM_COMPLETE4args opreclaim_complete;
/*
* New to NFSv4.2
*/
case const.OP_ALLOCATE:
ALLOCATE4args opallocate;
case const.OP_COPY:
COPY4args opcopy;
case const.OP_COPY_NOTIFY:
COPY_NOTIFY4args opcopy_notify;
case const.OP_DEALLOCATE:
DEALLOCATE4args opdeallocate;
case const.OP_IO_ADVISE:
IO_ADVISE4args opio_advise;
case const.OP_LAYOUTERROR:
LAYOUTERROR4args oplayouterror;
case const.OP_LAYOUTSTATS:
LAYOUTSTATS4args oplayoutstats;
case const.OP_OFFLOAD_CANCEL:
OFFLOAD_CANCEL4args opoffload_cancel;
case const.OP_OFFLOAD_STATUS:
OFFLOAD_STATUS4args opoffload_status;
case const.OP_READ_PLUS:
READ_PLUS4args opread_plus;
case const.OP_SEEK:
SEEK4args opseek;
case const.OP_WRITE_SAME:
WRITE_SAME4args opwrite_same;
case const.OP_CLONE:
CLONE4args opclone;
/*
* RFC 8276
*/
case const.OP_GETXATTR:
GETXATTR4args opgetxattr;
case const.OP_SETXATTR:
SETXATTR4args opsetxattr;
case const.OP_LISTXATTRS:
LISTXATTRS4args oplistxattrs;
case const.OP_REMOVEXATTR:
REMOVEXATTR4args opremovexattr;
case const.OP_ILLEGAL:
/* Illegal operation */
void;
};
fr fr every single op is in there, and yeah a bunch of them are marked /* Not used in NFSv4.1 / or / Not used in NFSv4.2 */ β that's not me being shady, that's literally the source π respect the version boundaries bestie.
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_bool (packet.utils.Enum) β¨
enum nfs_bool
that's it, that's the whole vibe. a little enum, cute, iconic π
β¨ class nfs_cb_argop4 (baseobj.BaseObj) β¨
the callback twin of the op union β same energy, nfs_cb_opnum4 flavored β¨
union switch nfs_cb_argop4 (nfs_cb_opnum4 argop) {
case const.OP_CB_GETATTR:
CB_GETATTR4args opcbgetattr;
case const.OP_CB_RECALL:
CB_RECALL4args opcbrecall;
/*
* New to NFSv4.1
*/
case const.OP_CB_LAYOUTRECALL:
CB_LAYOUTRECALL4args opcblayoutrecall;
case const.OP_CB_NOTIFY:
CB_NOTIFY4args opcbnotify;
case const.OP_CB_PUSH_DELEG:
CB_PUSH_DELEG4args opcbpush_deleg;
case const.OP_CB_RECALL_ANY:
CB_RECALL_ANY4args opcbrecall_any;
case const.OP_CB_RECALLABLE_OBJ_AVAIL:
CB_RECALLABLE_OBJ_AVAIL4args opcbrecallable_obj_avail;
case const.OP_CB_RECALL_SLOT:
CB_RECALL_SLOT4args opcbrecall_slot;
case const.OP_CB_SEQUENCE:
CB_SEQUENCE4args opcbsequence;
case const.OP_CB_WANTS_CANCELLED:
CB_WANTS_CANCELLED4args opcbwants_cancelled;
case const.OP_CB_NOTIFY_LOCK:
CB_NOTIFY_LOCK4args opcbnotify_lock;
case const.OP_CB_NOTIFY_DEVICEID:
CB_NOTIFY_DEVICEID4args opcbnotify_deviceid;
/*
* New to NFSv4.2
*/
case const.OP_CB_OFFLOAD:
CB_OFFLOAD4args opcboffload;
case const.OP_CB_ILLEGAL:
/* Illegal callback operation */
void;
};
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_cb_opnum4 (packet.utils.Enum) β¨
enum nfs_cb_opnum4
callback op numbers, the enum-est of enums, no cap πΈ
β¨ class nfs_cb_resop4 (baseobj.BaseObj) β¨
the callback result union, switchin' on nfs_cb_opnum4 resop β the third member of the callback trio, and it ate π
union switch nfs_cb_resop4 (nfs_cb_opnum4 resop) {
case const.OP_CB_GETATTR:
CB_GETATTR4res opcbgetattr;
case const.OP_CB_RECALL:
CB_RECALL4res opcbrecall;
/*
* New to NFSv4.1
*/
case const.OP_CB_LAYOUTRECALL:
CB_LAYOUTRECALL4res opcblayoutrecall;
case const.OP_CB_NOTIFY:
CB_NOTIFY4res opcbnotify;
case const.OP_CB_PUSH_DELEG:
CB_PUSH_DELEG4res opcbpush_deleg;
case const.OP_CB_RECALL_ANY:
CB_RECALL_ANY4res opcbrecall_any;
case const.OP_CB_RECALLABLE_OBJ_AVAIL:
CB_RECALLABLE_OBJ_AVAIL4res opcbrecallable_obj_avail;
case const.OP_CB_RECALL_SLOT:
CB_RECALL_SLOT4res opcbrecall_slot;
case const.OP_CB_SEQUENCE:
CB_SEQUENCE4res opcbsequence;
case const.OP_CB_WANTS_CANCELLED:
CB_WANTS_CANCELLED4res opcbwants_cancelled;
case const.OP_CB_NOTIFY_LOCK:
CB_NOTIFY_LOCK4res opcbnotify_lock;
case const.OP_CB_NOTIFY_DEVICEID:
CB_NOTIFY_DEVICEID4res opcbnotify_deviceid;
/*
* New to NFSv4.2
*/
case const.OP_CB_OFFLOAD:
CB_OFFLOAD4res opcboffload;
case const.OP_CB_ILLEGAL:
/* Illegal callback operation */
CB_ILLEGAL4res opcbillegal;
};
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_client_id4 (baseobj.BaseObj) β¨
a lil struct to say who you are, bestie πͺͺ
struct nfs_client_id4 {
verifier4 verifier;
opaque id<NFS4_OPAQUE_LIMIT>;
};
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_fattr4 (packet.utils.Enum) β¨
enum nfs_fattr4
file attributes enum, the one that's giving "what even are you" but for files πΈ
β¨ class nfs_ftype4 (packet.utils.Enum) β¨
enum nfs_ftype4
file type enum! regular? dir? symlink? the possibilities β¨
β¨ class nfs_impl_id4 (baseobj.BaseObj) β¨
implementation ID vibes β who you are, what you're called, and when π
struct nfs_impl_id4 {
utf8str_cis domain;
utf8str_cs name;
nfstime4 date;
};
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_lock_type4 (packet.utils.Enum) β¨
enum nfs_lock_type4
lock types!! read locks, write locks, the whole "no you can't touch it rn" situation π
β¨ class nfs_modified_limit4 (baseobj.BaseObj) β¨
for when the file is so big it needs a whole "modified limit" situation π
struct nfs_modified_limit4 {
uint32_t num_blocks;
uint32_t bytes_per_block;
};
Methods defined here: π
__init__(self, unpack)β Constructor
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. π«Ά
β¨ class nfs_opnum4 (packet.utils.Enum) β¨
enum nfs_opnum4
the original op-number enum, the blueprint, the blueprint-est π and that's where this part wraps the classes we've got β more coming bestie, don't go anywhere π¦
π« class nfs_resop4(baseobj.BaseObj)
okay so THIS one, bestie. this is the moment. it's a union switch on nfs_opnum4 resop and every single operation has its own lil case in here, like a whole wardrobe where each outfit is an op. no notes, it ate:
union switch nfs_resop4 (nfs_opnum4 resop) {
case const.OP_ACCESS:
ACCESS4res opaccess;
case const.OP_CLOSE:
CLOSE4res opclose;
case const.OP_COMMIT:
COMMIT4res opcommit;
case const.OP_CREATE:
CREATE4res opcreate;
case const.OP_DELEGPURGE:
DELEGPURGE4res opdelegpurge;
case const.OP_DELEGRETURN:
DELEGRETURN4res opdelegreturn;
case const.OP_GETATTR:
GETATTR4res opgetattr;
case const.OP_GETFH:
GETFH4res opgetfh;
case const.OP_LINK:
LINK4res oplink;
case const.OP_LOCK:
LOCK4res oplock;
case const.OP_LOCKT:
LOCKT4res oplockt;
case const.OP_LOCKU:
LOCKU4res oplocku;
case const.OP_LOOKUP:
LOOKUP4res oplookup;
case const.OP_LOOKUPP:
LOOKUPP4res oplookupp;
case const.OP_NVERIFY:
NVERIFY4res opnverify;
case const.OP_OPEN:
OPEN4res opopen;
case const.OP_OPENATTR:
OPENATTR4res opopenattr;
case const.OP_OPEN_CONFIRM:
/* Not used in NFSv4.1 */
OPEN_CONFIRM4res opopen_confirm;
case const.OP_OPEN_DOWNGRADE:
OPEN_DOWNGRADE4res opopen_downgrade;
case const.OP_PUTFH:
PUTFH4res opputfh;
case const.OP_PUTPUBFH:
PUTPUBFH4res opputpubfh;
case const.OP_PUTROOTFH:
PUTROOTFH4res opputrootfh;
case const.OP_READ:
READ4res opread;
case const.OP_READDIR:
READDIR4res opreaddir;
case const.OP_READLINK:
READLINK4res opreadlink;
case const.OP_REMOVE:
REMOVE4res opremove;
case const.OP_RENAME:
RENAME4res oprename;
case const.OP_RENEW:
/* Not used in NFSv4.1 */
RENEW4res oprenew;
case const.OP_RESTOREFH:
RESTOREFH4res oprestorefh;
case const.OP_SAVEFH:
SAVEFH4res opsavefh;
case const.OP_SECINFO:
SECINFO4res opsecinfo;
case const.OP_SETATTR:
SETATTR4res opsetattr;
case const.OP_SETCLIENTID:
/* Not used in NFSv4.1 */
SETCLIENTID4res opsetclientid;
case const.OP_SETCLIENTID_CONFIRM:
/* Not used in NFSv4.1 */
SETCLIENTID_CONFIRM4res opsetclientid_confirm;
case const.OP_VERIFY:
VERIFY4res opverify;
case const.OP_WRITE:
WRITE4res opwrite;
case const.OP_RELEASE_LOCKOWNER:
/* Not used in NFSv4.1 */
RELEASE_LOCKOWNER4res oprelease_lockowner;
/*
* New to NFSv4.1
*/
case const.OP_BACKCHANNEL_CTL:
BACKCHANNEL_CTL4res opbackchannel_ctl;
case const.OP_BIND_CONN_TO_SESSION:
BIND_CONN_TO_SESSION4res opbind_conn_to_session;
case const.OP_EXCHANGE_ID:
EXCHANGE_ID4res opexchange_id;
case const.OP_CREATE_SESSION:
CREATE_SESSION4res opcreate_session;
case const.OP_DESTROY_SESSION:
DESTROY_SESSION4res opdestroy_session;
case const.OP_FREE_STATEID:
FREE_STATEID4res opfree_stateid;
case const.OP_GET_DIR_DELEGATION:
GET_DIR_DELEGATION4res opget_dir_delegation;
case const.OP_GETDEVICEINFO:
GETDEVICEINFO4res opgetdeviceinfo;
case const.OP_GETDEVICELIST:
/* Not used in NFSv4.2 */
GETDEVICELIST4res opgetdevicelist;
case const.OP_LAYOUTCOMMIT:
LAYOUTCOMMIT4res oplayoutcommit;
case const.OP_LAYOUTGET:
LAYOUTGET4res oplayoutget;
case const.OP_LAYOUTRETURN:
LAYOUTRETURN4res oplayoutreturn;
case const.OP_SECINFO_NO_NAME:
SECINFO_NO_NAME4res opsecinfo_no_name;
case const.OP_SEQUENCE:
SEQUENCE4res opsequence;
case const.OP_SET_SSV:
SET_SSV4res opset_ssv;
case const.OP_TEST_STATEID:
TEST_STATEID4res optest_stateid;
case const.OP_WANT_DELEGATION:
WANT_DELEGATION4res opwant_delegation;
case const.OP_DESTROY_CLIENTID:
DESTROY_CLIENTID4res opdestroy_clientid;
case const.OP_RECLAIM_COMPLETE:
RECLAIM_COMPLETE4res opreclaim_complete;
/*
* New to NFSv4.2
*/
case const.OP_ALLOCATE:
ALLOCATE4res opallocate;
case const.OP_COPY:
COPY4res opcopy;
case const.OP_COPY_NOTIFY:
COPY_NOTIFY4res opcopy_notify;
case const.OP_DEALLOCATE:
DEALLOCATE4res opdeallocate;
case const.OP_IO_ADVISE:
IO_ADVISE4res opio_advise;
case const.OP_LAYOUTERROR:
LAYOUTERROR4res oplayouterror;
case const.OP_LAYOUTSTATS:
LAYOUTSTATS4res oplayoutstats;
case const.OP_OFFLOAD_CANCEL:
OFFLOAD_CANCEL4res opoffload_cancel;
case const.OP_OFFLOAD_STATUS:
OFFLOAD_STATUS4res opoffload_status;
case const.OP_READ_PLUS:
READ_PLUS4res opread_plus;
case const.OP_SEEK:
SEEK4res opseek;
case const.OP_WRITE_SAME:
WRITE_SAME4res opwrite_same;
case const.OP_CLONE:
CLONE4res opclone;
/*
* RFC 8276
*/
case const.OP_GETXATTR:
GETXATTR4res opgetxattr;
case const.OP_SETXATTR:
SETXATTR4res opsetxattr;
case const.OP_LISTXATTRS:
LISTXATTRS4res oplistxattrs;
case const.OP_REMOVEXATTR:
REMOVEXATTR4res opremovexattr;
case const.OP_ILLEGAL:
/* Illegal operation */
ILLEGAL4res opillegal;
};
the way this is literally three eras of NFS stacked on top of each other π the og block, then a whole New to NFSv4.1 chunk, then New to NFSv4.2, then the RFC 8276 xattr girlies at the end, and finally OP_ILLEGAL sitting there with the comment Illegal operation like a lil caution sign. iconic. also bestie pls clock the ones tagged Not used in NFSv4.1 β OP_OPEN_CONFIRM, OP_RENEW, OP_SETCLIENTID, OP_SETCLIENTID_CONFIRM, OP_RELEASE_LOCKOWNER β and OP_GETDEVICELIST tagged Not used in NFSv4.2. vintage, retired, but still in the union. slay.
Methods defined here:
__init__(self, unpack)β Constructor. it sets up the object's private data based on whatever args you hand it, and you can pass them positionally, as named args, or honestly a mix of both. do your thing π
π¦ class nfs_secflavor4(packet.utils.Enum)
bestie it's just an enum: enum nfs_secflavor4. that's the whole thing. no methods listed, just vibes. β¨
π class nfs_space_limit4(baseobj.BaseObj)
a union switch that picks how you wanna measure your limit, keyed off limit_by4 limitby:
union switch nfs_space_limit4 (limit_by4 limitby) {
/* limit specified as file size */
case const.NFS_LIMIT_SIZE:
uint64_t filesize;
/* limit specified by number of blocks */
case const.NFS_LIMIT_BLOCKS:
nfs_modified_limit4 mod_blocks;
};
so it's either a filesize (the comment says limit specified as file size) or mod_blocks (comment: limit specified by number of blocks). two paths, one union, no cap. π«Ά
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data per the args given; positional, named, or both β dealer's choice.
πΈ class nfsace4(baseobj.BaseObj)
an access control entry, and it's giving very clean:
struct nfsace4 {
acetype4 type;
aceflag4 flag;
acemask4 mask;
utf8str_mixed who;
};
Methods defined here:
__init__(self, unpack)β Constructor. sets up the object's private data from the args given, and yeah, positional / named / a mix all work. periodt.
π class nfsacl41(baseobj.BaseObj)
the ACL itself, and look how tidy:
struct nfsacl41 {
aclflag4 flag;
nfsace4 aces<>;
};
that aces<> is a list of nfsace4, bestie β one flag, many entries, that's the whole structure. π
Methods defined here:
__init__(self, unpack)β Constructor. initializes private data based on the arguments given; positional, named, or both, whatever feels right.
β class nfsstat4(packet.utils.Enum)
another enum, another moment: enum nfsstat4. no methods listed. short and sweet, we love a minimal queen. π
π§ class nfstime4(baseobj.BaseObj)
time, but make it NFS:
struct nfstime4 {
int64_t seconds;
uint32_t nseconds;
};
seconds and nseconds, together forever. π°οΈ
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data according to the args given, positional or named or both.
π class nfsv4_1_file_layout4(baseobj.BaseObj)
paging layout bestie, here's the whole struct:
struct nfsv4_1_file_layout4 {
uint32_t size; /* opaque size from layout_content4 */
deviceid4 deviceid;
nfl_util4 nfl_util;
uint32_t first_stripe_index;
offset4 pattern_offset;
nfs_fh4 fh_list<>;
};
clock the comment on size β opaque size from layout_content4. and fh_list<> is a list of nfs_fh4, so it's stripes for days. π₯
Methods defined here:
__init__(self, unpack)β Constructor. sets up private data from the args given; positional, named, or a combo.
π class nfsv4_1_file_layout_ds_addr4(baseobj.BaseObj)
the data-server address version, and it goes like:
struct nfsv4_1_file_layout_ds_addr4 {
uint32_t size; /* opaque size from device_addr4 */
uint32_t stripe_indices<>;
multipath_list4 multipath_ds_list<>;
};
size has the comment opaque size from device_addr4, and then you've got a list of stripe_indices and a list of multipath_ds_list. plural energy, we stan. β¨
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data per the arguments given; positional, named, or both.
π«Ά class nfsv4_1_file_layouthint4(baseobj.BaseObj)
the hint, the nudge, the suggestion:
struct nfsv4_1_file_layouthint4 {
uint32_t size; /* opaque size from layouthint4 */
uint32_t care;
nfl_util4 nfl_util;
count4 stripe_count;
};
size is commented opaque size from layouthint4 (matching the pattern, love that for us), and care is genuinely named care which is such a mood honestly. π
Methods defined here:
__init__(self, unpack)β Constructor. initializes private data according to the args given; positional, named, or a mix of both.
π class nfsv4_1_file_th_items4(packet.utils.Enum)
enum moment: enum nfsv4_1_file_th_items4. that's it, that's the class. π
π class notify4(baseobj.BaseObj)
here's the struct:
struct notify4 {
/* composed from notify_type4 or notify_deviceid_type4 */
bitmap4 mask;
notifylist4 values;
};
that comment up top β composed from notify_type4 or notify_deviceid_type4 β is doing the explaining for us, so jot that down. a mask and some values, boom. π«
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data based on the args given; positional, named, or both, no stress.
π₯ class notify_add4(baseobj.BaseObj)
this one's got comments inside it and honestly they're carrying the lore:
struct notify_add4 {
/*
* Information on object
* possibly renamed over.
*/
notify_remove4 old_entry<1>;
notify_entry4 new_entry;
/* what READDIR would have returned for this entry */
nfs_cookie4 new_cookie<1>;
prev_entry4 prev_entry<1>;
bool last_entry;
};
so: old_entry<1> is the Information on object possibly renamed over, new_entry is the new one, new_cookie<1> is what READDIR would have returned for this entry, plus prev_entry<1> and a bool last_entry to close it out. the <1> situation is giving optional-but-noted, bestie. π¦
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data according to the args given; positional, named, or a combo of both.
π class notify_attr4(baseobj.BaseObj)
tiny one, no drama:
struct notify_attr4 {
notify_entry4 entry;
};
Methods defined here:
__init__(self, unpack)β Constructor. initializes the object's private data according to the arguments given.
Constructor β it sets up the object's private data from the arguments you hand it. You can pass them positionally, as named arguments, or a lil mix of both. Whatever vibes you're feeling π
π¦ class notify_deviceid_change4(baseobj.BaseObj)
struct notify_deviceid_change4 {
layouttype4 type;
deviceid4 deviceid;
bool immediate;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data based on the arguments you give it. Positional args, named args, or a combo of both β all valid, bestie π«Ά
π¦ class notify_deviceid_delete4(baseobj.BaseObj)
struct notify_deviceid_delete4 {
layouttype4 type;
deviceid4 deviceid;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data based on the arguments you give it. Positional, named, or both at once β it's giving flexible π
π class notify_deviceid_type4(packet.utils.Enum)
enum notify_deviceid_type4
That's it. That's the whole class. It's an enum. Short and iconic, no notes π
π¦ class notify_entry4(baseobj.BaseObj)
struct notify_entry4 {
component4 name;
fattr4 attrs;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data from the arguments given. Positional, named, or a mix β literally your choice π
π¦ class notify_remove4(baseobj.BaseObj)
struct notify_remove4 {
notify_entry4 entry;
nfs_cookie4 cookie;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional args, named args, or both β slay πΈ
π¦ class notify_rename4(baseobj.BaseObj)
struct notify_rename4 {
notify_remove4 old_entry;
notify_add4 new_entry;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π¦
π class notify_type4(packet.utils.Enum)
enum notify_type4
Another enum, another slay.</purl> Just vibes, no methods β¨
π¦ class notify_verifier4(baseobj.BaseObj)
struct notify_verifier4 {
verifier4 old_verifier;
verifier4 new_verifier;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π
π¦ class offload_info4(baseobj.BaseObj)
union switch offload_info4 (nfsstat4 status) {
case const.NFS4_OK:
write_response4 resok;
default:
length4 count;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional args, named args, or a mix of both β no cap π«Ά
π class open_claim4(baseobj.BaseObj)
Okay bestie, this one is a whole mood β look at all these cases π
union switch open_claim4 (open_claim_type4 claim) {
/*
* No special rights to file.
* Ordinary OPEN of the specified file.
*/
case const.CLAIM_NULL:
/* CURRENT_FH: directory */
component4 name;
/*
* Right to the file established by an
* open previous to server reboot. File
* identified by filehandle obtained at
* that time rather than by name.
*/
case const.CLAIM_PREVIOUS:
/* CURRENT_FH: file being reclaimed */
open_delegation_type4 deleg_type;
/*
* Right to file based on a delegation
* granted by the server. File is
* specified by name.
*/
case const.CLAIM_DELEGATE_CUR:
/* CURRENT_FH: directory */
open_claim_delegate_cur4 deleg_info;
/*
* Right to file based on a delegation
* granted to a previous boot instance
* of the client. File is specified by name.
*/
case const.CLAIM_DELEGATE_PREV:
/* CURRENT_FH: directory */
component4 name;
/*
* Like CLAIM_NULL. No special rights
* to file. Ordinary OPEN of the
* specified file by current filehandle.
*/
case const.CLAIM_FH: /* New to NFSv4.1 */
/* CURRENT_FH: regular file to open */
void;
/*
* Like CLAIM_DELEGATE_PREV. Right to file based on a
* delegation granted to a previous boot
* instance of the client. File is identified by
* by filehandle.
*/
case const.CLAIM_DELEG_PREV_FH: /* New to NFSv4.1 */
/* CURRENT_FH: file being opened */
void;
/*
* Like CLAIM_DELEGATE_CUR. Right to file based on
* a delegation granted by the server.
* File is identified by filehandle.
*/
case const.CLAIM_DELEG_CUR_FH: /* New to NFSv4.1 */
/* CURRENT_FH: file being opened */
stateid4 stateid;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both. Yes, even with all those cases. She's versatile π
π¦ class open_claim_delegate_cur4(baseobj.BaseObj)
struct open_claim_delegate_cur4 {
stateid4 stateid;
component4 name;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π
π class open_claim_type4(packet.utils.Enum)
enum open_claim_type4
Enum era. Nothing more to say, periodt β
π¦ class open_delegation4(baseobj.BaseObj)
union switch open_delegation4 (open_delegation_type4 deleg_type) {
case const.OPEN_DELEGATE_NONE:
void;
case const.OPEN_DELEGATE_READ:
open_read_delegation4 read;
case const.OPEN_DELEGATE_WRITE:
open_write_delegation4 write;
case const.OPEN_DELEGATE_NONE_EXT: /* New to NFSv4.1 */
open_none_delegation4 whynone;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a mix of the two π«Ά
π class open_delegation_type4(packet.utils.Enum)
enum open_delegation_type4
Another enum bestie, we love consistency πΈ
π¦ class open_none_delegation4(baseobj.BaseObj)
union switch open_none_delegation4 (why_no_delegation4 why) {
case const.WND4_CONTENTION:
/* Server will push delegation */
bool push;
case const.WND4_RESOURCE:
/* Server will signal availability */
bool signal;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or both β you know the drill π
π¦ class open_owner4(baseobj.BaseObj)
open_owner4 = class state_owner4(baseobj.BaseObj)
It's literally just state_owner4 wearing a little open_owner4 name tag. Rebranding, honestly π₯
π¦ class open_read_delegation4(baseobj.BaseObj)
struct open_read_delegation4 {
stateid4 stateid; /* Stateid for delegation */
bool recall; /* Pre-recalled flag for delegations obtained by reclaim (CLAIM_PREVIOUS) */
nfsace4 permissions; /* Defines users who don't need an ACCESS call to open for read */
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π
π¦ class open_to_lock_owner4(baseobj.BaseObj)
struct open_to_lock_owner4 {
seqid4 seqid;
stateid4 stateid;
seqid4 lock_seqid;
lock_owner4 lock_owner;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a mix of both β lowkey iconic π
π¦ class open_write_delegation4(baseobj.BaseObj)
struct open_write_delegation4 {
stateid4 stateid; /* Stateid for delegation */
bool recall; /* Pre-recalled flag for delegations obtained by reclaim (CLAIM_PREVIOUS) */
nfs_space_limit4 space_limit; /* Defines condition that the client must check to determine whether the file needs to be flushed to the server on close. */
nfsace4 permissions; /* Defines users who don't need an ACCESS call as part of a delegated open. */
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π¦
π¦ class openflag4(baseobj.BaseObj)
union switch openflag4 (opentype4 opentype) {
case const.OPEN4_CREATE:
createhow4 how;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or both, bestie π
π class opentype4(packet.utils.Enum)
enum opentype4
Enum. Cute. Done. β
π¦ class prev_entry4(baseobj.BaseObj)
struct prev_entry4 {
notify_entry4 entry;
/* what READDIR returned for this entry */
nfs_cookie4 cookie;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both πΈ
π¦ class read_plus_content(baseobj.BaseObj)
union switch read_plus_content (data_content4 content) {
case const.NFS4_CONTENT_DATA:
data4 data;
case const.NFS4_CONTENT_HOLE:
data_info4 hole;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨
Initializes the object's private data according to the arguments given. Positional, named, or a combination of both π«Ά
π¦ class read_plus_res4(baseobj.BaseObj)
struct read_plus_res4 {
bool eof;
read_plus_content contents<>;
};
And we're mid-struct, bestie β hold that thought, there's more coming π
Methods defined here:
__init__(self, unpack)β Constructor β¨ This initializes the object's private data according to the arguments you give. You can pass them positionally, as named arguments, or a mix of both. π«Ά
class referring_call4(baseobj.BaseObj)
struct referring_call4 {
sequenceid4 sequenceid;
slotid4 slotid;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up the object's private data based on the args you pass. Positional, named, or both β your call. π
class referring_call_list4(baseobj.BaseObj)
struct referring_call_list4 {
sessionid4 sessionid;
referring_call4 referring_calls<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes the object's private data according to the arguments given. You can do positional, named, or a combo. π
class retention_get4(baseobj.BaseObj)
struct retention_get4 {
uint64_t duration;
nfstime4 begin_time<1>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β slay. β¨
class retention_set4(baseobj.BaseObj)
struct retention_set4 {
bool enable;
uint64_t duration<1>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π
class rpc_gss_svc_t(packet.utils.Enum)
enum rpc_gss_svc_t
class rpcsec_gss_info(baseobj.BaseObj)
struct rpcsec_gss_info {
sec_oid4 oid;
qop4 qop;
rpc_gss_svc_t service;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up the object's private data based on the args. Positional, named, or both β you got this. π¦
class sec_label4(baseobj.BaseObj)
struct sec_label4 {
labelformat_spec4 lfs;
opaque data<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes private data according to the arguments given. Positional, named, or a combo. πΈ
class secinfo4(baseobj.BaseObj)
union switch secinfo4 (nfs_secflavor4 flavor) {
case const.RPCSEC_GSS:
rpcsec_gss_info info;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β iconic. π
class secinfo_style4(packet.utils.Enum)
enum secinfo_style4
class seek_res4(baseobj.BaseObj)
struct seek_res4 {
bool eof;
offset4 offset;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π
class server_owner4(baseobj.BaseObj)
struct server_owner4 {
uint64_t minor_id;
opaque major_id<NFS4_OPAQUE_LIMIT>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data based on the args. Positional, named, or both β periodt. π
class settime4(baseobj.BaseObj)
union switch settime4 (time_how4 set_it) {
case const.SET_TO_CLIENT_TIME4:
nfstime4 time;
default:
void;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes private data according to the arguments given. Positional, named, or a combo. β¨
class setxattr_option4(packet.utils.Enum)
enum setxattr_option4
class specdata4(baseobj.BaseObj)
struct specdata4 {
uint32_t specdata1; /* major device number */
uint32_t specdata2; /* minor device number */
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β slay. π
class ssa_digest_input4(baseobj.BaseObj)
struct ssa_digest_input4 {
SEQUENCE4args seqargs;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π
class ssr_digest_input4(baseobj.BaseObj)
struct ssr_digest_input4 {
SEQUENCE4res seqres;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data based on the args. Positional, named, or both β no cap. π₯
class ssv_mic_plain_tkn4(baseobj.BaseObj)
struct ssv_mic_plain_tkn4 {
uint32_t ssv_seq;
opaque orig_plain<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes private data according to the arguments given. Positional, named, or a combo. π
class ssv_mic_tkn4(baseobj.BaseObj)
struct ssv_mic_tkn4 {
uint32_t ssv_seq;
opaque hmac<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β ate. π
class ssv_prot_info4(baseobj.BaseObj)
struct ssv_prot_info4 {
state_protect_ops4 ops;
uint32_t hash_alg;
uint32_t encr_alg;
uint32_t ssv_len;
uint32_t window;
gsshandle4_t handles<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π«Ά
class ssv_seal_cipher_tkn4(baseobj.BaseObj)
struct ssv_seal_cipher_tkn4 {
uint32_t ssv_seq;
opaque iv<>;
opaque encr_data<>;
opaque hmac<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data based on the args. Positional, named, or both β it's giving constructor. π
class ssv_seal_plain_tkn4(baseobj.BaseObj)
struct ssv_seal_plain_tkn4 {
opaque confounder<>;
uint32_t ssv_seq;
opaque orig_plain<>;
opaque pad<>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes private data according to the arguments given. Positional, named, or a combo. π¦
class ssv_sp_parms4(baseobj.BaseObj)
struct ssv_sp_parms4 {
state_protect_ops4 ops;
sec_oid4 hash_algs<>;
sec_oid4 encr_algs<>;
uint32_t window;
uint32_t num_gss_handles;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β lowkey essential. β¨
class ssv_subkey4(packet.utils.Enum)
enum ssv_subkey4
class stable_how4(packet.utils.Enum)
enum stable_how4
class state_owner4(baseobj.BaseObj)
struct state_owner4 {
clientid4 clientid;
opaque owner<NFS4_OPAQUE_LIMIT>;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π
class state_protect4_a(baseobj.BaseObj)
union switch state_protect4_a (state_protect_how4 how) {
case const.SP4_NONE:
void;
case const.SP4_MACH_CRED:
state_protect_ops4 mach_ops;
case const.SP4_SSV:
ssv_sp_parms4 ssv_parms;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data based on the args. Positional, named, or both β periodt. π
class state_protect4_r(baseobj.BaseObj)
union switch state_protect4_r (state_protect_how4 how) {
case const.SP4_NONE:
void;
case const.SP4_MACH_CRED:
state_protect_ops4 mach_ops;
case const.SP4_SSV:
ssv_prot_info4 ssv_info;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes private data according to the arguments given. Positional, named, or a combo. πΈ
class state_protect_how4(packet.utils.Enum)
enum state_protect_how4
class state_protect_ops4(baseobj.BaseObj)
struct state_protect_ops4 {
bitmap4 enforce_mask;
bitmap4 allow_mask;
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Sets up private data from the args. Positional, named, or both β slay. π
class stateid4(baseobj.BaseObj)
struct stateid4 {
uint32_t seqid;
opaque other[NFS4_OTHER_SIZE];
};
Methods defined here:
__init__(self, unpack)β Constructor β¨ Initializes object's private data according to the arguments given. Positional, named, or a mix. π
class th_item4(baseobj.BaseObj) π
struct th_item4 {
bitmap4 mask;
opaque values<>;
};
Methods defined here:
__init__(self, unpack)
Constructor π
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
class threshold_item4(baseobj.BaseObj) π¦
union switch threshold_item4 (layouttype4 type) {
case const.LAYOUT4_NFSV4_1_FILES:
nfsv4_1_file_th_item4 items;
default:
th_item4 items;
};
Methods defined here:
__init__(self, unpack)
Constructor π
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
class time_how4(packet.utils.Enum) β enum time_how4 β¨
class why_no_delegation4(packet.utils.Enum) β enum why_no_delegation4 β¨
class write_response4(baseobj.BaseObj) π«Ά
struct write_response4 {
stateid4 stateid<1>;
length4 count;
stable_how4 committed;
verifier4 verifier;
};
Methods defined here:
__init__(self, unpack)
Constructor π
Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both.
β¨ FUNCTIONS β¨
SECINFO4resok(unpack)aceflag4(unpack)acemask4(unpack)acetype4(unpack)aclflag4(unpack)bitmap4(unpack)changeid4(unpack)clientid4(unpack)deviceid4(unpack)fattr4(unpack)
struct fattr4 {
bitmap4 mask;
attrlist4 values;
};
fattr4_acl(unpack)fattr4_change(unpack)fattr4_filehandle(unpack)fattr4_fs_layout_types(unpack)fattr4_layout_types(unpack)gsshandle4_t(unpack)multipath_list4(unpack)nfl_util4(unpack)nfs_fh4(unpack)nfsv4_1_file_th_item4(unpack)
struct nfsv4_1_file_th_item4 {
bitmap4 mask;
opaque values<>;
};
notifylist4(unpack)β Objects of typenotify_<>4andnotify_device_<>4are encoded in this. πpathname4(unpack)sec_oid4(unpack)sessionid4(unpack)verifier4(unpack)
π SEE ALSO π
Go peek at these besties, they're all linked:
π BUGS π
No known bugs. Not a single one. Iconic behavior, honestly. β¨
π AUTHOR π
Jorge Mora (mora@netapp.com) π«Ά
This page is from NFStest 3.2, dated 21 March 2023 β it's the NFS4(3) manual, bestie. Bye! πβ¨
π¦ where this page comes from
- debian trixie: nfstest 3.2-3
- fedora 43: NFStest 3.2-14.fc43 Β· GPL-2.0-or-later
- fedora 44: NFStest 3.2-16.fc44 Β· GPL-2.0-or-later
- ubuntu noble: nfstest 3.2-2
- ubuntu questing: nfstest 3.2-3
- ubuntu resolute: nfstest 3.2-3build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms