@jsonjoy.com/json-pack 1.16.0 → 1.18.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.
Files changed (57) hide show
  1. package/lib/nfs/v3/FullNfsv3Encoder.d.ts +28 -0
  2. package/lib/nfs/v3/FullNfsv3Encoder.js +73 -0
  3. package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -0
  4. package/lib/nfs/v3/Nfsv3Decoder.d.ts +78 -0
  5. package/lib/nfs/v3/Nfsv3Decoder.js +757 -0
  6. package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -0
  7. package/lib/nfs/v3/Nfsv3Encoder.d.ts +80 -0
  8. package/lib/nfs/v3/Nfsv3Encoder.js +669 -0
  9. package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -0
  10. package/lib/nfs/v3/constants.d.ts +115 -0
  11. package/lib/nfs/v3/constants.js +3 -0
  12. package/lib/nfs/v3/constants.js.map +1 -0
  13. package/lib/nfs/v3/errors.d.ts +6 -0
  14. package/lib/nfs/v3/errors.js +16 -0
  15. package/lib/nfs/v3/errors.js.map +1 -0
  16. package/lib/nfs/v3/index.d.ts +6 -0
  17. package/lib/nfs/v3/index.js +10 -0
  18. package/lib/nfs/v3/index.js.map +1 -0
  19. package/lib/nfs/v3/locks/NlmDecoder.d.ts +33 -0
  20. package/lib/nfs/v3/locks/NlmDecoder.js +209 -0
  21. package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -0
  22. package/lib/nfs/v3/locks/NlmEncoder.d.ts +35 -0
  23. package/lib/nfs/v3/locks/NlmEncoder.js +182 -0
  24. package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -0
  25. package/lib/nfs/v3/locks/constants.d.ts +39 -0
  26. package/lib/nfs/v3/locks/constants.js +3 -0
  27. package/lib/nfs/v3/locks/constants.js.map +1 -0
  28. package/lib/nfs/v3/locks/messages.d.ts +96 -0
  29. package/lib/nfs/v3/locks/messages.js +130 -0
  30. package/lib/nfs/v3/locks/messages.js.map +1 -0
  31. package/lib/nfs/v3/locks/structs.d.ts +31 -0
  32. package/lib/nfs/v3/locks/structs.js +42 -0
  33. package/lib/nfs/v3/locks/structs.js.map +1 -0
  34. package/lib/nfs/v3/messages.d.ts +460 -0
  35. package/lib/nfs/v3/messages.js +619 -0
  36. package/lib/nfs/v3/messages.js.map +1 -0
  37. package/lib/nfs/v3/mount/MountDecoder.d.ts +21 -0
  38. package/lib/nfs/v3/mount/MountDecoder.js +135 -0
  39. package/lib/nfs/v3/mount/MountDecoder.js.map +1 -0
  40. package/lib/nfs/v3/mount/MountEncoder.d.ts +23 -0
  41. package/lib/nfs/v3/mount/MountEncoder.js +125 -0
  42. package/lib/nfs/v3/mount/MountEncoder.js.map +1 -0
  43. package/lib/nfs/v3/mount/constants.d.ts +27 -0
  44. package/lib/nfs/v3/mount/constants.js +3 -0
  45. package/lib/nfs/v3/mount/constants.js.map +1 -0
  46. package/lib/nfs/v3/mount/messages.d.ts +37 -0
  47. package/lib/nfs/v3/mount/messages.js +51 -0
  48. package/lib/nfs/v3/mount/messages.js.map +1 -0
  49. package/lib/nfs/v3/mount/structs.d.ts +22 -0
  50. package/lib/nfs/v3/mount/structs.js +33 -0
  51. package/lib/nfs/v3/mount/structs.js.map +1 -0
  52. package/lib/nfs/v3/structs.d.ts +156 -0
  53. package/lib/nfs/v3/structs.js +210 -0
  54. package/lib/nfs/v3/structs.js.map +1 -0
  55. package/lib/rpc/errors.js +4 -4
  56. package/lib/rpc/errors.js.map +1 -1
  57. package/package.json +1 -1
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MountDecoder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Reader_1 = require("@jsonjoy.com/buffers/lib/Reader");
6
+ const XdrDecoder_1 = require("../../../xdr/XdrDecoder");
7
+ const errors_1 = require("../errors");
8
+ const msg = tslib_1.__importStar(require("./messages"));
9
+ const structs = tslib_1.__importStar(require("./structs"));
10
+ class MountDecoder {
11
+ constructor(reader = new Reader_1.Reader()) {
12
+ this.xdr = new XdrDecoder_1.XdrDecoder(reader);
13
+ }
14
+ decodeMessage(reader, proc, isRequest) {
15
+ this.xdr.reader = reader;
16
+ const startPos = reader.x;
17
+ try {
18
+ if (isRequest) {
19
+ return this.decodeRequest(proc);
20
+ }
21
+ else {
22
+ return this.decodeResponse(proc);
23
+ }
24
+ }
25
+ catch (err) {
26
+ if (err instanceof RangeError) {
27
+ reader.x = startPos;
28
+ return undefined;
29
+ }
30
+ throw err;
31
+ }
32
+ }
33
+ decodeRequest(proc) {
34
+ switch (proc) {
35
+ case 0:
36
+ return undefined;
37
+ case 1:
38
+ return this.decodeMntRequest();
39
+ case 2:
40
+ return new msg.MountDumpRequest();
41
+ case 3:
42
+ return this.decodeUmntRequest();
43
+ case 4:
44
+ return new msg.MountUmntallRequest();
45
+ case 5:
46
+ return new msg.MountExportRequest();
47
+ default:
48
+ throw new errors_1.Nfsv3DecodingError(`Unknown MOUNT procedure: ${proc}`);
49
+ }
50
+ }
51
+ decodeResponse(proc) {
52
+ switch (proc) {
53
+ case 0:
54
+ return undefined;
55
+ case 1:
56
+ return this.decodeMntResponse();
57
+ case 2:
58
+ return this.decodeDumpResponse();
59
+ case 3:
60
+ return undefined;
61
+ case 4:
62
+ return undefined;
63
+ case 5:
64
+ return this.decodeExportResponse();
65
+ default:
66
+ throw new errors_1.Nfsv3DecodingError(`Unknown MOUNT procedure: ${proc}`);
67
+ }
68
+ }
69
+ readFhandle3() {
70
+ const data = this.xdr.readVarlenOpaque();
71
+ return new structs.MountFhandle3(new Reader_1.Reader(data));
72
+ }
73
+ readDirpath() {
74
+ return this.xdr.readString();
75
+ }
76
+ readMountBody() {
77
+ const valueFollows = this.xdr.readBoolean();
78
+ if (!valueFollows)
79
+ return undefined;
80
+ const hostname = this.xdr.readString();
81
+ const directory = this.readDirpath();
82
+ const next = this.readMountBody();
83
+ return new structs.MountBody(hostname, directory, next);
84
+ }
85
+ readGroupNode() {
86
+ const valueFollows = this.xdr.readBoolean();
87
+ if (!valueFollows)
88
+ return undefined;
89
+ const name = this.xdr.readString();
90
+ const next = this.readGroupNode();
91
+ return new structs.MountGroupNode(name, next);
92
+ }
93
+ readExportNode() {
94
+ const valueFollows = this.xdr.readBoolean();
95
+ if (!valueFollows)
96
+ return undefined;
97
+ const dir = this.readDirpath();
98
+ const groups = this.readGroupNode();
99
+ const next = this.readExportNode();
100
+ return new structs.MountExportNode(dir, groups, next);
101
+ }
102
+ decodeMntRequest() {
103
+ const dirpath = this.readDirpath();
104
+ return new msg.MountMntRequest(dirpath);
105
+ }
106
+ decodeMntResponse() {
107
+ const xdr = this.xdr;
108
+ const status = xdr.readUnsignedInt();
109
+ if (status !== 0) {
110
+ return new msg.MountMntResponse(status);
111
+ }
112
+ const fhandle = this.readFhandle3();
113
+ const authFlavorsCount = xdr.readUnsignedInt();
114
+ const authFlavors = [];
115
+ for (let i = 0; i < authFlavorsCount; i++) {
116
+ authFlavors.push(xdr.readUnsignedInt());
117
+ }
118
+ const mountinfo = new msg.MountMntResOk(fhandle, authFlavors);
119
+ return new msg.MountMntResponse(status, mountinfo);
120
+ }
121
+ decodeDumpResponse() {
122
+ const mountlist = this.readMountBody();
123
+ return new msg.MountDumpResponse(mountlist);
124
+ }
125
+ decodeUmntRequest() {
126
+ const dirpath = this.readDirpath();
127
+ return new msg.MountUmntRequest(dirpath);
128
+ }
129
+ decodeExportResponse() {
130
+ const exports = this.readExportNode();
131
+ return new msg.MountExportResponse(exports);
132
+ }
133
+ }
134
+ exports.MountDecoder = MountDecoder;
135
+ //# sourceMappingURL=MountDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MountDecoder.js","sourceRoot":"","sources":["../../../../src/nfs/v3/mount/MountDecoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { XdrEncoder } from '../../../xdr/XdrEncoder';
2
+ import { MountProc } from './constants';
3
+ import * as msg from './messages';
4
+ import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
5
+ export declare class MountEncoder<W extends IWriter & IWriterGrowable = IWriter & IWriterGrowable> {
6
+ readonly writer: W;
7
+ protected readonly xdr: XdrEncoder;
8
+ constructor(writer?: W);
9
+ encodeMessage(message: msg.MountMessage, proc: MountProc, isRequest: boolean): Uint8Array;
10
+ writeMessage(message: msg.MountMessage, proc: MountProc, isRequest: boolean): void;
11
+ private writeRequest;
12
+ private writeResponse;
13
+ private writeFhandle3;
14
+ private writeDirpath;
15
+ private writeMountBody;
16
+ private writeGroupNode;
17
+ private writeExportNode;
18
+ private writeMntRequest;
19
+ private writeMntResponse;
20
+ private writeDumpResponse;
21
+ private writeUmntRequest;
22
+ private writeExportResponse;
23
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MountEncoder = void 0;
4
+ const Writer_1 = require("@jsonjoy.com/util/lib/buffers/Writer");
5
+ const XdrEncoder_1 = require("../../../xdr/XdrEncoder");
6
+ const errors_1 = require("../errors");
7
+ class MountEncoder {
8
+ constructor(writer = new Writer_1.Writer()) {
9
+ this.writer = writer;
10
+ this.xdr = new XdrEncoder_1.XdrEncoder(writer);
11
+ }
12
+ encodeMessage(message, proc, isRequest) {
13
+ if (isRequest)
14
+ this.writeRequest(message, proc);
15
+ else
16
+ this.writeResponse(message, proc);
17
+ return this.writer.flush();
18
+ }
19
+ writeMessage(message, proc, isRequest) {
20
+ if (isRequest)
21
+ this.writeRequest(message, proc);
22
+ else
23
+ this.writeResponse(message, proc);
24
+ }
25
+ writeRequest(request, proc) {
26
+ switch (proc) {
27
+ case 0:
28
+ return;
29
+ case 1:
30
+ return this.writeMntRequest(request);
31
+ case 2:
32
+ return;
33
+ case 3:
34
+ return this.writeUmntRequest(request);
35
+ case 4:
36
+ return;
37
+ case 5:
38
+ return;
39
+ default:
40
+ throw new errors_1.Nfsv3EncodingError(`Unknown MOUNT procedure: ${proc}`);
41
+ }
42
+ }
43
+ writeResponse(response, proc) {
44
+ switch (proc) {
45
+ case 0:
46
+ return;
47
+ case 1:
48
+ return this.writeMntResponse(response);
49
+ case 2:
50
+ return this.writeDumpResponse(response);
51
+ case 3:
52
+ return;
53
+ case 4:
54
+ return;
55
+ case 5:
56
+ return this.writeExportResponse(response);
57
+ default:
58
+ throw new errors_1.Nfsv3EncodingError(`Unknown MOUNT procedure: ${proc}`);
59
+ }
60
+ }
61
+ writeFhandle3(fh) {
62
+ const data = fh.data.uint8;
63
+ this.xdr.writeVarlenOpaque(data);
64
+ }
65
+ writeDirpath(path) {
66
+ this.xdr.writeStr(path);
67
+ }
68
+ writeMountBody(body) {
69
+ const xdr = this.xdr;
70
+ if (!body) {
71
+ xdr.writeBoolean(false);
72
+ return;
73
+ }
74
+ xdr.writeBoolean(true);
75
+ xdr.writeStr(body.hostname);
76
+ this.writeDirpath(body.directory);
77
+ this.writeMountBody(body.next);
78
+ }
79
+ writeGroupNode(group) {
80
+ const xdr = this.xdr;
81
+ if (!group) {
82
+ xdr.writeBoolean(false);
83
+ return;
84
+ }
85
+ xdr.writeBoolean(true);
86
+ xdr.writeStr(group.name);
87
+ this.writeGroupNode(group.next);
88
+ }
89
+ writeExportNode(exportNode) {
90
+ const xdr = this.xdr;
91
+ if (!exportNode) {
92
+ xdr.writeBoolean(false);
93
+ return;
94
+ }
95
+ xdr.writeBoolean(true);
96
+ this.writeDirpath(exportNode.dir);
97
+ this.writeGroupNode(exportNode.groups);
98
+ this.writeExportNode(exportNode.next);
99
+ }
100
+ writeMntRequest(req) {
101
+ this.writeDirpath(req.dirpath);
102
+ }
103
+ writeMntResponse(res) {
104
+ const xdr = this.xdr;
105
+ xdr.writeUnsignedInt(res.status);
106
+ if (res.status === 0 && res.mountinfo) {
107
+ this.writeFhandle3(res.mountinfo.fhandle);
108
+ xdr.writeUnsignedInt(res.mountinfo.authFlavors.length);
109
+ for (const flavor of res.mountinfo.authFlavors) {
110
+ xdr.writeUnsignedInt(flavor);
111
+ }
112
+ }
113
+ }
114
+ writeDumpResponse(res) {
115
+ this.writeMountBody(res.mountlist);
116
+ }
117
+ writeUmntRequest(req) {
118
+ this.writeDirpath(req.dirpath);
119
+ }
120
+ writeExportResponse(res) {
121
+ this.writeExportNode(res.exports);
122
+ }
123
+ }
124
+ exports.MountEncoder = MountEncoder;
125
+ //# sourceMappingURL=MountEncoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MountEncoder.js","sourceRoot":"","sources":["../../../../src/nfs/v3/mount/MountEncoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare const enum MountConst {
2
+ PROGRAM = 100005,
3
+ VERSION = 3,
4
+ MNTPATHLEN = 1024,
5
+ MNTNAMLEN = 255,
6
+ FHSIZE3 = 64
7
+ }
8
+ export declare const enum MountProc {
9
+ NULL = 0,
10
+ MNT = 1,
11
+ DUMP = 2,
12
+ UMNT = 3,
13
+ UMNTALL = 4,
14
+ EXPORT = 5
15
+ }
16
+ export declare const enum MountStat {
17
+ MNT3_OK = 0,
18
+ MNT3ERR_PERM = 1,
19
+ MNT3ERR_NOENT = 2,
20
+ MNT3ERR_IO = 5,
21
+ MNT3ERR_ACCES = 13,
22
+ MNT3ERR_NOTDIR = 20,
23
+ MNT3ERR_INVAL = 22,
24
+ MNT3ERR_NAMETOOLONG = 63,
25
+ MNT3ERR_NOTSUPP = 10004,
26
+ MNT3ERR_SERVERFAULT = 10006
27
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/nfs/v3/mount/constants.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { MountStat } from './constants';
2
+ import type * as stucts from './structs';
3
+ export type MountMessage = MountRequest | MountResponse;
4
+ export type MountRequest = MountMntRequest | MountUmntRequest | MountDumpRequest | MountUmntallRequest | MountExportRequest;
5
+ export type MountResponse = MountMntResponse | MountDumpResponse | MountExportResponse;
6
+ export declare class MountMntRequest {
7
+ readonly dirpath: string;
8
+ constructor(dirpath: string);
9
+ }
10
+ export declare class MountMntResOk {
11
+ readonly fhandle: stucts.MountFhandle3;
12
+ readonly authFlavors: number[];
13
+ constructor(fhandle: stucts.MountFhandle3, authFlavors: number[]);
14
+ }
15
+ export declare class MountMntResponse {
16
+ readonly status: MountStat;
17
+ readonly mountinfo?: MountMntResOk | undefined;
18
+ constructor(status: MountStat, mountinfo?: MountMntResOk | undefined);
19
+ }
20
+ export declare class MountDumpRequest {
21
+ }
22
+ export declare class MountDumpResponse {
23
+ readonly mountlist?: stucts.MountBody | undefined;
24
+ constructor(mountlist?: stucts.MountBody | undefined);
25
+ }
26
+ export declare class MountUmntRequest {
27
+ readonly dirpath: string;
28
+ constructor(dirpath: string);
29
+ }
30
+ export declare class MountUmntallRequest {
31
+ }
32
+ export declare class MountExportRequest {
33
+ }
34
+ export declare class MountExportResponse {
35
+ readonly exports?: stucts.MountExportNode | undefined;
36
+ constructor(exports?: stucts.MountExportNode | undefined);
37
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MountExportResponse = exports.MountExportRequest = exports.MountUmntallRequest = exports.MountUmntRequest = exports.MountDumpResponse = exports.MountDumpRequest = exports.MountMntResponse = exports.MountMntResOk = exports.MountMntRequest = void 0;
4
+ class MountMntRequest {
5
+ constructor(dirpath) {
6
+ this.dirpath = dirpath;
7
+ }
8
+ }
9
+ exports.MountMntRequest = MountMntRequest;
10
+ class MountMntResOk {
11
+ constructor(fhandle, authFlavors) {
12
+ this.fhandle = fhandle;
13
+ this.authFlavors = authFlavors;
14
+ }
15
+ }
16
+ exports.MountMntResOk = MountMntResOk;
17
+ class MountMntResponse {
18
+ constructor(status, mountinfo) {
19
+ this.status = status;
20
+ this.mountinfo = mountinfo;
21
+ }
22
+ }
23
+ exports.MountMntResponse = MountMntResponse;
24
+ class MountDumpRequest {
25
+ }
26
+ exports.MountDumpRequest = MountDumpRequest;
27
+ class MountDumpResponse {
28
+ constructor(mountlist) {
29
+ this.mountlist = mountlist;
30
+ }
31
+ }
32
+ exports.MountDumpResponse = MountDumpResponse;
33
+ class MountUmntRequest {
34
+ constructor(dirpath) {
35
+ this.dirpath = dirpath;
36
+ }
37
+ }
38
+ exports.MountUmntRequest = MountUmntRequest;
39
+ class MountUmntallRequest {
40
+ }
41
+ exports.MountUmntallRequest = MountUmntallRequest;
42
+ class MountExportRequest {
43
+ }
44
+ exports.MountExportRequest = MountExportRequest;
45
+ class MountExportResponse {
46
+ constructor(exports) {
47
+ this.exports = exports;
48
+ }
49
+ }
50
+ exports.MountExportResponse = MountExportResponse;
51
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/nfs/v3/mount/messages.ts"],"names":[],"mappings":";;;AAqBA,MAAa,eAAe;IAC1B,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAChD;AAFD,0CAEC;AAKD,MAAa,aAAa;IACxB,YACkB,OAA6B,EAC7B,WAAqB;QADrB,YAAO,GAAP,OAAO,CAAsB;QAC7B,gBAAW,GAAX,WAAW,CAAU;IACpC,CAAC;CACL;AALD,sCAKC;AAKD,MAAa,gBAAgB;IAC3B,YACkB,MAAiB,EACjB,SAAyB;QADzB,WAAM,GAAN,MAAM,CAAW;QACjB,cAAS,GAAT,SAAS,CAAgB;IACxC,CAAC;CACL;AALD,4CAKC;AAKD,MAAa,gBAAgB;CAAG;AAAhC,4CAAgC;AAKhC,MAAa,iBAAiB;IAC5B,YAA4B,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;CAC7D;AAFD,8CAEC;AAKD,MAAa,gBAAgB;IAC3B,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAChD;AAFD,4CAEC;AAKD,MAAa,mBAAmB;CAAG;AAAnC,kDAAmC;AAKnC,MAAa,kBAAkB;CAAG;AAAlC,gDAAkC;AAKlC,MAAa,mBAAmB;IAC9B,YAA4B,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAAG,CAAC;CACjE;AAFD,kDAEC"}
@@ -0,0 +1,22 @@
1
+ import type { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
+ export declare class MountFhandle3 {
3
+ readonly data: Reader;
4
+ constructor(data: Reader);
5
+ }
6
+ export declare class MountBody {
7
+ readonly hostname: string;
8
+ readonly directory: string;
9
+ readonly next?: MountBody | undefined;
10
+ constructor(hostname: string, directory: string, next?: MountBody | undefined);
11
+ }
12
+ export declare class MountGroupNode {
13
+ readonly name: string;
14
+ readonly next?: MountGroupNode | undefined;
15
+ constructor(name: string, next?: MountGroupNode | undefined);
16
+ }
17
+ export declare class MountExportNode {
18
+ readonly dir: string;
19
+ readonly groups?: MountGroupNode | undefined;
20
+ readonly next?: MountExportNode | undefined;
21
+ constructor(dir: string, groups?: MountGroupNode | undefined, next?: MountExportNode | undefined);
22
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MountExportNode = exports.MountGroupNode = exports.MountBody = exports.MountFhandle3 = void 0;
4
+ class MountFhandle3 {
5
+ constructor(data) {
6
+ this.data = data;
7
+ }
8
+ }
9
+ exports.MountFhandle3 = MountFhandle3;
10
+ class MountBody {
11
+ constructor(hostname, directory, next) {
12
+ this.hostname = hostname;
13
+ this.directory = directory;
14
+ this.next = next;
15
+ }
16
+ }
17
+ exports.MountBody = MountBody;
18
+ class MountGroupNode {
19
+ constructor(name, next) {
20
+ this.name = name;
21
+ this.next = next;
22
+ }
23
+ }
24
+ exports.MountGroupNode = MountGroupNode;
25
+ class MountExportNode {
26
+ constructor(dir, groups, next) {
27
+ this.dir = dir;
28
+ this.groups = groups;
29
+ this.next = next;
30
+ }
31
+ }
32
+ exports.MountExportNode = MountExportNode;
33
+ //# sourceMappingURL=structs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../src/nfs/v3/mount/structs.ts"],"names":[],"mappings":";;;AASA,MAAa,aAAa;IACxB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AAFD,sCAEC;AAKD,MAAa,SAAS;IACpB,YACkB,QAAgB,EAChB,SAAiB,EACjB,IAAgB;QAFhB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAY;IAC/B,CAAC;CACL;AAND,8BAMC;AAKD,MAAa,cAAc;IACzB,YACkB,IAAY,EACZ,IAAqB;QADrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAiB;IACpC,CAAC;CACL;AALD,wCAKC;AAKD,MAAa,eAAe;IAC1B,YACkB,GAAW,EACX,MAAuB,EACvB,IAAsB;QAFtB,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAiB;QACvB,SAAI,GAAJ,IAAI,CAAkB;IACrC,CAAC;CACL;AAND,0CAMC"}
@@ -0,0 +1,156 @@
1
+ import type { Reader } from '@jsonjoy.com/buffers/lib/Reader';
2
+ import type { Nfsv3FType, Nfsv3TimeHow, Nfsv3StableHow, Nfsv3CreateMode } from './constants';
3
+ export declare class Nfsv3Time {
4
+ readonly seconds: number;
5
+ readonly nseconds: number;
6
+ constructor(seconds: number, nseconds: number);
7
+ }
8
+ export declare class Nfsv3SpecData {
9
+ readonly specdata1: number;
10
+ readonly specdata2: number;
11
+ constructor(specdata1: number, specdata2: number);
12
+ }
13
+ export declare class Nfsv3Fh {
14
+ readonly data: Reader;
15
+ constructor(data: Reader);
16
+ }
17
+ export declare class Nfsv3SetMode {
18
+ readonly set: boolean;
19
+ readonly mode?: number | undefined;
20
+ constructor(set: boolean, mode?: number | undefined);
21
+ }
22
+ export declare class Nfsv3SetUid {
23
+ readonly set: boolean;
24
+ readonly uid?: number | undefined;
25
+ constructor(set: boolean, uid?: number | undefined);
26
+ }
27
+ export declare class Nfsv3SetGid {
28
+ readonly set: boolean;
29
+ readonly gid?: number | undefined;
30
+ constructor(set: boolean, gid?: number | undefined);
31
+ }
32
+ export declare class Nfsv3SetSize {
33
+ readonly set: boolean;
34
+ readonly size?: bigint | undefined;
35
+ constructor(set: boolean, size?: bigint | undefined);
36
+ }
37
+ export declare class Nfsv3SetAtime {
38
+ readonly how: Nfsv3TimeHow;
39
+ readonly atime?: Nfsv3Time | undefined;
40
+ constructor(how: Nfsv3TimeHow, atime?: Nfsv3Time | undefined);
41
+ }
42
+ export declare class Nfsv3SetMtime {
43
+ readonly how: Nfsv3TimeHow;
44
+ readonly mtime?: Nfsv3Time | undefined;
45
+ constructor(how: Nfsv3TimeHow, mtime?: Nfsv3Time | undefined);
46
+ }
47
+ export declare class Nfsv3Sattr {
48
+ readonly mode: Nfsv3SetMode;
49
+ readonly uid: Nfsv3SetUid;
50
+ readonly gid: Nfsv3SetGid;
51
+ readonly size: Nfsv3SetSize;
52
+ readonly atime: Nfsv3SetAtime;
53
+ readonly mtime: Nfsv3SetMtime;
54
+ constructor(mode: Nfsv3SetMode, uid: Nfsv3SetUid, gid: Nfsv3SetGid, size: Nfsv3SetSize, atime: Nfsv3SetAtime, mtime: Nfsv3SetMtime);
55
+ }
56
+ export declare class Nfsv3SattrGuard {
57
+ readonly check: boolean;
58
+ readonly objCtime?: Nfsv3Time | undefined;
59
+ constructor(check: boolean, objCtime?: Nfsv3Time | undefined);
60
+ }
61
+ export declare class Nfsv3DirOpArgs {
62
+ readonly dir: Nfsv3Fh;
63
+ readonly name: string;
64
+ constructor(dir: Nfsv3Fh, name: string);
65
+ }
66
+ export declare class Nfsv3WccAttr {
67
+ readonly size: bigint;
68
+ readonly mtime: Nfsv3Time;
69
+ readonly ctime: Nfsv3Time;
70
+ constructor(size: bigint, mtime: Nfsv3Time, ctime: Nfsv3Time);
71
+ }
72
+ export declare class Nfsv3PreOpAttr {
73
+ readonly attributesFollow: boolean;
74
+ readonly attributes?: Nfsv3WccAttr | undefined;
75
+ constructor(attributesFollow: boolean, attributes?: Nfsv3WccAttr | undefined);
76
+ }
77
+ export declare class Nfsv3PostOpAttr {
78
+ readonly attributesFollow: boolean;
79
+ readonly attributes?: Nfsv3Fattr | undefined;
80
+ constructor(attributesFollow: boolean, attributes?: Nfsv3Fattr | undefined);
81
+ }
82
+ export declare class Nfsv3PostOpFh {
83
+ readonly handleFollows: boolean;
84
+ readonly handle?: Nfsv3Fh | undefined;
85
+ constructor(handleFollows: boolean, handle?: Nfsv3Fh | undefined);
86
+ }
87
+ export declare class Nfsv3WccData {
88
+ readonly before: Nfsv3PreOpAttr;
89
+ readonly after: Nfsv3PostOpAttr;
90
+ constructor(before: Nfsv3PreOpAttr, after: Nfsv3PostOpAttr);
91
+ }
92
+ export declare class Nfsv3Fattr {
93
+ readonly type: Nfsv3FType;
94
+ readonly mode: number;
95
+ readonly nlink: number;
96
+ readonly uid: number;
97
+ readonly gid: number;
98
+ readonly size: bigint;
99
+ readonly used: bigint;
100
+ readonly rdev: Nfsv3SpecData;
101
+ readonly fsid: bigint;
102
+ readonly fileid: bigint;
103
+ readonly atime: Nfsv3Time;
104
+ readonly mtime: Nfsv3Time;
105
+ readonly ctime: Nfsv3Time;
106
+ constructor(type: Nfsv3FType, mode: number, nlink: number, uid: number, gid: number, size: bigint, used: bigint, rdev: Nfsv3SpecData, fsid: bigint, fileid: bigint, atime: Nfsv3Time, mtime: Nfsv3Time, ctime: Nfsv3Time);
107
+ }
108
+ export declare class Nfsv3DeviceData {
109
+ readonly devAttributes: Nfsv3Sattr;
110
+ readonly spec: Nfsv3SpecData;
111
+ constructor(devAttributes: Nfsv3Sattr, spec: Nfsv3SpecData);
112
+ }
113
+ export declare class Nfsv3MknodData {
114
+ readonly type: Nfsv3FType;
115
+ readonly chr?: Nfsv3DeviceData | undefined;
116
+ readonly blk?: Nfsv3DeviceData | undefined;
117
+ readonly sock?: Nfsv3Sattr | undefined;
118
+ readonly pipe?: Nfsv3Sattr | undefined;
119
+ constructor(type: Nfsv3FType, chr?: Nfsv3DeviceData | undefined, blk?: Nfsv3DeviceData | undefined, sock?: Nfsv3Sattr | undefined, pipe?: Nfsv3Sattr | undefined);
120
+ }
121
+ export declare class Nfsv3CreateHow {
122
+ readonly mode: Nfsv3CreateMode;
123
+ readonly objAttributes?: Nfsv3Sattr | undefined;
124
+ readonly verf?: Reader | undefined;
125
+ constructor(mode: Nfsv3CreateMode, objAttributes?: Nfsv3Sattr | undefined, verf?: Reader | undefined);
126
+ }
127
+ export declare class Nfsv3WriteHow {
128
+ readonly stable: Nfsv3StableHow;
129
+ constructor(stable: Nfsv3StableHow);
130
+ }
131
+ export declare class Nfsv3Entry {
132
+ readonly fileid: bigint;
133
+ readonly name: string;
134
+ readonly cookie: bigint;
135
+ readonly nextentry?: Nfsv3Entry | undefined;
136
+ constructor(fileid: bigint, name: string, cookie: bigint, nextentry?: Nfsv3Entry | undefined);
137
+ }
138
+ export declare class Nfsv3EntryPlus {
139
+ readonly fileid: bigint;
140
+ readonly name: string;
141
+ readonly cookie: bigint;
142
+ readonly nameAttributes: Nfsv3PostOpAttr;
143
+ readonly nameHandle: Nfsv3PostOpFh;
144
+ readonly nextentry?: Nfsv3EntryPlus | undefined;
145
+ constructor(fileid: bigint, name: string, cookie: bigint, nameAttributes: Nfsv3PostOpAttr, nameHandle: Nfsv3PostOpFh, nextentry?: Nfsv3EntryPlus | undefined);
146
+ }
147
+ export declare class Nfsv3DirList {
148
+ readonly eof: boolean;
149
+ readonly entries?: Nfsv3Entry | undefined;
150
+ constructor(eof: boolean, entries?: Nfsv3Entry | undefined);
151
+ }
152
+ export declare class Nfsv3DirListPlus {
153
+ readonly eof: boolean;
154
+ readonly entries?: Nfsv3EntryPlus | undefined;
155
+ constructor(eof: boolean, entries?: Nfsv3EntryPlus | undefined);
156
+ }