@@ -269,6 +269,67 @@ export const nfs = {
269269 return new msg . Nfsv4OpenattrRequest ( createdir ) ;
270270 } ,
271271
272+ /**
273+ * SECINFO - Get security information for a file.
274+ * @param name - Filename to get security info for
275+ */
276+ SECINFO ( name : string ) : msg . Nfsv4SecinfoRequest {
277+ return new msg . Nfsv4SecinfoRequest ( name ) ;
278+ } ,
279+
280+ /**
281+ * DELEGPURGE - Purge delegations (not supported).
282+ * @param clientid - Client ID
283+ */
284+ DELEGPURGE ( clientid : bigint ) : msg . Nfsv4DelegpurgeRequest {
285+ return new msg . Nfsv4DelegpurgeRequest ( clientid ) ;
286+ } ,
287+
288+ /**
289+ * DELEGRETURN - Return delegation (not supported).
290+ * @param stateid - Delegation stateid
291+ */
292+ DELEGRETURN ( stateid : structs . Nfsv4Stateid ) : msg . Nfsv4DelegreturnRequest {
293+ return new msg . Nfsv4DelegreturnRequest ( stateid ) ;
294+ } ,
295+
296+ /**
297+ * LOCKT - Test for conflicting lock (non-blocking).
298+ * @param locktype - Lock type (READ_LT or WRITE_LT)
299+ * @param offset - Starting byte offset
300+ * @param length - Length in bytes (0xFFFFFFFFFFFFFFFF for EOF)
301+ * @param owner - Lock owner
302+ */
303+ LOCKT ( locktype : number , offset : bigint , length : bigint , owner : structs . Nfsv4LockOwner ) : msg . Nfsv4LocktRequest {
304+ return new msg . Nfsv4LocktRequest ( locktype , offset , length , owner ) ;
305+ } ,
306+
307+ /**
308+ * LOCKU - Unlock byte range.
309+ * @param locktype - Lock type (READ_LT or WRITE_LT)
310+ * @param seqid - Sequence number
311+ * @param lockStateid - Lock stateid from LOCK operation
312+ * @param offset - Starting byte offset
313+ * @param length - Length in bytes
314+ */
315+ LOCKU (
316+ locktype : number ,
317+ seqid : number ,
318+ lockStateid : structs . Nfsv4Stateid ,
319+ offset : bigint ,
320+ length : bigint ,
321+ ) : msg . Nfsv4LockuRequest {
322+ return new msg . Nfsv4LockuRequest ( locktype , seqid , lockStateid , offset , length ) ;
323+ } ,
324+
325+ /**
326+ * RELEASE_LOCKOWNER - Release all locks for a lock-owner.
327+ * @param lockOwner - Lock owner to release
328+ */
329+ RELEASE_LOCKOWNER ( lockOwner : structs . Nfsv4LockOwner ) : msg . Nfsv4ReleaseLockOwnerRequest {
330+ return new msg . Nfsv4ReleaseLockOwnerRequest ( lockOwner ) ;
331+ } ,
332+
272333 /**
273334 * Create an Nfsv4Verifier (8-byte opaque data).
274335 * @param data - 8-byte Uint8Array, defaults to zeros
@@ -340,4 +401,13 @@ export const nfs = {
340401 OpenClaimNull ( filename : string ) : structs . Nfsv4OpenClaim {
341402 return new structs . Nfsv4OpenClaim ( 0 , new structs . Nfsv4OpenClaimNull ( filename ) ) ;
342403 } ,
404+
405+ /**
406+ * Create Nfsv4LockOwner (lock owner identifier).
407+ * @param clientid - Client ID
408+ * @param owner - Owner bytes (unique identifier)
409+ */
410+ LockOwner ( clientid : bigint , owner : Uint8Array ) : structs . Nfsv4LockOwner {
411+ return new structs . Nfsv4LockOwner ( clientid , owner ) ;
412+ } ,
343413} ;
0 commit comments