@jsonjoy.com/json-pack 1.21.0 → 17.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/JsonPackExtension.d.ts +8 -0
- package/lib/JsonPackExtension.js +8 -0
- package/lib/JsonPackExtension.js.map +1 -1
- package/lib/JsonPackMpint.d.ts +25 -0
- package/lib/JsonPackMpint.js +31 -1
- package/lib/JsonPackMpint.js.map +1 -1
- package/lib/JsonPackValue.d.ts +10 -0
- package/lib/JsonPackValue.js +10 -0
- package/lib/JsonPackValue.js.map +1 -1
- package/lib/avro/AvroDecoder.d.ts +67 -0
- package/lib/avro/AvroDecoder.js +77 -5
- package/lib/avro/AvroDecoder.js.map +1 -1
- package/lib/avro/AvroEncoder.d.ts +71 -0
- package/lib/avro/AvroEncoder.js +90 -12
- package/lib/avro/AvroEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaDecoder.d.ts +53 -0
- package/lib/avro/AvroSchemaDecoder.js +60 -3
- package/lib/avro/AvroSchemaDecoder.js.map +1 -1
- package/lib/avro/AvroSchemaEncoder.d.ts +65 -0
- package/lib/avro/AvroSchemaEncoder.js +84 -5
- package/lib/avro/AvroSchemaEncoder.js.map +1 -1
- package/lib/avro/AvroSchemaValidator.d.ts +10 -0
- package/lib/avro/AvroSchemaValidator.js +18 -1
- package/lib/avro/AvroSchemaValidator.js.map +1 -1
- package/lib/avro/types.d.ts +31 -0
- package/lib/avro/types.js +4 -0
- package/lib/avro/types.js.map +1 -1
- package/lib/bencode/BencodeDecoder.js +9 -9
- package/lib/bencode/BencodeDecoder.js.map +1 -1
- package/lib/bencode/BencodeEncoder.d.ts +5 -0
- package/lib/bencode/BencodeEncoder.js +25 -20
- package/lib/bencode/BencodeEncoder.js.map +1 -1
- package/lib/bson/BsonDecoder.js +48 -33
- package/lib/bson/BsonDecoder.js.map +1 -1
- package/lib/bson/BsonEncoder.js +11 -3
- package/lib/bson/BsonEncoder.js.map +1 -1
- package/lib/cbor/CborDecoder.d.ts +24 -0
- package/lib/cbor/CborDecoder.js +94 -56
- package/lib/cbor/CborDecoder.js.map +1 -1
- package/lib/cbor/CborDecoderBase.d.ts +1 -0
- package/lib/cbor/CborDecoderBase.js +63 -53
- package/lib/cbor/CborDecoderBase.js.map +1 -1
- package/lib/cbor/CborEncoder.d.ts +5 -0
- package/lib/cbor/CborEncoder.js +9 -3
- package/lib/cbor/CborEncoder.js.map +1 -1
- package/lib/cbor/CborEncoderFast.d.ts +7 -0
- package/lib/cbor/CborEncoderFast.js +22 -14
- package/lib/cbor/CborEncoderFast.js.map +1 -1
- package/lib/cbor/CborEncoderStable.d.ts +1 -0
- package/lib/cbor/CborEncoderStable.js +2 -1
- package/lib/cbor/CborEncoderStable.js.map +1 -1
- package/lib/cbor/shared.d.ts +1 -1
- package/lib/codecs/Codecs.d.ts +1 -1
- package/lib/codecs/cbor.js +1 -1
- package/lib/codecs/cbor.js.map +1 -1
- package/lib/codecs/json.js +1 -1
- package/lib/codecs/json.js.map +1 -1
- package/lib/codecs/msgpack.js +1 -1
- package/lib/codecs/msgpack.js.map +1 -1
- package/lib/ejson/EjsonDecoder.d.ts +5 -0
- package/lib/ejson/EjsonDecoder.js +72 -37
- package/lib/ejson/EjsonDecoder.js.map +1 -1
- package/lib/ejson/EjsonEncoder.d.ts +5 -0
- package/lib/ejson/EjsonEncoder.js +149 -114
- package/lib/ejson/EjsonEncoder.js.map +1 -1
- package/lib/ejson/index.js +1 -0
- package/lib/ejson/index.js.map +1 -1
- package/lib/ion/Import.d.ts +1 -1
- package/lib/ion/Import.js.map +1 -1
- package/lib/ion/IonDecoder.d.ts +0 -1
- package/lib/ion/IonDecoder.js +4 -3
- package/lib/ion/IonDecoder.js.map +1 -1
- package/lib/ion/IonDecoderBase.js +29 -18
- package/lib/ion/IonDecoderBase.js.map +1 -1
- package/lib/ion/IonEncoderFast.d.ts +1 -1
- package/lib/ion/IonEncoderFast.js +30 -30
- package/lib/ion/IonEncoderFast.js.map +1 -1
- package/lib/ion/ast.d.ts +4 -1
- package/lib/ion/symbols.d.ts +1 -1
- package/lib/json/JsonDecoder.js +72 -66
- package/lib/json/JsonDecoder.js.map +1 -1
- package/lib/json/JsonDecoderDag.js +14 -0
- package/lib/json/JsonDecoderDag.js.map +1 -1
- package/lib/json/JsonDecoderPartial.d.ts +22 -0
- package/lib/json/JsonDecoderPartial.js +30 -8
- package/lib/json/JsonDecoderPartial.js.map +1 -1
- package/lib/json/JsonEncoder.d.ts +5 -0
- package/lib/json/JsonEncoder.js +59 -51
- package/lib/json/JsonEncoder.js.map +1 -1
- package/lib/json/JsonEncoderDag.d.ts +17 -0
- package/lib/json/JsonEncoderDag.js +27 -10
- package/lib/json/JsonEncoderDag.js.map +1 -1
- package/lib/json/JsonEncoderStable.js +5 -5
- package/lib/json/JsonEncoderStable.js.map +1 -1
- package/lib/json-binary/codec.d.ts +8 -1
- package/lib/json-binary/codec.js +7 -0
- package/lib/json-binary/codec.js.map +1 -1
- package/lib/msgpack/MsgPackDecoder.d.ts +27 -0
- package/lib/msgpack/MsgPackDecoder.js +55 -23
- package/lib/msgpack/MsgPackDecoder.js.map +1 -1
- package/lib/msgpack/MsgPackDecoderFast.d.ts +8 -0
- package/lib/msgpack/MsgPackDecoderFast.js +14 -5
- package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoder.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoder.js +7 -4
- package/lib/msgpack/MsgPackEncoder.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderFast.d.ts +26 -4
- package/lib/msgpack/MsgPackEncoderFast.js +31 -0
- package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
- package/lib/msgpack/MsgPackEncoderStable.d.ts +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js +3 -0
- package/lib/msgpack/MsgPackEncoderStable.js.map +1 -1
- package/lib/msgpack/MsgPackToJsonConverter.d.ts +30 -4
- package/lib/msgpack/MsgPackToJsonConverter.js +32 -5
- package/lib/msgpack/MsgPackToJsonConverter.js.map +1 -1
- package/lib/msgpack/index.d.ts +29 -0
- package/lib/msgpack/index.js +30 -0
- package/lib/msgpack/index.js.map +1 -1
- package/lib/msgpack/shallow-read.js +7 -7
- package/lib/msgpack/shallow-read.js.map +1 -1
- package/lib/msgpack/types.d.ts +1 -0
- package/lib/msgpack/util.d.ts +1 -1
- package/lib/nfs/v3/FullNfsv3Encoder.d.ts +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js +3 -3
- package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Decoder.js +51 -50
- package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -1
- package/lib/nfs/v3/Nfsv3Encoder.d.ts +2 -2
- package/lib/nfs/v3/Nfsv3Encoder.js +52 -52
- package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -1
- package/lib/nfs/v3/constants.d.ts +34 -0
- package/lib/nfs/v3/constants.js +4 -0
- package/lib/nfs/v3/constants.js.map +1 -1
- package/lib/nfs/v3/locks/NlmDecoder.js +20 -20
- package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -1
- package/lib/nfs/v3/locks/NlmEncoder.d.ts +2 -2
- package/lib/nfs/v3/locks/NlmEncoder.js +20 -20
- package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -1
- package/lib/nfs/v3/locks/constants.d.ts +9 -0
- package/lib/nfs/v3/locks/messages.d.ts +58 -1
- package/lib/nfs/v3/locks/messages.js +54 -0
- package/lib/nfs/v3/locks/messages.js.map +1 -1
- package/lib/nfs/v3/locks/structs.d.ts +15 -0
- package/lib/nfs/v3/locks/structs.js +15 -0
- package/lib/nfs/v3/locks/structs.js.map +1 -1
- package/lib/nfs/v3/messages.d.ts +249 -0
- package/lib/nfs/v3/messages.js +249 -0
- package/lib/nfs/v3/messages.js.map +1 -1
- package/lib/nfs/v3/mount/MountDecoder.js +12 -12
- package/lib/nfs/v3/mount/MountEncoder.d.ts +2 -2
- package/lib/nfs/v3/mount/MountEncoder.js +13 -13
- package/lib/nfs/v3/mount/MountEncoder.js.map +1 -1
- package/lib/nfs/v3/mount/constants.d.ts +9 -0
- package/lib/nfs/v3/mount/messages.d.ts +31 -1
- package/lib/nfs/v3/mount/messages.js +27 -0
- package/lib/nfs/v3/mount/messages.js.map +1 -1
- package/lib/nfs/v3/mount/structs.d.ts +15 -0
- package/lib/nfs/v3/mount/structs.js +15 -0
- package/lib/nfs/v3/mount/structs.js.map +1 -1
- package/lib/nfs/v3/structs.d.ts +78 -0
- package/lib/nfs/v3/structs.js +78 -0
- package/lib/nfs/v3/structs.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Decoder.d.ts +0 -2
- package/lib/nfs/v4/Nfsv4Decoder.js +96 -102
- package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.d.ts +2 -2
- package/lib/nfs/v4/Nfsv4Encoder.js +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js +4 -4
- package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -1
- package/lib/nfs/v4/attributes.d.ts +62 -0
- package/lib/nfs/v4/attributes.js +209 -147
- package/lib/nfs/v4/attributes.js.map +1 -1
- package/lib/nfs/v4/builder.d.ts +274 -1
- package/lib/nfs/v4/builder.js +283 -10
- package/lib/nfs/v4/builder.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDir.d.ts +4 -1
- package/lib/nfs/v4/client/NfsFsDir.js +8 -5
- package/lib/nfs/v4/client/NfsFsDir.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsDirent.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsDirent.js +10 -7
- package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +4 -3
- package/lib/nfs/v4/client/NfsFsFileHandle.js +13 -10
- package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -1
- package/lib/nfs/v4/client/NfsFsStats.d.ts +3 -0
- package/lib/nfs/v4/client/NfsFsStats.js +10 -7
- package/lib/nfs/v4/client/NfsFsStats.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +2 -3
- package/lib/nfs/v4/client/Nfsv4FsClient.js +92 -92
- package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -1
- package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +6 -6
- package/lib/nfs/v4/client/Nfsv4TcpClient.js +3 -3
- package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -1
- package/lib/nfs/v4/client/types.d.ts +1 -1
- package/lib/nfs/v4/constants.d.ts +78 -1
- package/lib/nfs/v4/format.d.ts +1 -1
- package/lib/nfs/v4/format.js +229 -229
- package/lib/nfs/v4/format.js.map +1 -1
- package/lib/nfs/v4/messages.js +101 -101
- package/lib/nfs/v4/messages.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +20 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +29 -8
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4Connection.d.ts +6 -3
- package/lib/nfs/v4/server/Nfsv4Connection.js +11 -8
- package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +2 -3
- package/lib/nfs/v4/server/Nfsv4TcpServer.js +1 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +69 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js +43 -1
- package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -1
- package/lib/nfs/v4/server/operations/ClientRecord.d.ts +98 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js +54 -1
- package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +22 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js +16 -1
- package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +75 -2
- package/lib/nfs/v4/server/operations/LockOwnerState.js +43 -1
- package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/LockStateid.d.ts +55 -1
- package/lib/nfs/v4/server/operations/LockStateid.js +37 -1
- package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -1
- package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +2 -1
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +2 -2
- package/lib/nfs/v4/server/operations/OpenFileState.d.ts +90 -2
- package/lib/nfs/v4/server/operations/OpenFileState.js +52 -1
- package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +76 -2
- package/lib/nfs/v4/server/operations/OpenOwnerState.js +44 -1
- package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +73 -3
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +261 -187
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/attrs.d.ts +13 -1
- package/lib/nfs/v4/server/operations/node/attrs.js +75 -62
- package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/fh.d.ts +67 -2
- package/lib/nfs/v4/server/operations/node/fh.js +83 -21
- package/lib/nfs/v4/server/operations/node/fh.js.map +1 -1
- package/lib/nfs/v4/server/operations/node/util.js +4 -4
- package/lib/nfs/v4/server/operations/node/util.js.map +1 -1
- package/lib/nfs/v4/server/util.d.ts +0 -1
- package/lib/nfs/v4/server/util.js +40 -40
- package/lib/nfs/v4/structs.d.ts +136 -4
- package/lib/nfs/v4/structs.js +129 -0
- package/lib/nfs/v4/structs.js.map +1 -1
- package/lib/resp/RespDecoder.d.ts +9 -0
- package/lib/resp/RespDecoder.js +93 -76
- package/lib/resp/RespDecoder.js.map +1 -1
- package/lib/resp/RespEncoder.d.ts +8 -0
- package/lib/resp/RespEncoder.js +107 -89
- package/lib/resp/RespEncoder.js.map +1 -1
- package/lib/resp/RespEncoderLegacy.d.ts +3 -0
- package/lib/resp/RespEncoderLegacy.js +7 -4
- package/lib/resp/RespEncoderLegacy.js.map +1 -1
- package/lib/resp/RespStreamingDecoder.d.ts +48 -0
- package/lib/resp/RespStreamingDecoder.js +48 -0
- package/lib/resp/RespStreamingDecoder.js.map +1 -1
- package/lib/resp/constants.d.ts +19 -19
- package/lib/rm/RmRecordEncoder.d.ts +15 -1
- package/lib/rm/RmRecordEncoder.js +15 -1
- package/lib/rm/RmRecordEncoder.js.map +1 -1
- package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
- package/lib/rpc/RpcMessageDecoder.js +8 -7
- package/lib/rpc/RpcMessageDecoder.js.map +1 -1
- package/lib/rpc/RpcMessageEncoder.d.ts +2 -2
- package/lib/rpc/RpcMessageEncoder.js +6 -6
- package/lib/rpc/RpcMessageEncoder.js.map +1 -1
- package/lib/rpc/constants.d.ts +76 -28
- package/lib/rpc/constants.js +10 -0
- package/lib/rpc/constants.js.map +1 -1
- package/lib/ssh/SshDecoder.d.ts +46 -0
- package/lib/ssh/SshDecoder.js +52 -2
- package/lib/ssh/SshDecoder.js.map +1 -1
- package/lib/ssh/SshEncoder.d.ts +69 -0
- package/lib/ssh/SshEncoder.js +81 -8
- package/lib/ssh/SshEncoder.js.map +1 -1
- package/lib/ssh/index.d.ts +6 -0
- package/lib/ssh/index.js +6 -0
- package/lib/ssh/index.js.map +1 -1
- package/lib/ubjson/UbjsonDecoder.js +1 -1
- package/lib/ubjson/UbjsonDecoder.js.map +1 -1
- package/lib/ubjson/UbjsonEncoder.js +6 -5
- package/lib/ubjson/UbjsonEncoder.js.map +1 -1
- package/lib/util/CompressionTable.js +4 -4
- package/lib/util/CompressionTable.js.map +1 -1
- package/lib/util/DecompressionTable.js +3 -2
- package/lib/util/DecompressionTable.js.map +1 -1
- package/lib/ws/WsFrameDecoder.d.ts +18 -0
- package/lib/ws/WsFrameDecoder.js +18 -0
- package/lib/ws/WsFrameDecoder.js.map +1 -1
- package/lib/ws/WsFrameEncoder.d.ts +1 -1
- package/lib/ws/WsFrameEncoder.js +3 -3
- package/lib/ws/WsFrameEncoder.js.map +1 -1
- package/lib/ws/constants.js +5 -0
- package/lib/ws/constants.js.map +1 -1
- package/lib/xdr/XdrDecoder.d.ts +62 -0
- package/lib/xdr/XdrDecoder.js +73 -6
- package/lib/xdr/XdrDecoder.js.map +1 -1
- package/lib/xdr/XdrEncoder.d.ts +71 -0
- package/lib/xdr/XdrEncoder.js +88 -13
- package/lib/xdr/XdrEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaDecoder.d.ts +40 -0
- package/lib/xdr/XdrSchemaDecoder.js +52 -0
- package/lib/xdr/XdrSchemaDecoder.js.map +1 -1
- package/lib/xdr/XdrSchemaEncoder.d.ts +5 -0
- package/lib/xdr/XdrSchemaEncoder.js +9 -0
- package/lib/xdr/XdrSchemaEncoder.js.map +1 -1
- package/lib/xdr/XdrSchemaValidator.d.ts +9 -0
- package/lib/xdr/XdrSchemaValidator.js +42 -11
- package/lib/xdr/XdrSchemaValidator.js.map +1 -1
- package/lib/xdr/XdrUnion.d.ts +5 -0
- package/lib/xdr/XdrUnion.js +5 -0
- package/lib/xdr/XdrUnion.js.map +1 -1
- package/lib/xdr/index.d.ts +14 -0
- package/lib/xdr/index.js +14 -0
- package/lib/xdr/index.js.map +1 -1
- package/lib/xdr/types.d.ts +46 -0
- package/package.json +32 -55
package/lib/nfs/v4/builder.js
CHANGED
|
@@ -5,181 +5,454 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const attributes_1 = require("./attributes");
|
|
6
6
|
const msg = tslib_1.__importStar(require("./messages"));
|
|
7
7
|
const structs = tslib_1.__importStar(require("./structs"));
|
|
8
|
+
/**
|
|
9
|
+
* Static builder helpers for NFS v4 operations.
|
|
10
|
+
* Provides a simpler API for constructing NFS v4 request messages.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const response = await client.compound([
|
|
15
|
+
* nfs.PUTROOTFH(),
|
|
16
|
+
* nfs.LOOKUP('file.txt'),
|
|
17
|
+
* nfs.GETATTR([0x00000001]),
|
|
18
|
+
* ]);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
8
21
|
exports.nfs = {
|
|
22
|
+
/**
|
|
23
|
+
* PUTROOTFH - Set current filehandle to root of export.
|
|
24
|
+
*/
|
|
9
25
|
PUTROOTFH() {
|
|
10
26
|
return new msg.Nfsv4PutrootfhRequest();
|
|
11
27
|
},
|
|
28
|
+
/**
|
|
29
|
+
* PUTFH - Set current filehandle.
|
|
30
|
+
* @param fh - Filehandle to set as current
|
|
31
|
+
*/
|
|
12
32
|
PUTFH(fh) {
|
|
13
33
|
return new msg.Nfsv4PutfhRequest(fh);
|
|
14
34
|
},
|
|
35
|
+
/**
|
|
36
|
+
* PUTPUBFH - Set current filehandle to public filehandle.
|
|
37
|
+
*/
|
|
15
38
|
PUTPUBFH() {
|
|
16
39
|
return new msg.Nfsv4PutpubfhRequest();
|
|
17
40
|
},
|
|
41
|
+
/**
|
|
42
|
+
* GETFH - Get current filehandle.
|
|
43
|
+
*/
|
|
18
44
|
GETFH() {
|
|
19
45
|
return new msg.Nfsv4GetfhRequest();
|
|
20
46
|
},
|
|
47
|
+
/**
|
|
48
|
+
* LOOKUP - Lookup filename in current directory.
|
|
49
|
+
* @param name - Filename to lookup
|
|
50
|
+
*/
|
|
21
51
|
LOOKUP(name) {
|
|
22
52
|
return new msg.Nfsv4LookupRequest(name);
|
|
23
53
|
},
|
|
54
|
+
/**
|
|
55
|
+
* LOOKUPP - Lookup parent directory (..).
|
|
56
|
+
*/
|
|
24
57
|
LOOKUPP() {
|
|
25
58
|
return new msg.Nfsv4LookuppRequest();
|
|
26
59
|
},
|
|
60
|
+
/**
|
|
61
|
+
* GETATTR - Get file attributes.
|
|
62
|
+
* @param attrBitmap - Attribute bitmap (array of uint32 values)
|
|
63
|
+
*/
|
|
27
64
|
GETATTR(attrBitmap) {
|
|
28
65
|
return new msg.Nfsv4GetattrRequest(new structs.Nfsv4Bitmap(attrBitmap));
|
|
29
66
|
},
|
|
67
|
+
/**
|
|
68
|
+
* READDIR - Read directory entries.
|
|
69
|
+
* @param attrBitmap - Attribute bitmap for entries (single uint32 or array)
|
|
70
|
+
* @param cookieverf - Cookie verifier (8 bytes), defaults to zeros
|
|
71
|
+
* @param cookie - Starting cookie, defaults to 0
|
|
72
|
+
* @param dircount - Max bytes for directory info, defaults to 1000
|
|
73
|
+
* @param maxcount - Max bytes for reply, defaults to 8192
|
|
74
|
+
*/
|
|
30
75
|
READDIR(attrBitmap, cookieverf, cookie, dircount, maxcount) {
|
|
31
76
|
const bitmap = Array.isArray(attrBitmap) ? attrBitmap : [attrBitmap];
|
|
32
77
|
const verifier = cookieverf || new Uint8Array(8);
|
|
33
78
|
return new msg.Nfsv4ReaddirRequest(cookie ?? BigInt(0), new structs.Nfsv4Verifier(verifier), dircount ?? 1000, maxcount ?? 8192, new structs.Nfsv4Bitmap(bitmap));
|
|
34
79
|
},
|
|
80
|
+
/**
|
|
81
|
+
* ACCESS - Check access permissions.
|
|
82
|
+
* @param accessMask - Access mask (default: 0x3f for all bits)
|
|
83
|
+
*/
|
|
35
84
|
ACCESS(accessMask = 0x0000003f) {
|
|
36
85
|
return new msg.Nfsv4AccessRequest(accessMask);
|
|
37
86
|
},
|
|
87
|
+
/**
|
|
88
|
+
* READ - Read file data.
|
|
89
|
+
* @param offset - Byte offset to read from
|
|
90
|
+
* @param count - Number of bytes to read
|
|
91
|
+
* @param stateid - State ID (defaults to all zeros)
|
|
92
|
+
*/
|
|
38
93
|
READ(offset, count, stateid) {
|
|
39
94
|
const sid = stateid || new structs.Nfsv4Stateid(0, new Uint8Array(12));
|
|
40
95
|
return new msg.Nfsv4ReadRequest(sid, offset, count);
|
|
41
96
|
},
|
|
97
|
+
/**
|
|
98
|
+
* WRITE - Write file data.
|
|
99
|
+
* @param stateid - State ID to write to
|
|
100
|
+
* @param offset - Byte offset
|
|
101
|
+
* @param stable - Stable flag (Nfsv4StableHow)
|
|
102
|
+
* @param data - Data to write
|
|
103
|
+
*/
|
|
42
104
|
WRITE(stateid, offset, stable, data) {
|
|
43
105
|
return new msg.Nfsv4WriteRequest(stateid, offset, stable, data);
|
|
44
106
|
},
|
|
107
|
+
/**
|
|
108
|
+
* COMMIT - Commit written data to stable storage.
|
|
109
|
+
* @param offset - Byte offset
|
|
110
|
+
* @param count - Number of bytes
|
|
111
|
+
*/
|
|
45
112
|
COMMIT(offset, count) {
|
|
46
113
|
return new msg.Nfsv4CommitRequest(offset, count);
|
|
47
114
|
},
|
|
115
|
+
/**
|
|
116
|
+
* CREATE - Create a new file.
|
|
117
|
+
* @param objtype - Object type to create
|
|
118
|
+
* @param objname - Name of object to create
|
|
119
|
+
* @param createattrs - Attributes for the new object
|
|
120
|
+
*/
|
|
48
121
|
CREATE(objtype, objname, createattrs) {
|
|
49
122
|
return new msg.Nfsv4CreateRequest(objtype, objname, createattrs);
|
|
50
123
|
},
|
|
124
|
+
/**
|
|
125
|
+
* LINK - Create a hard link.
|
|
126
|
+
* @param newname - Name for the new link
|
|
127
|
+
*/
|
|
51
128
|
LINK(newname) {
|
|
52
129
|
return new msg.Nfsv4LinkRequest(newname);
|
|
53
130
|
},
|
|
131
|
+
/**
|
|
132
|
+
* READLINK - Read symbolic link.
|
|
133
|
+
*/
|
|
54
134
|
READLINK() {
|
|
55
135
|
return new msg.Nfsv4ReadlinkRequest();
|
|
56
136
|
},
|
|
137
|
+
/**
|
|
138
|
+
* SAVEFH - Save current filehandle.
|
|
139
|
+
*/
|
|
57
140
|
SAVEFH() {
|
|
58
141
|
return new msg.Nfsv4SavefhRequest();
|
|
59
142
|
},
|
|
143
|
+
/**
|
|
144
|
+
* RESTOREFH - Restore saved filehandle to current.
|
|
145
|
+
*/
|
|
60
146
|
RESTOREFH() {
|
|
61
147
|
return new msg.Nfsv4RestorefhRequest();
|
|
62
148
|
},
|
|
149
|
+
/**
|
|
150
|
+
* SETATTR - Set file attributes.
|
|
151
|
+
* @param stateid - State ID
|
|
152
|
+
* @param attrs - Attributes to set
|
|
153
|
+
*/
|
|
63
154
|
SETATTR(stateid, attrs) {
|
|
64
155
|
return new msg.Nfsv4SetattrRequest(stateid, attrs);
|
|
65
156
|
},
|
|
157
|
+
/**
|
|
158
|
+
* VERIFY - Verify attributes match.
|
|
159
|
+
* @param attrs - Attributes to verify
|
|
160
|
+
*/
|
|
66
161
|
VERIFY(attrs) {
|
|
67
162
|
return new msg.Nfsv4VerifyRequest(attrs);
|
|
68
163
|
},
|
|
164
|
+
/**
|
|
165
|
+
* NVERIFY - Verify attributes don't match.
|
|
166
|
+
* @param attrs - Attributes to verify don't match
|
|
167
|
+
*/
|
|
69
168
|
NVERIFY(attrs) {
|
|
70
169
|
return new msg.Nfsv4NverifyRequest(attrs);
|
|
71
170
|
},
|
|
171
|
+
/**
|
|
172
|
+
* REMOVE - Remove file or directory.
|
|
173
|
+
* @param name - Name of file/directory to remove
|
|
174
|
+
*/
|
|
72
175
|
REMOVE(name) {
|
|
73
176
|
return new msg.Nfsv4RemoveRequest(name);
|
|
74
177
|
},
|
|
178
|
+
/**
|
|
179
|
+
* RENAME - Rename file or directory.
|
|
180
|
+
* @param oldname - Current name
|
|
181
|
+
* @param newname - New name
|
|
182
|
+
*/
|
|
75
183
|
RENAME(oldname, newname) {
|
|
76
184
|
return new msg.Nfsv4RenameRequest(oldname, newname);
|
|
77
185
|
},
|
|
186
|
+
/**
|
|
187
|
+
* RENEW - Renew client lease.
|
|
188
|
+
* @param clientid - Client ID
|
|
189
|
+
*/
|
|
78
190
|
RENEW(clientid) {
|
|
79
191
|
return new msg.Nfsv4RenewRequest(clientid);
|
|
80
192
|
},
|
|
193
|
+
/**
|
|
194
|
+
* SETCLIENTID - Establish client ID.
|
|
195
|
+
* @param client - Client identifier
|
|
196
|
+
* @param callback - Callback info
|
|
197
|
+
* @param callbackIdent - Callback identifier
|
|
198
|
+
*/
|
|
81
199
|
SETCLIENTID(client, callback, callbackIdent) {
|
|
82
200
|
return new msg.Nfsv4SetclientidRequest(client, callback, callbackIdent);
|
|
83
201
|
},
|
|
202
|
+
/**
|
|
203
|
+
* SETCLIENTID_CONFIRM - Confirm client ID.
|
|
204
|
+
* @param clientid - Client ID to confirm
|
|
205
|
+
* @param verifier - Verifier from SETCLIENTID response
|
|
206
|
+
*/
|
|
84
207
|
SETCLIENTID_CONFIRM(clientid, verifier) {
|
|
85
208
|
return new msg.Nfsv4SetclientidConfirmRequest(clientid, verifier);
|
|
86
209
|
},
|
|
210
|
+
/**
|
|
211
|
+
* OPEN - Open a file.
|
|
212
|
+
* @param seqid - Sequence ID for open-owner
|
|
213
|
+
* @param shareAccess - Share access mode (OPEN4_SHARE_ACCESS_*)
|
|
214
|
+
* @param shareDeny - Share deny mode (OPEN4_SHARE_DENY_*)
|
|
215
|
+
* @param owner - Open owner (clientid + owner bytes)
|
|
216
|
+
* @param openhow - Open how structure (use OpenHow helper)
|
|
217
|
+
* @param claim - Open claim (use OpenClaim helper)
|
|
218
|
+
*/
|
|
87
219
|
OPEN(seqid, shareAccess, shareDeny, owner, openhow, claim) {
|
|
88
220
|
return new msg.Nfsv4OpenRequest(seqid, shareAccess, shareDeny, owner, openhow, claim);
|
|
89
221
|
},
|
|
222
|
+
/**
|
|
223
|
+
* CLOSE - Close an open file.
|
|
224
|
+
* @param seqid - Sequence ID
|
|
225
|
+
* @param openStateid - State ID from OPEN
|
|
226
|
+
*/
|
|
90
227
|
CLOSE(seqid, openStateid) {
|
|
91
228
|
return new msg.Nfsv4CloseRequest(seqid, openStateid);
|
|
92
229
|
},
|
|
230
|
+
/**
|
|
231
|
+
* OPEN_CONFIRM - Confirm an open.
|
|
232
|
+
* @param openStateid - State ID from OPEN
|
|
233
|
+
* @param seqid - Sequence ID
|
|
234
|
+
*/
|
|
93
235
|
OPEN_CONFIRM(openStateid, seqid) {
|
|
94
236
|
return new msg.Nfsv4OpenConfirmRequest(openStateid, seqid);
|
|
95
237
|
},
|
|
238
|
+
/**
|
|
239
|
+
* OPEN_DOWNGRADE - Downgrade open access/deny modes.
|
|
240
|
+
* @param openStateid - State ID from OPEN
|
|
241
|
+
* @param seqid - Sequence ID
|
|
242
|
+
* @param shareAccess - New share access mode
|
|
243
|
+
* @param shareDeny - New share deny mode
|
|
244
|
+
*/
|
|
96
245
|
OPEN_DOWNGRADE(openStateid, seqid, shareAccess, shareDeny) {
|
|
97
246
|
return new msg.Nfsv4OpenDowngradeRequest(openStateid, seqid, shareAccess, shareDeny);
|
|
98
247
|
},
|
|
248
|
+
/**
|
|
249
|
+
* OPENATTR - Open named attribute directory.
|
|
250
|
+
* @param createdir - Whether to create the directory if it doesn't exist
|
|
251
|
+
*/
|
|
99
252
|
OPENATTR(createdir = false) {
|
|
100
253
|
return new msg.Nfsv4OpenattrRequest(createdir);
|
|
101
254
|
},
|
|
255
|
+
/**
|
|
256
|
+
* SECINFO - Get security information for a file.
|
|
257
|
+
* @param name - Filename to get security info for
|
|
258
|
+
*/
|
|
102
259
|
SECINFO(name) {
|
|
103
260
|
return new msg.Nfsv4SecinfoRequest(name);
|
|
104
261
|
},
|
|
262
|
+
/**
|
|
263
|
+
* DELEGPURGE - Purge delegations (not supported).
|
|
264
|
+
* @param clientid - Client ID
|
|
265
|
+
*/
|
|
105
266
|
DELEGPURGE(clientid) {
|
|
106
267
|
return new msg.Nfsv4DelegpurgeRequest(clientid);
|
|
107
268
|
},
|
|
269
|
+
/**
|
|
270
|
+
* DELEGRETURN - Return delegation (not supported).
|
|
271
|
+
* @param stateid - Delegation stateid
|
|
272
|
+
*/
|
|
108
273
|
DELEGRETURN(stateid) {
|
|
109
274
|
return new msg.Nfsv4DelegreturnRequest(stateid);
|
|
110
275
|
},
|
|
276
|
+
/**
|
|
277
|
+
* LOCK - Lock byte range.
|
|
278
|
+
* @param locktype - Lock type (READ_LT, WRITE_LT, READW_LT, or WRITEW_LT)
|
|
279
|
+
* @param reclaim - True if reclaiming lock after server restart
|
|
280
|
+
* @param offset - Starting byte offset
|
|
281
|
+
* @param length - Length in bytes (0xFFFFFFFFFFFFFFFF for EOF)
|
|
282
|
+
* @param locker - Lock owner info (new or existing lock owner)
|
|
283
|
+
*/
|
|
111
284
|
LOCK(locktype, reclaim, offset, length, locker) {
|
|
112
285
|
return new msg.Nfsv4LockRequest(locktype, reclaim, offset, length, locker);
|
|
113
286
|
},
|
|
287
|
+
/**
|
|
288
|
+
* LOCKT - Test for conflicting lock (non-blocking).
|
|
289
|
+
* @param locktype - Lock type (READ_LT or WRITE_LT)
|
|
290
|
+
* @param offset - Starting byte offset
|
|
291
|
+
* @param length - Length in bytes (0xFFFFFFFFFFFFFFFF for EOF)
|
|
292
|
+
* @param owner - Lock owner
|
|
293
|
+
*/
|
|
114
294
|
LOCKT(locktype, offset, length, owner) {
|
|
115
295
|
return new msg.Nfsv4LocktRequest(locktype, offset, length, owner);
|
|
116
296
|
},
|
|
297
|
+
/**
|
|
298
|
+
* LOCKU - Unlock byte range.
|
|
299
|
+
* @param locktype - Lock type (READ_LT or WRITE_LT)
|
|
300
|
+
* @param seqid - Sequence number
|
|
301
|
+
* @param lockStateid - Lock stateid from LOCK operation
|
|
302
|
+
* @param offset - Starting byte offset
|
|
303
|
+
* @param length - Length in bytes
|
|
304
|
+
*/
|
|
117
305
|
LOCKU(locktype, seqid, lockStateid, offset, length) {
|
|
118
306
|
return new msg.Nfsv4LockuRequest(locktype, seqid, lockStateid, offset, length);
|
|
119
307
|
},
|
|
308
|
+
/**
|
|
309
|
+
* RELEASE_LOCKOWNER - Release all locks for a lock-owner.
|
|
310
|
+
* @param lockOwner - Lock owner to release
|
|
311
|
+
*/
|
|
120
312
|
RELEASE_LOCKOWNER(lockOwner) {
|
|
121
313
|
return new msg.Nfsv4ReleaseLockOwnerRequest(lockOwner);
|
|
122
314
|
},
|
|
315
|
+
/**
|
|
316
|
+
* Create an Nfsv4Verifier (8-byte opaque data).
|
|
317
|
+
* @param data - 8-byte Uint8Array, defaults to zeros
|
|
318
|
+
*/
|
|
123
319
|
Verifier(data) {
|
|
124
320
|
return new structs.Nfsv4Verifier(data || new Uint8Array(8));
|
|
125
321
|
},
|
|
322
|
+
/**
|
|
323
|
+
* Create an Nfsv4Stateid (state identifier).
|
|
324
|
+
* @param seqid - Sequence ID (default: 0)
|
|
325
|
+
* @param other - 12-byte opaque data (default: zeros)
|
|
326
|
+
*/
|
|
126
327
|
Stateid(seqid = 0, other) {
|
|
127
328
|
return new structs.Nfsv4Stateid(seqid, other || new Uint8Array(12));
|
|
128
329
|
},
|
|
330
|
+
/**
|
|
331
|
+
* Create Nfsv4Fattr from attribute numbers (automatically converts to bitmap).
|
|
332
|
+
* @param attrNums - Array of attribute numbers (Nfsv4Attr enum values)
|
|
333
|
+
* @param attrVals - Encoded attribute values as byte array
|
|
334
|
+
*/
|
|
129
335
|
Fattr(attrNums, attrVals) {
|
|
130
336
|
const bitmap = new structs.Nfsv4Bitmap((0, attributes_1.attrNumsToBitmap)(attrNums));
|
|
131
337
|
return new structs.Nfsv4Fattr(bitmap, attrVals);
|
|
132
338
|
},
|
|
339
|
+
/**
|
|
340
|
+
* Create Nfsv4ClientId (client identifier).
|
|
341
|
+
* @param verifier - 8-byte verifier
|
|
342
|
+
* @param id - Variable-length client ID bytes
|
|
343
|
+
*/
|
|
133
344
|
ClientId(verifier, id) {
|
|
134
345
|
return new structs.Nfsv4ClientId(verifier, id);
|
|
135
346
|
},
|
|
347
|
+
/**
|
|
348
|
+
* Create Nfsv4CbClient (callback client information).
|
|
349
|
+
* @param cbProgram - Callback program number
|
|
350
|
+
* @param rNetid - Network ID string (e.g., 'tcp', 'udp')
|
|
351
|
+
* @param rAddr - Network address string (e.g., '127.0.0.1.8.1')
|
|
352
|
+
*/
|
|
136
353
|
CbClient(cbProgram, rNetid, rAddr) {
|
|
137
354
|
const cbLocation = new structs.Nfsv4ClientAddr(rNetid, rAddr);
|
|
138
355
|
return new structs.Nfsv4CbClient(cbProgram, cbLocation);
|
|
139
356
|
},
|
|
357
|
+
/**
|
|
358
|
+
* Create Nfsv4Bitmap from attribute numbers.
|
|
359
|
+
* @param attrNums - Array of attribute numbers (Nfsv4Attr enum values)
|
|
360
|
+
*/
|
|
140
361
|
Bitmap(attrNums) {
|
|
141
362
|
return new structs.Nfsv4Bitmap((0, attributes_1.attrNumsToBitmap)(attrNums));
|
|
142
363
|
},
|
|
364
|
+
/**
|
|
365
|
+
* Create Nfsv4CreateType for regular file creation.
|
|
366
|
+
*/
|
|
143
367
|
CreateTypeFile() {
|
|
144
|
-
return new structs.Nfsv4CreateType(1
|
|
368
|
+
return new structs.Nfsv4CreateType(1 /* Nfsv4FType.NF4REG */, new structs.Nfsv4CreateTypeVoid());
|
|
145
369
|
},
|
|
370
|
+
/**
|
|
371
|
+
* Create Nfsv4CreateType for directory creation.
|
|
372
|
+
*/
|
|
146
373
|
CreateTypeDir() {
|
|
147
|
-
return new structs.Nfsv4CreateType(2
|
|
374
|
+
return new structs.Nfsv4CreateType(2 /* Nfsv4FType.NF4DIR */, new structs.Nfsv4CreateTypeVoid());
|
|
148
375
|
},
|
|
376
|
+
/**
|
|
377
|
+
* Create Nfsv4OpenOwner (open owner identifier).
|
|
378
|
+
* @param clientid - Client ID
|
|
379
|
+
* @param owner - Owner bytes (unique identifier)
|
|
380
|
+
*/
|
|
149
381
|
OpenOwner(clientid, owner) {
|
|
150
382
|
return new structs.Nfsv4OpenOwner(clientid, owner);
|
|
151
383
|
},
|
|
384
|
+
/**
|
|
385
|
+
* Create Nfsv4OpenClaim for CLAIM_NULL (open by filename).
|
|
386
|
+
* @param filename - Name of file to open
|
|
387
|
+
*/
|
|
152
388
|
OpenClaimNull(filename) {
|
|
153
389
|
return new structs.Nfsv4OpenClaim(0, new structs.Nfsv4OpenClaimNull(filename));
|
|
154
390
|
},
|
|
391
|
+
/**
|
|
392
|
+
* Create Nfsv4OpenHow for OPEN4_NOCREATE (open existing file).
|
|
393
|
+
*/
|
|
155
394
|
OpenHowNoCreate() {
|
|
156
|
-
return new structs.Nfsv4OpenHow(0);
|
|
395
|
+
return new structs.Nfsv4OpenHow(0 /* Nfsv4OpenFlags.OPEN4_NOCREATE */);
|
|
157
396
|
},
|
|
397
|
+
/**
|
|
398
|
+
* Create Nfsv4OpenHow for OPEN4_CREATE with UNCHECKED4 mode.
|
|
399
|
+
* @param createattrs - Optional file attributes to set on create
|
|
400
|
+
*/
|
|
158
401
|
OpenHowCreateUnchecked(createattrs) {
|
|
159
402
|
const attrs = createattrs || new structs.Nfsv4Fattr(new structs.Nfsv4Bitmap([]), new Uint8Array(0));
|
|
160
|
-
const how = new structs.Nfsv4CreateHow(0
|
|
161
|
-
return new structs.Nfsv4OpenHow(1
|
|
403
|
+
const how = new structs.Nfsv4CreateHow(0 /* Nfsv4CreateMode.UNCHECKED4 */, new structs.Nfsv4CreateAttrs(attrs));
|
|
404
|
+
return new structs.Nfsv4OpenHow(1 /* Nfsv4OpenFlags.OPEN4_CREATE */, how);
|
|
162
405
|
},
|
|
406
|
+
/**
|
|
407
|
+
* Create Nfsv4OpenHow for OPEN4_CREATE with GUARDED4 mode.
|
|
408
|
+
* @param createattrs - Optional file attributes to set on create
|
|
409
|
+
*/
|
|
163
410
|
OpenHowCreateGuarded(createattrs) {
|
|
164
411
|
const attrs = createattrs || new structs.Nfsv4Fattr(new structs.Nfsv4Bitmap([]), new Uint8Array(0));
|
|
165
|
-
const how = new structs.Nfsv4CreateHow(1
|
|
166
|
-
return new structs.Nfsv4OpenHow(1
|
|
412
|
+
const how = new structs.Nfsv4CreateHow(1 /* Nfsv4CreateMode.GUARDED4 */, new structs.Nfsv4CreateAttrs(attrs));
|
|
413
|
+
return new structs.Nfsv4OpenHow(1 /* Nfsv4OpenFlags.OPEN4_CREATE */, how);
|
|
167
414
|
},
|
|
415
|
+
/**
|
|
416
|
+
* Create Nfsv4OpenHow for OPEN4_CREATE with EXCLUSIVE4 mode.
|
|
417
|
+
* @param verifier - 8-byte verifier for exclusive create
|
|
418
|
+
*/
|
|
168
419
|
OpenHowCreateExclusive(verifier) {
|
|
169
|
-
const how = new structs.Nfsv4CreateHow(2
|
|
170
|
-
return new structs.Nfsv4OpenHow(1
|
|
171
|
-
},
|
|
420
|
+
const how = new structs.Nfsv4CreateHow(2 /* Nfsv4CreateMode.EXCLUSIVE4 */, new structs.Nfsv4CreateVerf(verifier));
|
|
421
|
+
return new structs.Nfsv4OpenHow(1 /* Nfsv4OpenFlags.OPEN4_CREATE */, how);
|
|
422
|
+
},
|
|
423
|
+
/**
|
|
424
|
+
* Create Nfsv4LockOwner (lock owner identifier).
|
|
425
|
+
* @param clientid - Client ID
|
|
426
|
+
* @param owner - Owner bytes (unique identifier)
|
|
427
|
+
*/
|
|
172
428
|
LockOwner(clientid, owner) {
|
|
173
429
|
return new structs.Nfsv4LockOwner(clientid, owner);
|
|
174
430
|
},
|
|
431
|
+
/**
|
|
432
|
+
* Create Nfsv4LockOwnerInfo for new lock owner (open_to_lock_owner).
|
|
433
|
+
* @param openSeqid - Current open-owner seqid
|
|
434
|
+
* @param openStateid - Open stateid from OPEN operation
|
|
435
|
+
* @param lockSeqid - Initial lock-owner seqid (typically 0)
|
|
436
|
+
* @param lockOwner - Lock owner identifier
|
|
437
|
+
*/
|
|
175
438
|
NewLockOwner(openSeqid, openStateid, lockSeqid, lockOwner) {
|
|
176
439
|
const openToLockOwner = new structs.Nfsv4OpenToLockOwner(openSeqid, openStateid, lockSeqid, lockOwner);
|
|
177
440
|
return new structs.Nfsv4LockOwnerInfo(true, new structs.Nfsv4LockNewOwner(openToLockOwner));
|
|
178
441
|
},
|
|
442
|
+
/**
|
|
443
|
+
* Create Nfsv4LockOwnerInfo for existing lock owner.
|
|
444
|
+
* @param lockStateid - Lock stateid from previous LOCK operation
|
|
445
|
+
* @param lockSeqid - Lock-owner seqid
|
|
446
|
+
*/
|
|
179
447
|
ExistingLockOwner(lockStateid, lockSeqid) {
|
|
180
448
|
const owner = new structs.Nfsv4LockExistingOwner(lockStateid, lockSeqid);
|
|
181
449
|
return new structs.Nfsv4LockOwnerInfo(false, owner);
|
|
182
450
|
},
|
|
451
|
+
/**
|
|
452
|
+
* ILLEGAL - Illegal operation (for testing RFC 7530 §15.2.4 compliance).
|
|
453
|
+
* This operation is used to test server handling of illegal operation codes.
|
|
454
|
+
* Per RFC 7530, the server should respond with NFS4ERR_OP_ILLEGAL.
|
|
455
|
+
*/
|
|
183
456
|
ILLEGAL() {
|
|
184
457
|
return new msg.Nfsv4IllegalRequest();
|
|
185
458
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/nfs/v4/builder.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAC9C,wDAAkC;AAClC,2DAAqC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/nfs/v4/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type * as misc from 'memfs/lib/node/types/misc';
|
|
2
2
|
import type { Nfsv4Client } from './types';
|
|
3
|
-
import * as msg from '../messages';
|
|
3
|
+
import type * as msg from '../messages';
|
|
4
|
+
/**
|
|
5
|
+
* Implements Node.js-like Dir interface for NFS v4 directory iteration.
|
|
6
|
+
*/
|
|
4
7
|
export declare class NfsFsDir implements misc.IDir {
|
|
5
8
|
readonly path: string;
|
|
6
9
|
private readonly nfs;
|
|
@@ -5,6 +5,9 @@ const NfsFsDirent_1 = require("./NfsFsDirent");
|
|
|
5
5
|
const builder_1 = require("../builder");
|
|
6
6
|
const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
|
|
7
7
|
const XdrDecoder_1 = require("../../../xdr/XdrDecoder");
|
|
8
|
+
/**
|
|
9
|
+
* Implements Node.js-like Dir interface for NFS v4 directory iteration.
|
|
10
|
+
*/
|
|
8
11
|
class NfsFsDir {
|
|
9
12
|
constructor(path, nfs, operations) {
|
|
10
13
|
this.path = path;
|
|
@@ -17,7 +20,7 @@ class NfsFsDir {
|
|
|
17
20
|
async ensureLoaded() {
|
|
18
21
|
if (this.entries.length > 0 || this.closed)
|
|
19
22
|
return;
|
|
20
|
-
const attrNums = [1];
|
|
23
|
+
const attrNums = [1 /* Nfsv4Attr.FATTR4_TYPE */];
|
|
21
24
|
const attrMask = [];
|
|
22
25
|
for (const attrNum of attrNums) {
|
|
23
26
|
const wordIndex = Math.floor(attrNum / 32);
|
|
@@ -29,10 +32,10 @@ class NfsFsDir {
|
|
|
29
32
|
const operations = [...this.operations];
|
|
30
33
|
operations.push(builder_1.nfs.READDIR(attrMask));
|
|
31
34
|
const response = await this.nfs.compound(operations);
|
|
32
|
-
if (response.status !== 0)
|
|
35
|
+
if (response.status !== 0 /* Nfsv4Stat.NFS4_OK */)
|
|
33
36
|
throw new Error(`Failed to read directory: ${response.status}`);
|
|
34
37
|
const readdirRes = response.resarray[response.resarray.length - 1];
|
|
35
|
-
if (readdirRes.status !== 0 || !readdirRes.resok)
|
|
38
|
+
if (readdirRes.status !== 0 /* Nfsv4Stat.NFS4_OK */ || !readdirRes.resok)
|
|
36
39
|
throw new Error(`Failed to read directory: ${readdirRes.status}`);
|
|
37
40
|
const entryList = readdirRes.resok.entries;
|
|
38
41
|
for (let i = 0; i < entryList.length; i++) {
|
|
@@ -42,7 +45,7 @@ class NfsFsDir {
|
|
|
42
45
|
const reader = new Reader_1.Reader();
|
|
43
46
|
reader.reset(fattr.attrVals);
|
|
44
47
|
const xdr = new XdrDecoder_1.XdrDecoder(reader);
|
|
45
|
-
let fileType = 1
|
|
48
|
+
let fileType = 1 /* Nfsv4FType.NF4REG */;
|
|
46
49
|
const returnedMask = fattr.attrmask.mask;
|
|
47
50
|
for (let i = 0; i < returnedMask.length; i++) {
|
|
48
51
|
const word = returnedMask[i];
|
|
@@ -52,7 +55,7 @@ class NfsFsDir {
|
|
|
52
55
|
if (!(word & (1 << bit)))
|
|
53
56
|
continue;
|
|
54
57
|
const attrNum = i * 32 + bit;
|
|
55
|
-
if (attrNum === 1) {
|
|
58
|
+
if (attrNum === 1 /* Nfsv4Attr.FATTR4_TYPE */) {
|
|
56
59
|
fileType = xdr.readUnsignedInt();
|
|
57
60
|
}
|
|
58
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NfsFsDir.js","sourceRoot":"","sources":["../../../../src/nfs/v4/client/NfsFsDir.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,wCAA+B;AAG/B,4DAAuD;AACvD,wDAAmD;
|
|
1
|
+
{"version":3,"file":"NfsFsDir.js","sourceRoot":"","sources":["../../../../src/nfs/v4/client/NfsFsDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type * as misc from 'memfs/lib/node/types/misc';
|
|
2
2
|
import { Nfsv4FType } from '../constants';
|
|
3
|
+
/**
|
|
4
|
+
* Implements Node.js-like Dirent interface for NFS v4 directory entries.
|
|
5
|
+
*/
|
|
3
6
|
export declare class NfsFsDirent implements misc.IDirent {
|
|
4
7
|
name: string;
|
|
5
8
|
private type;
|
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NfsFsDirent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Implements Node.js-like Dirent interface for NFS v4 directory entries.
|
|
6
|
+
*/
|
|
4
7
|
class NfsFsDirent {
|
|
5
8
|
constructor(name, type) {
|
|
6
9
|
this.name = name;
|
|
7
10
|
this.type = type;
|
|
8
11
|
}
|
|
9
12
|
isDirectory() {
|
|
10
|
-
return this.type === 2
|
|
13
|
+
return this.type === 2 /* Nfsv4FType.NF4DIR */;
|
|
11
14
|
}
|
|
12
15
|
isFile() {
|
|
13
|
-
return this.type === 1
|
|
16
|
+
return this.type === 1 /* Nfsv4FType.NF4REG */;
|
|
14
17
|
}
|
|
15
18
|
isBlockDevice() {
|
|
16
|
-
return this.type === 3
|
|
19
|
+
return this.type === 3 /* Nfsv4FType.NF4BLK */;
|
|
17
20
|
}
|
|
18
21
|
isCharacterDevice() {
|
|
19
|
-
return this.type === 4
|
|
22
|
+
return this.type === 4 /* Nfsv4FType.NF4CHR */;
|
|
20
23
|
}
|
|
21
24
|
isSymbolicLink() {
|
|
22
|
-
return this.type === 5
|
|
25
|
+
return this.type === 5 /* Nfsv4FType.NF4LNK */;
|
|
23
26
|
}
|
|
24
27
|
isFIFO() {
|
|
25
|
-
return this.type === 7
|
|
28
|
+
return this.type === 7 /* Nfsv4FType.NF4FIFO */;
|
|
26
29
|
}
|
|
27
30
|
isSocket() {
|
|
28
|
-
return this.type === 6
|
|
31
|
+
return this.type === 6 /* Nfsv4FType.NF4SOCK */;
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
exports.NfsFsDirent = NfsFsDirent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NfsFsDirent.js","sourceRoot":"","sources":["../../../../src/nfs/v4/client/NfsFsDirent.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"NfsFsDirent.js","sourceRoot":"","sources":["../../../../src/nfs/v4/client/NfsFsDirent.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,WAAW;IACtB,YACS,IAAY,EACX,IAAgB;QADjB,SAAI,GAAJ,IAAI,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAY;IACvB,CAAC;IAEJ,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,8BAAsB,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,8BAAsB,CAAC;IACzC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,8BAAsB,CAAC;IACzC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,8BAAsB,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,8BAAsB,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,+BAAuB,CAAC;IAC1C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,+BAAuB,CAAC;IAC1C,CAAC;CACF;AAjCD,kCAiCC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { EventEmitter } from 'events';
|
|
4
|
-
import * as structs from '../structs';
|
|
2
|
+
import type * as structs from '../structs';
|
|
5
3
|
import type * as misc from 'memfs/lib/node/types/misc';
|
|
6
4
|
import type * as opts from 'memfs/lib/node/types/options';
|
|
7
5
|
import type { Nfsv4FsClient } from './Nfsv4FsClient';
|
|
6
|
+
/**
|
|
7
|
+
* Implements Node.js-like FileHandle interface for NFS v4 file operations.
|
|
8
|
+
*/
|
|
8
9
|
export declare class NfsFsFileHandle extends EventEmitter implements misc.IFileHandle {
|
|
9
10
|
readonly path: string;
|
|
10
11
|
private readonly client;
|