@k13engineering/linux-fuse 0.0.7 → 0.1.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/dist/lib/abi.js CHANGED
@@ -31,7 +31,7 @@ import {
31
31
  gid: bigint;
32
32
  rdev: bigint;
33
33
  blksize: bigint;
34
- padding: bigint;
34
+ flags: bigint;
35
35
  };*/
36
36
 
37
37
  /*type TFuseKstatfsValue = {
@@ -419,652 +419,746 @@ import {
419
419
  stat: TFuseStatxValue;
420
420
  };*/
421
421
 
422
+ const fuseInHeaderDefinition = {
423
+ type: "struct",
424
+ packed: false,
425
+ fixedAbi: {},
426
+ fields: [
427
+ { name: "len", definition: types.UInt32 },
428
+ { name: "opcode", definition: types.UInt32 },
429
+ { name: "unique", definition: types.UInt64 },
430
+ { name: "nodeid", definition: types.UInt64 },
431
+ { name: "uid", definition: types.UInt32 },
432
+ { name: "gid", definition: types.UInt32 },
433
+ { name: "pid", definition: types.UInt32 },
434
+ { name: "total_extlen", definition: types.UInt16 },
435
+ { name: "padding", definition: types.UInt16 },
436
+ ],
437
+ } /*as const*/;
438
+
422
439
  const fuseInHeaderParser/*: TStructParser<TFuseInHeaderValue>*/ = define({
423
- definition: {
424
- type: "struct",
425
- packed: false,
426
- fixedAbi: {},
427
- fields: [
428
- { name: "len", definition: types.UInt32 },
429
- { name: "opcode", definition: types.UInt32 },
430
- { name: "unique", definition: types.UInt64 },
431
- { name: "nodeid", definition: types.UInt64 },
432
- { name: "uid", definition: types.UInt32 },
433
- { name: "gid", definition: types.UInt32 },
434
- { name: "pid", definition: types.UInt32 },
435
- { name: "total_extlen", definition: types.UInt16 },
436
- { name: "padding", definition: types.UInt16 },
437
- ],
438
- },
440
+ definition: fuseInHeaderDefinition,
439
441
  }).parser({ abi });
440
442
 
443
+ const fuseOutHeaderDefinition = {
444
+ type: "struct",
445
+ packed: false,
446
+ fixedAbi: {},
447
+ fields: [
448
+ { name: "len", definition: types.UInt32 },
449
+ { name: "error", definition: types.Int32 },
450
+ { name: "unique", definition: types.UInt64 },
451
+ ],
452
+ } /*as const*/;
453
+
441
454
  const fuseOutHeaderParser/*: TStructParser<TFuseOutHeaderValue>*/ = define({
442
- definition: {
443
- type: "struct",
444
- packed: false,
445
- fixedAbi: {},
446
- fields: [
447
- { name: "len", definition: types.UInt32 },
448
- { name: "error", definition: types.Int32 },
449
- { name: "unique", definition: types.UInt64 },
450
- ],
451
- },
455
+ definition: fuseOutHeaderDefinition,
452
456
  }).parser({ abi });
453
457
 
458
+ const fuseEntryOutDefinition = {
459
+ type: "struct",
460
+ packed: false,
461
+ fixedAbi: {},
462
+ fields: [
463
+ { name: "nodeid", definition: types.UInt64 },
464
+ { name: "generation", definition: types.UInt64 },
465
+ { name: "entry_valid", definition: types.UInt64 },
466
+ { name: "attr_valid", definition: types.UInt64 },
467
+ { name: "entry_valid_nsec", definition: types.UInt32 },
468
+ { name: "attr_valid_nsec", definition: types.UInt32 },
469
+ { name: "attr", definition: fuseAttrDefinition },
470
+ ],
471
+ } /*as const*/;
472
+
454
473
  const fuseEntryOutParser/*: TStructParser<TFuseEntryOutValue>*/ = define({
455
- definition: {
456
- type: "struct",
457
- packed: false,
458
- fixedAbi: {},
459
- fields: [
460
- { name: "nodeid", definition: types.UInt64 },
461
- { name: "generation", definition: types.UInt64 },
462
- { name: "entry_valid", definition: types.UInt64 },
463
- { name: "attr_valid", definition: types.UInt64 },
464
- { name: "entry_valid_nsec", definition: types.UInt32 },
465
- { name: "attr_valid_nsec", definition: types.UInt32 },
466
- { name: "attr", definition: fuseAttrDefinition },
467
- ],
468
- },
474
+ definition: fuseEntryOutDefinition,
469
475
  }).parser({ abi });
470
476
 
477
+ const fuseGetattrInDefinition = {
478
+ type: "struct",
479
+ packed: false,
480
+ fixedAbi: {},
481
+ fields: [
482
+ { name: "getattr_flags", definition: types.UInt32 },
483
+ { name: "dummy", definition: types.UInt32 },
484
+ { name: "fh", definition: types.UInt64 },
485
+ ],
486
+ } /*as const*/;
487
+
471
488
  const fuseGetattrInParser/*: TStructParser<TFuseGetattrInValue>*/ = define({
472
- definition: {
473
- type: "struct",
474
- packed: false,
475
- fixedAbi: {},
476
- fields: [
477
- { name: "getattr_flags", definition: types.UInt32 },
478
- { name: "dummy", definition: types.UInt32 },
479
- { name: "fh", definition: types.UInt64 },
480
- ],
481
- },
489
+ definition: fuseGetattrInDefinition,
482
490
  }).parser({ abi });
483
491
 
492
+ const fuseAttrOutDefinition = {
493
+ type: "struct",
494
+ packed: false,
495
+ fixedAbi: {},
496
+ fields: [
497
+ { name: "attr_valid", definition: types.UInt64 },
498
+ { name: "attr_valid_nsec", definition: types.UInt32 },
499
+ { name: "dummy", definition: types.UInt32 },
500
+ { name: "attr", definition: fuseAttrDefinition },
501
+ ],
502
+ } /*as const*/;
503
+
484
504
  const fuseAttrOutParser/*: TStructParser<TFuseAttrOutValue>*/ = define({
485
- definition: {
486
- type: "struct",
487
- packed: false,
488
- fixedAbi: {},
489
- fields: [
490
- { name: "attr_valid", definition: types.UInt64 },
491
- { name: "attr_valid_nsec", definition: types.UInt32 },
492
- { name: "dummy", definition: types.UInt32 },
493
- { name: "attr", definition: fuseAttrDefinition },
494
- ],
495
- },
505
+ definition: fuseAttrOutDefinition,
496
506
  }).parser({ abi });
497
507
 
508
+ const fuseSetattrInDefinition = {
509
+ type: "struct",
510
+ packed: false,
511
+ fixedAbi: {},
512
+ fields: [
513
+ { name: "valid", definition: types.UInt32 },
514
+ { name: "padding", definition: types.UInt32 },
515
+ { name: "fh", definition: types.UInt64 },
516
+ { name: "size", definition: types.UInt64 },
517
+ { name: "lock_owner", definition: types.UInt64 },
518
+ { name: "atime", definition: types.UInt64 },
519
+ { name: "mtime", definition: types.UInt64 },
520
+ { name: "ctime", definition: types.UInt64 },
521
+ { name: "atimensec", definition: types.UInt32 },
522
+ { name: "mtimensec", definition: types.UInt32 },
523
+ { name: "ctimensec", definition: types.UInt32 },
524
+ { name: "mode", definition: types.UInt32 },
525
+ { name: "unused4", definition: types.UInt32 },
526
+ { name: "uid", definition: types.UInt32 },
527
+ { name: "gid", definition: types.UInt32 },
528
+ { name: "unused5", definition: types.UInt32 },
529
+ ],
530
+ } /*as const*/;
531
+
498
532
  const fuseSetattrInParser/*: TStructParser<TFuseSetattrInValue>*/ = define({
499
- definition: {
500
- type: "struct",
501
- packed: false,
502
- fixedAbi: {},
503
- fields: [
504
- { name: "valid", definition: types.UInt32 },
505
- { name: "padding", definition: types.UInt32 },
506
- { name: "fh", definition: types.UInt64 },
507
- { name: "size", definition: types.UInt64 },
508
- { name: "lock_owner", definition: types.UInt64 },
509
- { name: "atime", definition: types.UInt64 },
510
- { name: "mtime", definition: types.UInt64 },
511
- { name: "ctime", definition: types.UInt64 },
512
- { name: "atimensec", definition: types.UInt32 },
513
- { name: "mtimensec", definition: types.UInt32 },
514
- { name: "ctimensec", definition: types.UInt32 },
515
- { name: "mode", definition: types.UInt32 },
516
- { name: "unused4", definition: types.UInt32 },
517
- { name: "uid", definition: types.UInt32 },
518
- { name: "gid", definition: types.UInt32 },
519
- { name: "unused5", definition: types.UInt32 },
520
- ],
521
- },
533
+ definition: fuseSetattrInDefinition,
522
534
  }).parser({ abi });
523
535
 
536
+ const fuseOpenInDefinition = {
537
+ type: "struct",
538
+ packed: false,
539
+ fixedAbi: {},
540
+ fields: [
541
+ { name: "flags", definition: types.UInt32 },
542
+ { name: "open_flags", definition: types.UInt32 },
543
+ ],
544
+ } /*as const*/;
545
+
524
546
  const fuseOpenInParser/*: TStructParser<TFuseOpenInValue>*/ = define({
525
- definition: {
526
- type: "struct",
527
- packed: false,
528
- fixedAbi: {},
529
- fields: [
530
- { name: "flags", definition: types.UInt32 },
531
- { name: "open_flags", definition: types.UInt32 },
532
- ],
533
- },
547
+ definition: fuseOpenInDefinition,
534
548
  }).parser({ abi });
535
549
 
550
+ const fuseGetxattrInDefinition = {
551
+ type: "struct",
552
+ packed: false,
553
+ fixedAbi: {},
554
+ fields: [
555
+ { name: "size", definition: types.UInt32 },
556
+ { name: "padding", definition: types.UInt32 },
557
+ ],
558
+ } /*as const*/;
559
+
536
560
  const fuseGetxattrInParser/*: TStructParser<TFuseGetxattrInValue>*/ = define({
537
- definition: {
538
- type: "struct",
539
- packed: false,
540
- fixedAbi: {},
541
- fields: [
542
- { name: "size", definition: types.UInt32 },
543
- { name: "padding", definition: types.UInt32 },
544
- ],
545
- },
561
+ definition: fuseGetxattrInDefinition,
546
562
  }).parser({ abi });
547
563
 
564
+ const fuseGetxattrOutDefinition = {
565
+ type: "struct",
566
+ packed: false,
567
+ fixedAbi: {},
568
+ fields: [
569
+ { name: "size", definition: types.UInt32 },
570
+ { name: "padding", definition: types.UInt32 },
571
+ ],
572
+ } /*as const*/;
573
+
548
574
  const fuseGetxattrOutParser/*: TStructParser<TFuseGetxattrOutValue>*/ = define({
549
- definition: {
550
- type: "struct",
551
- packed: false,
552
- fixedAbi: {},
553
- fields: [
554
- { name: "size", definition: types.UInt32 },
555
- { name: "padding", definition: types.UInt32 },
556
- ],
557
- },
575
+ definition: fuseGetxattrOutDefinition,
558
576
  }).parser({ abi });
559
577
 
578
+ const fuseCreateInDefinition = {
579
+ type: "struct",
580
+ packed: false,
581
+ fixedAbi: {},
582
+ fields: [
583
+ { name: "flags", definition: types.UInt32 },
584
+ { name: "mode", definition: types.UInt32 },
585
+ { name: "umask", definition: types.UInt32 },
586
+ { name: "open_flags", definition: types.UInt32 },
587
+ ],
588
+ } /*as const*/;
589
+
560
590
  const fuseCreateInParser/*: TStructParser<TFuseCreateInValue>*/ = define({
561
- definition: {
562
- type: "struct",
563
- packed: false,
564
- fixedAbi: {},
565
- fields: [
566
- { name: "flags", definition: types.UInt32 },
567
- { name: "mode", definition: types.UInt32 },
568
- { name: "umask", definition: types.UInt32 },
569
- { name: "open_flags", definition: types.UInt32 },
570
- ],
571
- },
591
+ definition: fuseCreateInDefinition,
572
592
  }).parser({ abi });
573
593
 
594
+ const fuseOpenOutDefinition = {
595
+ type: "struct",
596
+ packed: false,
597
+ fixedAbi: {},
598
+ fields: [
599
+ { name: "fh", definition: types.UInt64 },
600
+ { name: "open_flags", definition: types.UInt32 },
601
+ { name: "backing_id", definition: types.Int32 },
602
+ ],
603
+ } /*as const*/;
604
+
574
605
  const fuseOpenOutParser/*: TStructParser<TFuseOpenOutValue>*/ = define({
575
- definition: {
576
- type: "struct",
577
- packed: false,
578
- fixedAbi: {},
579
- fields: [
580
- { name: "fh", definition: types.UInt64 },
581
- { name: "open_flags", definition: types.UInt32 },
582
- { name: "backing_id", definition: types.Int32 },
583
- ],
584
- },
606
+ definition: fuseOpenOutDefinition,
585
607
  }).parser({ abi });
586
608
 
609
+ const fuseReleaseInDefinition = {
610
+ type: "struct",
611
+ packed: false,
612
+ fixedAbi: {},
613
+ fields: [
614
+ { name: "fh", definition: types.UInt64 },
615
+ { name: "flags", definition: types.UInt32 },
616
+ { name: "release_flags", definition: types.UInt32 },
617
+ { name: "lock_owner", definition: types.UInt64 },
618
+ ],
619
+ } /*as const*/;
620
+
587
621
  const fuseReleaseInParser/*: TStructParser<TFuseReleaseInValue>*/ = define({
588
- definition: {
589
- type: "struct",
590
- packed: false,
591
- fixedAbi: {},
592
- fields: [
593
- { name: "fh", definition: types.UInt64 },
594
- { name: "flags", definition: types.UInt32 },
595
- { name: "release_flags", definition: types.UInt32 },
596
- { name: "lock_owner", definition: types.UInt64 },
597
- ],
598
- },
622
+ definition: fuseReleaseInDefinition,
599
623
  }).parser({ abi });
600
624
 
625
+ const fuseFlushInDefinition = {
626
+ type: "struct",
627
+ packed: false,
628
+ fixedAbi: {},
629
+ fields: [
630
+ { name: "fh", definition: types.UInt64 },
631
+ { name: "unused", definition: types.UInt32 },
632
+ { name: "padding", definition: types.UInt32 },
633
+ { name: "lock_owner", definition: types.UInt64 },
634
+ ],
635
+ } /*as const*/;
636
+
601
637
  const fuseFlushInParser/*: TStructParser<TFuseFlushInValue>*/ = define({
602
- definition: {
603
- type: "struct",
604
- packed: false,
605
- fixedAbi: {},
606
- fields: [
607
- { name: "fh", definition: types.UInt64 },
608
- { name: "unused", definition: types.UInt32 },
609
- { name: "padding", definition: types.UInt32 },
610
- { name: "lock_owner", definition: types.UInt64 },
611
- ],
612
- },
638
+ definition: fuseFlushInDefinition,
613
639
  }).parser({ abi });
614
640
 
641
+ const fuseReadInDefinition = {
642
+ type: "struct",
643
+ packed: false,
644
+ fixedAbi: {},
645
+ fields: [
646
+ { name: "fh", definition: types.UInt64 },
647
+ { name: "offset", definition: types.UInt64 },
648
+ { name: "size", definition: types.UInt32 },
649
+ { name: "read_flags", definition: types.UInt32 },
650
+ { name: "lock_owner", definition: types.UInt64 },
651
+ { name: "flags", definition: types.UInt32 },
652
+ { name: "padding", definition: types.UInt32 },
653
+ ],
654
+ } /*as const*/;
655
+
615
656
  const fuseReadInParser/*: TStructParser<TFuseReadInValue>*/ = define({
616
- definition: {
617
- type: "struct",
618
- packed: false,
619
- fixedAbi: {},
620
- fields: [
621
- { name: "fh", definition: types.UInt64 },
622
- { name: "offset", definition: types.UInt64 },
623
- { name: "size", definition: types.UInt32 },
624
- { name: "read_flags", definition: types.UInt32 },
625
- { name: "lock_owner", definition: types.UInt64 },
626
- { name: "flags", definition: types.UInt32 },
627
- { name: "padding", definition: types.UInt32 },
628
- ],
629
- },
657
+ definition: fuseReadInDefinition,
630
658
  }).parser({ abi });
631
659
 
660
+ const fuseWriteInDefinition = {
661
+ type: "struct",
662
+ packed: false,
663
+ fixedAbi: {},
664
+ fields: [
665
+ { name: "fh", definition: types.UInt64 },
666
+ { name: "offset", definition: types.UInt64 },
667
+ { name: "size", definition: types.UInt32 },
668
+ { name: "write_flags", definition: types.UInt32 },
669
+ { name: "lock_owner", definition: types.UInt64 },
670
+ { name: "flags", definition: types.UInt32 },
671
+ { name: "padding", definition: types.UInt32 },
672
+ ],
673
+ } /*as const*/;
674
+
632
675
  const fuseWriteInParser/*: TStructParser<TFuseWriteInValue>*/ = define({
633
- definition: {
634
- type: "struct",
635
- packed: false,
636
- fixedAbi: {},
637
- fields: [
638
- { name: "fh", definition: types.UInt64 },
639
- { name: "offset", definition: types.UInt64 },
640
- { name: "size", definition: types.UInt32 },
641
- { name: "write_flags", definition: types.UInt32 },
642
- { name: "lock_owner", definition: types.UInt64 },
643
- { name: "flags", definition: types.UInt32 },
644
- { name: "padding", definition: types.UInt32 },
645
- ],
646
- },
676
+ definition: fuseWriteInDefinition,
647
677
  }).parser({ abi });
648
678
 
679
+ const fuseWriteOutDefinition = {
680
+ type: "struct",
681
+ packed: false,
682
+ fixedAbi: {},
683
+ fields: [
684
+ { name: "size", definition: types.UInt32 },
685
+ { name: "padding", definition: types.UInt32 },
686
+ ],
687
+ } /*as const*/;
688
+
649
689
  const fuseWriteOutParser/*: TStructParser<TFuseWriteOutValue>*/ = define({
650
- definition: {
651
- type: "struct",
652
- packed: false,
653
- fixedAbi: {},
654
- fields: [
655
- { name: "size", definition: types.UInt32 },
656
- { name: "padding", definition: types.UInt32 },
657
- ],
658
- },
690
+ definition: fuseWriteOutDefinition,
659
691
  }).parser({ abi });
660
692
 
693
+ const fuseMkdirInDefinition = {
694
+ type: "struct",
695
+ packed: false,
696
+ fixedAbi: {},
697
+ fields: [
698
+ { name: "mode", definition: types.UInt32 },
699
+ { name: "umask", definition: types.UInt32 },
700
+ ],
701
+ } /*as const*/;
702
+
661
703
  const fuseMkdirInParser/*: TStructParser<TFuseMkdirInValue>*/ = define({
662
- definition: {
663
- type: "struct",
664
- packed: false,
665
- fixedAbi: {},
666
- fields: [
667
- { name: "mode", definition: types.UInt32 },
668
- { name: "umask", definition: types.UInt32 },
669
- ],
670
- },
704
+ definition: fuseMkdirInDefinition,
671
705
  }).parser({ abi });
672
706
 
707
+ const fuseMknodInDefinition = {
708
+ type: "struct",
709
+ packed: false,
710
+ fixedAbi: {},
711
+ fields: [
712
+ { name: "mode", definition: types.UInt32 },
713
+ { name: "rdev", definition: types.UInt32 },
714
+ { name: "umask", definition: types.UInt32 },
715
+ { name: "padding", definition: types.UInt32 },
716
+ ],
717
+ } /*as const*/;
718
+
673
719
  const fuseMknodInParser/*: TStructParser<TFuseMknodInValue>*/ = define({
674
- definition: {
675
- type: "struct",
676
- packed: false,
677
- fixedAbi: {},
678
- fields: [
679
- { name: "mode", definition: types.UInt32 },
680
- { name: "rdev", definition: types.UInt32 },
681
- { name: "umask", definition: types.UInt32 },
682
- { name: "padding", definition: types.UInt32 },
683
- ],
684
- },
720
+ definition: fuseMknodInDefinition,
685
721
  }).parser({ abi });
686
722
 
723
+ const fuseRenameInDefinition = {
724
+ type: "struct",
725
+ packed: false,
726
+ fixedAbi: {},
727
+ fields: [
728
+ { name: "newdir", definition: types.UInt64 },
729
+ ],
730
+ } /*as const*/;
731
+
687
732
  const fuseRenameInParser/*: TStructParser<TFuseRenameInValue>*/ = define({
688
- definition: {
689
- type: "struct",
690
- packed: false,
691
- fixedAbi: {},
692
- fields: [
693
- { name: "newdir", definition: types.UInt64 },
694
- ],
695
- },
733
+ definition: fuseRenameInDefinition,
696
734
  }).parser({ abi });
697
735
 
736
+ const fuseRename2InDefinition = {
737
+ type: "struct",
738
+ packed: false,
739
+ fixedAbi: {},
740
+ fields: [
741
+ { name: "newdir", definition: types.UInt64 },
742
+ { name: "flags", definition: types.UInt32 },
743
+ { name: "padding", definition: types.UInt32 },
744
+ ],
745
+ } /*as const*/;
746
+
698
747
  const fuseRename2InParser/*: TStructParser<TFuseRename2InValue>*/ = define({
699
- definition: {
700
- type: "struct",
701
- packed: false,
702
- fixedAbi: {},
703
- fields: [
704
- { name: "newdir", definition: types.UInt64 },
705
- { name: "flags", definition: types.UInt32 },
706
- { name: "padding", definition: types.UInt32 },
707
- ],
708
- },
748
+ definition: fuseRename2InDefinition,
709
749
  }).parser({ abi });
710
750
 
751
+ const fuseLinkInDefinition = {
752
+ type: "struct",
753
+ packed: false,
754
+ fixedAbi: {},
755
+ fields: [
756
+ { name: "oldnodeid", definition: types.UInt64 },
757
+ ],
758
+ } /*as const*/;
759
+
711
760
  const fuseLinkInParser/*: TStructParser<TFuseLinkInValue>*/ = define({
712
- definition: {
713
- type: "struct",
714
- packed: false,
715
- fixedAbi: {},
716
- fields: [
717
- { name: "oldnodeid", definition: types.UInt64 },
718
- ],
719
- },
761
+ definition: fuseLinkInDefinition,
720
762
  }).parser({ abi });
721
763
 
764
+ const fuseLkInDefinition = {
765
+ type: "struct",
766
+ packed: false,
767
+ fixedAbi: {},
768
+ fields: [
769
+ { name: "fh", definition: types.UInt64 },
770
+ { name: "owner", definition: types.UInt64 },
771
+ { name: "lk", definition: fuseFileLockDefinition },
772
+ { name: "lk_flags", definition: types.UInt32 },
773
+ { name: "padding", definition: types.UInt32 },
774
+ ],
775
+ } /*as const*/;
776
+
722
777
  const fuseLkInParser/*: TStructParser<TFuseLkInValue>*/ = define({
723
- definition: {
724
- type: "struct",
725
- packed: false,
726
- fixedAbi: {},
727
- fields: [
728
- { name: "fh", definition: types.UInt64 },
729
- { name: "owner", definition: types.UInt64 },
730
- { name: "lk", definition: fuseFileLockDefinition },
731
- { name: "lk_flags", definition: types.UInt32 },
732
- { name: "padding", definition: types.UInt32 },
733
- ],
734
- },
778
+ definition: fuseLkInDefinition,
735
779
  }).parser({ abi });
736
780
 
781
+ const fuseLkOutDefinition = {
782
+ type: "struct",
783
+ packed: false,
784
+ fixedAbi: {},
785
+ fields: [
786
+ { name: "lk", definition: fuseFileLockDefinition },
787
+ ],
788
+ } /*as const*/;
789
+
737
790
  const fuseLkOutParser/*: TStructParser<TFuseLkOutValue>*/ = define({
738
- definition: {
739
- type: "struct",
740
- packed: false,
741
- fixedAbi: {},
742
- fields: [
743
- { name: "lk", definition: fuseFileLockDefinition },
744
- ],
745
- },
791
+ definition: fuseLkOutDefinition,
746
792
  }).parser({ abi });
747
793
 
794
+ const fuseInterruptInDefinition = {
795
+ type: "struct",
796
+ packed: false,
797
+ fixedAbi: {},
798
+ fields: [
799
+ { name: "unique", definition: types.UInt64 },
800
+ ],
801
+ } /*as const*/;
802
+
748
803
  const fuseInterruptInParser/*: TStructParser<TFuseInterruptInValue>*/ = define({
749
- definition: {
750
- type: "struct",
751
- packed: false,
752
- fixedAbi: {},
753
- fields: [
754
- { name: "unique", definition: types.UInt64 },
755
- ],
756
- },
804
+ definition: fuseInterruptInDefinition,
757
805
  }).parser({ abi });
758
806
 
807
+ const fuseBmapInDefinition = {
808
+ type: "struct",
809
+ packed: false,
810
+ fixedAbi: {},
811
+ fields: [
812
+ { name: "block", definition: types.UInt64 },
813
+ { name: "blocksize", definition: types.UInt32 },
814
+ { name: "padding", definition: types.UInt32 },
815
+ ],
816
+ } /*as const*/;
817
+
759
818
  const fuseBmapInParser/*: TStructParser<TFuseBmapInValue>*/ = define({
760
- definition: {
761
- type: "struct",
762
- packed: false,
763
- fixedAbi: {},
764
- fields: [
765
- { name: "block", definition: types.UInt64 },
766
- { name: "blocksize", definition: types.UInt32 },
767
- { name: "padding", definition: types.UInt32 },
768
- ],
769
- },
819
+ definition: fuseBmapInDefinition,
770
820
  }).parser({ abi });
771
821
 
822
+ const fuseBmapOutDefinition = {
823
+ type: "struct",
824
+ packed: false,
825
+ fixedAbi: {},
826
+ fields: [
827
+ { name: "block", definition: types.UInt64 },
828
+ ],
829
+ } /*as const*/;
830
+
772
831
  const fuseBmapOutParser/*: TStructParser<TFuseBmapOutValue>*/ = define({
773
- definition: {
774
- type: "struct",
775
- packed: false,
776
- fixedAbi: {},
777
- fields: [
778
- { name: "block", definition: types.UInt64 },
779
- ],
780
- },
832
+ definition: fuseBmapOutDefinition,
781
833
  }).parser({ abi });
782
834
 
835
+ const fuseIoctlInDefinition = {
836
+ type: "struct",
837
+ packed: false,
838
+ fixedAbi: {},
839
+ fields: [
840
+ { name: "fh", definition: types.UInt64 },
841
+ { name: "flags", definition: types.UInt32 },
842
+ { name: "cmd", definition: types.UInt32 },
843
+ { name: "arg", definition: types.UInt64 },
844
+ { name: "in_size", definition: types.UInt32 },
845
+ { name: "out_size", definition: types.UInt32 },
846
+ ],
847
+ } /*as const*/;
848
+
783
849
  const fuseIoctlInParser/*: TStructParser<TFuseIoctlInValue>*/ = define({
784
- definition: {
785
- type: "struct",
786
- packed: false,
787
- fixedAbi: {},
788
- fields: [
789
- { name: "fh", definition: types.UInt64 },
790
- { name: "flags", definition: types.UInt32 },
791
- { name: "cmd", definition: types.UInt32 },
792
- { name: "arg", definition: types.UInt64 },
793
- { name: "in_size", definition: types.UInt32 },
794
- { name: "out_size", definition: types.UInt32 },
795
- ],
796
- },
850
+ definition: fuseIoctlInDefinition,
797
851
  }).parser({ abi });
798
852
 
853
+ const fuseIoctlOutDefinition = {
854
+ type: "struct",
855
+ packed: false,
856
+ fixedAbi: {},
857
+ fields: [
858
+ { name: "result", definition: types.Int32 },
859
+ { name: "flags", definition: types.UInt32 },
860
+ { name: "in_iovs", definition: types.UInt32 },
861
+ { name: "out_iovs", definition: types.UInt32 },
862
+ ],
863
+ } /*as const*/;
864
+
799
865
  const fuseIoctlOutParser/*: TStructParser<TFuseIoctlOutValue>*/ = define({
800
- definition: {
801
- type: "struct",
802
- packed: false,
803
- fixedAbi: {},
804
- fields: [
805
- { name: "result", definition: types.Int32 },
806
- { name: "flags", definition: types.UInt32 },
807
- { name: "in_iovs", definition: types.UInt32 },
808
- { name: "out_iovs", definition: types.UInt32 },
809
- ],
810
- },
866
+ definition: fuseIoctlOutDefinition,
811
867
  }).parser({ abi });
812
868
 
869
+ const fusePollInDefinition = {
870
+ type: "struct",
871
+ packed: false,
872
+ fixedAbi: {},
873
+ fields: [
874
+ { name: "fh", definition: types.UInt64 },
875
+ { name: "kh", definition: types.UInt64 },
876
+ { name: "flags", definition: types.UInt32 },
877
+ { name: "events", definition: types.UInt32 },
878
+ ],
879
+ } /*as const*/;
880
+
813
881
  const fusePollInParser/*: TStructParser<TFusePollInValue>*/ = define({
814
- definition: {
815
- type: "struct",
816
- packed: false,
817
- fixedAbi: {},
818
- fields: [
819
- { name: "fh", definition: types.UInt64 },
820
- { name: "kh", definition: types.UInt64 },
821
- { name: "flags", definition: types.UInt32 },
822
- { name: "events", definition: types.UInt32 },
823
- ],
824
- },
882
+ definition: fusePollInDefinition,
825
883
  }).parser({ abi });
826
884
 
885
+ const fusePollOutDefinition = {
886
+ type: "struct",
887
+ packed: false,
888
+ fixedAbi: {},
889
+ fields: [
890
+ { name: "revents", definition: types.UInt32 },
891
+ { name: "padding", definition: types.UInt32 },
892
+ ],
893
+ } /*as const*/;
894
+
827
895
  const fusePollOutParser/*: TStructParser<TFusePollOutValue>*/ = define({
828
- definition: {
829
- type: "struct",
830
- packed: false,
831
- fixedAbi: {},
832
- fields: [
833
- { name: "revents", definition: types.UInt32 },
834
- { name: "padding", definition: types.UInt32 },
835
- ],
836
- },
896
+ definition: fusePollOutDefinition,
837
897
  }).parser({ abi });
838
898
 
899
+ const fuseFallocateInDefinition = {
900
+ type: "struct",
901
+ packed: false,
902
+ fixedAbi: {},
903
+ fields: [
904
+ { name: "fh", definition: types.UInt64 },
905
+ { name: "offset", definition: types.UInt64 },
906
+ { name: "length", definition: types.UInt64 },
907
+ { name: "mode", definition: types.UInt32 },
908
+ { name: "padding", definition: types.UInt32 },
909
+ ],
910
+ } /*as const*/;
911
+
839
912
  const fuseFallocateInParser/*: TStructParser<TFuseFallocateInValue>*/ = define({
840
- definition: {
841
- type: "struct",
842
- packed: false,
843
- fixedAbi: {},
844
- fields: [
845
- { name: "fh", definition: types.UInt64 },
846
- { name: "offset", definition: types.UInt64 },
847
- { name: "length", definition: types.UInt64 },
848
- { name: "mode", definition: types.UInt32 },
849
- { name: "padding", definition: types.UInt32 },
850
- ],
851
- },
913
+ definition: fuseFallocateInDefinition,
852
914
  }).parser({ abi });
853
915
 
916
+ const fuseForgetInDefinition = {
917
+ type: "struct",
918
+ packed: false,
919
+ fixedAbi: {},
920
+ fields: [
921
+ { name: "nlookup", definition: types.UInt64 },
922
+ ],
923
+ } /*as const*/;
924
+
854
925
  const fuseForgetInParser/*: TStructParser<TFuseForgetInValue>*/ = define({
855
- definition: {
856
- type: "struct",
857
- packed: false,
858
- fixedAbi: {},
859
- fields: [
860
- { name: "nlookup", definition: types.UInt64 },
861
- ],
862
- },
926
+ definition: fuseForgetInDefinition,
863
927
  }).parser({ abi });
864
928
 
929
+ const fuseBatchForgetInDefinition = {
930
+ type: "struct",
931
+ packed: false,
932
+ fixedAbi: {},
933
+ fields: [
934
+ { name: "count", definition: types.UInt32 },
935
+ { name: "dummy", definition: types.UInt32 },
936
+ ],
937
+ } /*as const*/;
938
+
865
939
  const fuseBatchForgetInParser/*: TStructParser<TFuseBatchForgetInValue>*/ = define({
866
- definition: {
867
- type: "struct",
868
- packed: false,
869
- fixedAbi: {},
870
- fields: [
871
- { name: "count", definition: types.UInt32 },
872
- { name: "dummy", definition: types.UInt32 },
873
- ],
874
- },
940
+ definition: fuseBatchForgetInDefinition,
875
941
  }).parser({ abi });
876
942
 
943
+ const fuseForgetOneDefinition = {
944
+ type: "struct",
945
+ packed: false,
946
+ fixedAbi: {},
947
+ fields: [
948
+ { name: "nodeid", definition: types.UInt64 },
949
+ { name: "nlookup", definition: types.UInt64 },
950
+ ],
951
+ } /*as const*/;
952
+
877
953
  const fuseForgetOneParser/*: TStructParser<TFuseForgetOneValue>*/ = define({
878
- definition: {
879
- type: "struct",
880
- packed: false,
881
- fixedAbi: {},
882
- fields: [
883
- { name: "nodeid", definition: types.UInt64 },
884
- { name: "nlookup", definition: types.UInt64 },
885
- ],
886
- },
954
+ definition: fuseForgetOneDefinition,
887
955
  }).parser({ abi });
888
956
 
957
+ const fuseAccessInDefinition = {
958
+ type: "struct",
959
+ packed: false,
960
+ fixedAbi: {},
961
+ fields: [
962
+ { name: "mask", definition: types.UInt32 },
963
+ { name: "padding", definition: types.UInt32 },
964
+ ],
965
+ } /*as const*/;
966
+
889
967
  const fuseAccessInParser/*: TStructParser<TFuseAccessInValue>*/ = define({
890
- definition: {
891
- type: "struct",
892
- packed: false,
893
- fixedAbi: {},
894
- fields: [
895
- { name: "mask", definition: types.UInt32 },
896
- { name: "padding", definition: types.UInt32 },
897
- ],
898
- },
968
+ definition: fuseAccessInDefinition,
899
969
  }).parser({ abi });
900
970
 
971
+ const fuseFsyncInDefinition = {
972
+ type: "struct",
973
+ packed: false,
974
+ fixedAbi: {},
975
+ fields: [
976
+ { name: "fh", definition: types.UInt64 },
977
+ { name: "fsync_flags", definition: types.UInt32 },
978
+ { name: "padding", definition: types.UInt32 },
979
+ ],
980
+ } /*as const*/;
981
+
901
982
  const fuseFsyncInParser/*: TStructParser<TFuseFsyncInValue>*/ = define({
902
- definition: {
903
- type: "struct",
904
- packed: false,
905
- fixedAbi: {},
906
- fields: [
907
- { name: "fh", definition: types.UInt64 },
908
- { name: "fsync_flags", definition: types.UInt32 },
909
- { name: "padding", definition: types.UInt32 },
910
- ],
911
- },
983
+ definition: fuseFsyncInDefinition,
912
984
  }).parser({ abi });
913
985
 
986
+ const fuseSetxattrInDefinition = {
987
+ type: "struct",
988
+ packed: false,
989
+ fixedAbi: {},
990
+ fields: [
991
+ { name: "size", definition: types.UInt32 },
992
+ { name: "flags", definition: types.UInt32 },
993
+ { name: "setxattr_flags", definition: types.UInt32 },
994
+ { name: "padding", definition: types.UInt32 },
995
+ ],
996
+ } /*as const*/;
997
+
914
998
  const fuseSetxattrInParser/*: TStructParser<TFuseSetxattrInValue>*/ = define({
915
- definition: {
916
- type: "struct",
917
- packed: false,
918
- fixedAbi: {},
919
- fields: [
920
- { name: "size", definition: types.UInt32 },
921
- { name: "flags", definition: types.UInt32 },
922
- { name: "setxattr_flags", definition: types.UInt32 },
923
- { name: "padding", definition: types.UInt32 },
924
- ],
925
- },
999
+ definition: fuseSetxattrInDefinition,
926
1000
  }).parser({ abi });
927
1001
 
1002
+ const fuseInitInDefinition = {
1003
+ type: "struct",
1004
+ packed: false,
1005
+ fixedAbi: {},
1006
+ fields: [
1007
+ { name: "major", definition: types.UInt32 },
1008
+ { name: "minor", definition: types.UInt32 },
1009
+ { name: "max_readahead", definition: types.UInt32 },
1010
+ { name: "flags", definition: types.UInt32 },
1011
+ { name: "flags2", definition: types.UInt32 },
1012
+ { name: "unused", definition: uint32Array(11) },
1013
+ ],
1014
+ } /*as const*/;
1015
+
928
1016
  const fuseInitInParser/*: TStructParser<TFuseInitInValue>*/ = define({
929
- definition: {
930
- type: "struct",
931
- packed: false,
932
- fixedAbi: {},
933
- fields: [
934
- { name: "major", definition: types.UInt32 },
935
- { name: "minor", definition: types.UInt32 },
936
- { name: "max_readahead", definition: types.UInt32 },
937
- { name: "flags", definition: types.UInt32 },
938
- { name: "flags2", definition: types.UInt32 },
939
- { name: "unused", definition: uint32Array(11) },
940
- ],
941
- },
1017
+ definition: fuseInitInDefinition,
942
1018
  }).parser({ abi });
943
1019
 
1020
+ const fuseInitOutDefinition = {
1021
+ type: "struct",
1022
+ packed: false,
1023
+ fixedAbi: {},
1024
+ fields: [
1025
+ { name: "major", definition: types.UInt32 },
1026
+ { name: "minor", definition: types.UInt32 },
1027
+ { name: "max_readahead", definition: types.UInt32 },
1028
+ { name: "flags", definition: types.UInt32 },
1029
+ { name: "max_background", definition: types.UInt16 },
1030
+ { name: "congestion_threshold", definition: types.UInt16 },
1031
+ { name: "max_write", definition: types.UInt32 },
1032
+ { name: "time_gran", definition: types.UInt32 },
1033
+ { name: "max_pages", definition: types.UInt16 },
1034
+ { name: "map_alignment", definition: types.UInt16 },
1035
+ { name: "flags2", definition: types.UInt32 },
1036
+ { name: "max_stack_depth", definition: types.UInt32 },
1037
+ { name: "request_timeout", definition: types.UInt16 },
1038
+ { name: "unused", definition: uint16Array(11) },
1039
+ ],
1040
+ } /*as const*/;
1041
+
944
1042
  const fuseInitOutParser/*: TStructParser<TFuseInitOutValue>*/ = define({
945
- definition: {
946
- type: "struct",
947
- packed: false,
948
- fixedAbi: {},
949
- fields: [
950
- { name: "major", definition: types.UInt32 },
951
- { name: "minor", definition: types.UInt32 },
952
- { name: "max_readahead", definition: types.UInt32 },
953
- { name: "flags", definition: types.UInt32 },
954
- { name: "max_background", definition: types.UInt16 },
955
- { name: "congestion_threshold", definition: types.UInt16 },
956
- { name: "max_write", definition: types.UInt32 },
957
- { name: "time_gran", definition: types.UInt32 },
958
- { name: "max_pages", definition: types.UInt16 },
959
- { name: "map_alignment", definition: types.UInt16 },
960
- { name: "flags2", definition: types.UInt32 },
961
- { name: "max_stack_depth", definition: types.UInt32 },
962
- { name: "request_timeout", definition: types.UInt16 },
963
- { name: "unused", definition: uint16Array(11) },
964
- ],
965
- },
1043
+ definition: fuseInitOutDefinition,
966
1044
  }).parser({ abi });
967
1045
 
1046
+ const fuseStatfsOutDefinition = {
1047
+ type: "struct",
1048
+ packed: false,
1049
+ fixedAbi: {},
1050
+ fields: [
1051
+ { name: "st", definition: fuseKstatfsDefinition },
1052
+ ],
1053
+ } /*as const*/;
1054
+
968
1055
  const fuseStatfsOutParser/*: TStructParser<TFuseStatfsOutValue>*/ = define({
969
- definition: {
970
- type: "struct",
971
- packed: false,
972
- fixedAbi: {},
973
- fields: [
974
- { name: "st", definition: fuseKstatfsDefinition },
975
- ],
976
- },
1056
+ definition: fuseStatfsOutDefinition,
977
1057
  }).parser({ abi });
978
1058
 
1059
+ const fuseLseekInDefinition = {
1060
+ type: "struct",
1061
+ packed: false,
1062
+ fixedAbi: {},
1063
+ fields: [
1064
+ { name: "fh", definition: types.UInt64 },
1065
+ { name: "offset", definition: types.UInt64 },
1066
+ { name: "whence", definition: types.UInt32 },
1067
+ { name: "padding", definition: types.UInt32 },
1068
+ ],
1069
+ } /*as const*/;
1070
+
979
1071
  const fuseLseekInParser/*: TStructParser<TFuseLseekInValue>*/ = define({
980
- definition: {
981
- type: "struct",
982
- packed: false,
983
- fixedAbi: {},
984
- fields: [
985
- { name: "fh", definition: types.UInt64 },
986
- { name: "offset", definition: types.UInt64 },
987
- { name: "whence", definition: types.UInt32 },
988
- { name: "padding", definition: types.UInt32 },
989
- ],
990
- },
1072
+ definition: fuseLseekInDefinition,
991
1073
  }).parser({ abi });
992
1074
 
1075
+ const fuseLseekOutDefinition = {
1076
+ type: "struct",
1077
+ packed: false,
1078
+ fixedAbi: {},
1079
+ fields: [
1080
+ { name: "offset", definition: types.UInt64 },
1081
+ ],
1082
+ } /*as const*/;
1083
+
993
1084
  const fuseLseekOutParser/*: TStructParser<TFuseLseekOutValue>*/ = define({
994
- definition: {
995
- type: "struct",
996
- packed: false,
997
- fixedAbi: {},
998
- fields: [
999
- { name: "offset", definition: types.UInt64 },
1000
- ],
1001
- },
1085
+ definition: fuseLseekOutDefinition,
1002
1086
  }).parser({ abi });
1003
1087
 
1088
+ const fuseCopyFileRangeInDefinition = {
1089
+ type: "struct",
1090
+ packed: false,
1091
+ fixedAbi: {},
1092
+ fields: [
1093
+ { name: "fh_in", definition: types.UInt64 },
1094
+ { name: "off_in", definition: types.UInt64 },
1095
+ { name: "nodeid_out", definition: types.UInt64 },
1096
+ { name: "fh_out", definition: types.UInt64 },
1097
+ { name: "off_out", definition: types.UInt64 },
1098
+ { name: "len", definition: types.UInt64 },
1099
+ { name: "flags", definition: types.UInt64 },
1100
+ ],
1101
+ } /*as const*/;
1102
+
1004
1103
  const fuseCopyFileRangeInParser/*: TStructParser<TFuseCopyFileRangeInValue>*/ = define({
1005
- definition: {
1006
- type: "struct",
1007
- packed: false,
1008
- fixedAbi: {},
1009
- fields: [
1010
- { name: "fh_in", definition: types.UInt64 },
1011
- { name: "off_in", definition: types.UInt64 },
1012
- { name: "nodeid_out", definition: types.UInt64 },
1013
- { name: "fh_out", definition: types.UInt64 },
1014
- { name: "off_out", definition: types.UInt64 },
1015
- { name: "len", definition: types.UInt64 },
1016
- { name: "flags", definition: types.UInt64 },
1017
- ],
1018
- },
1104
+ definition: fuseCopyFileRangeInDefinition,
1019
1105
  }).parser({ abi });
1020
1106
 
1107
+ const fuseSetupmappingInDefinition = {
1108
+ type: "struct",
1109
+ packed: false,
1110
+ fixedAbi: {},
1111
+ fields: [
1112
+ { name: "fh", definition: types.UInt64 },
1113
+ { name: "foffset", definition: types.UInt64 },
1114
+ { name: "len", definition: types.UInt64 },
1115
+ { name: "flags", definition: types.UInt64 },
1116
+ { name: "moffset", definition: types.UInt64 },
1117
+ ],
1118
+ } /*as const*/;
1119
+
1021
1120
  const fuseSetupmappingInParser/*: TStructParser<TFuseSetupmappingInValue>*/ = define({
1022
- definition: {
1023
- type: "struct",
1024
- packed: false,
1025
- fixedAbi: {},
1026
- fields: [
1027
- { name: "fh", definition: types.UInt64 },
1028
- { name: "foffset", definition: types.UInt64 },
1029
- { name: "len", definition: types.UInt64 },
1030
- { name: "flags", definition: types.UInt64 },
1031
- { name: "moffset", definition: types.UInt64 },
1032
- ],
1033
- },
1121
+ definition: fuseSetupmappingInDefinition,
1034
1122
  }).parser({ abi });
1035
1123
 
1124
+ const fuseRemovemappingInDefinition = {
1125
+ type: "struct",
1126
+ packed: false,
1127
+ fixedAbi: {},
1128
+ fields: [
1129
+ { name: "count", definition: types.UInt32 },
1130
+ ],
1131
+ } /*as const*/;
1132
+
1036
1133
  const fuseRemovemappingInParser/*: TStructParser<TFuseRemovemappingInValue>*/ = define({
1037
- definition: {
1038
- type: "struct",
1039
- packed: false,
1040
- fixedAbi: {},
1041
- fields: [
1042
- { name: "count", definition: types.UInt32 },
1043
- ],
1044
- },
1134
+ definition: fuseRemovemappingInDefinition,
1045
1135
  }).parser({ abi });
1046
1136
 
1137
+ const fuseRemovemappingOneDefinition = {
1138
+ type: "struct",
1139
+ packed: false,
1140
+ fixedAbi: {},
1141
+ fields: [
1142
+ { name: "moffset", definition: types.UInt64 },
1143
+ { name: "len", definition: types.UInt64 },
1144
+ ],
1145
+ } /*as const*/;
1146
+
1047
1147
  const fuseRemovemappingOneParser/*: TStructParser<TFuseRemovemappingOneValue>*/ = define({
1048
- definition: {
1049
- type: "struct",
1050
- packed: false,
1051
- fixedAbi: {},
1052
- fields: [
1053
- { name: "moffset", definition: types.UInt64 },
1054
- { name: "len", definition: types.UInt64 },
1055
- ],
1056
- },
1148
+ definition: fuseRemovemappingOneDefinition,
1057
1149
  }).parser({ abi });
1058
1150
 
1151
+ const fuseSyncfsInDefinition = {
1152
+ type: "struct",
1153
+ packed: false,
1154
+ fixedAbi: {},
1155
+ fields: [
1156
+ { name: "padding", definition: types.UInt64 },
1157
+ ],
1158
+ } /*as const*/;
1159
+
1059
1160
  const fuseSyncfsInParser/*: TStructParser<TFuseSyncfsInValue>*/ = define({
1060
- definition: {
1061
- type: "struct",
1062
- packed: false,
1063
- fixedAbi: {},
1064
- fields: [
1065
- { name: "padding", definition: types.UInt64 },
1066
- ],
1067
- },
1161
+ definition: fuseSyncfsInDefinition,
1068
1162
  }).parser({ abi });
1069
1163
 
1070
1164
  const fuseSxTimeDefinition = {
@@ -1107,34 +1201,38 @@ const fuseStatxDefinition = {
1107
1201
  ],
1108
1202
  } /*as const*/;
1109
1203
 
1204
+ const fuseStatxInDefinition = {
1205
+ type: "struct",
1206
+ packed: false,
1207
+ fixedAbi: {},
1208
+ fields: [
1209
+ { name: "getattr_flags", definition: types.UInt32 },
1210
+ { name: "reserved", definition: types.UInt32 },
1211
+ { name: "fh", definition: types.UInt64 },
1212
+ { name: "sx_flags", definition: types.UInt32 },
1213
+ { name: "sx_mask", definition: types.UInt32 },
1214
+ ],
1215
+ } /*as const*/;
1216
+
1110
1217
  const fuseStatxInParser/*: TStructParser<TFuseStatxInValue>*/ = define({
1111
- definition: {
1112
- type: "struct",
1113
- packed: false,
1114
- fixedAbi: {},
1115
- fields: [
1116
- { name: "getattr_flags", definition: types.UInt32 },
1117
- { name: "reserved", definition: types.UInt32 },
1118
- { name: "fh", definition: types.UInt64 },
1119
- { name: "sx_flags", definition: types.UInt32 },
1120
- { name: "sx_mask", definition: types.UInt32 },
1121
- ],
1122
- },
1218
+ definition: fuseStatxInDefinition,
1123
1219
  }).parser({ abi });
1124
1220
 
1221
+ const fuseStatxOutDefinition = {
1222
+ type: "struct",
1223
+ packed: false,
1224
+ fixedAbi: {},
1225
+ fields: [
1226
+ { name: "attr_valid", definition: types.UInt64 },
1227
+ { name: "attr_valid_nsec", definition: types.UInt32 },
1228
+ { name: "flags", definition: types.UInt32 },
1229
+ { name: "spare", definition: uint64Array(2) },
1230
+ { name: "stat", definition: fuseStatxDefinition },
1231
+ ],
1232
+ } /*as const*/;
1233
+
1125
1234
  const fuseStatxOutParser/*: TStructParser<TFuseStatxOutValue>*/ = define({
1126
- definition: {
1127
- type: "struct",
1128
- packed: false,
1129
- fixedAbi: {},
1130
- fields: [
1131
- { name: "attr_valid", definition: types.UInt64 },
1132
- { name: "attr_valid_nsec", definition: types.UInt32 },
1133
- { name: "flags", definition: types.UInt32 },
1134
- { name: "spare", definition: uint64Array(2) },
1135
- { name: "stat", definition: fuseStatxDefinition },
1136
- ],
1137
- },
1235
+ definition: fuseStatxOutDefinition,
1138
1236
  }).parser({ abi });
1139
1237
 
1140
1238
  const textEncoder = new TextEncoder();
@@ -1154,20 +1252,39 @@ const decodeCString = (data/*: Uint8Array*/) => {
1154
1252
  return textDecoder.decode(slice);
1155
1253
  };
1156
1254
 
1157
- const decodeCStringPair = (data/*: Uint8Array*/) => {
1255
+ /*type TDecodeCStringPairResult = {
1256
+ error: Error;
1257
+ first: undefined;
1258
+ second: undefined;
1259
+ } | {
1260
+ error: undefined;
1261
+ first: string;
1262
+ second: string;
1263
+ };*/
1264
+
1265
+ const decodeCStringPair = (data/*: Uint8Array*/)/*: TDecodeCStringPairResult*/ => {
1158
1266
  const firstTerminator = data.indexOf(0);
1159
1267
  if (firstTerminator === -1) {
1160
- throw Error("expected first nul-terminated string");
1268
+ return {
1269
+ error: Error("expected first nul-terminated string"),
1270
+ first: undefined,
1271
+ second: undefined,
1272
+ };
1161
1273
  }
1162
1274
 
1163
1275
  const secondStart = firstTerminator + 1;
1164
1276
  const secondTerminatorOffset = data.subarray(secondStart).indexOf(0);
1165
1277
  if (secondTerminatorOffset === -1) {
1166
- throw Error("expected second nul-terminated string");
1278
+ return {
1279
+ error: Error("expected second nul-terminated string"),
1280
+ first: undefined,
1281
+ second: undefined,
1282
+ };
1167
1283
  }
1168
1284
 
1169
1285
  const secondTerminator = secondStart + secondTerminatorOffset;
1170
1286
  return {
1287
+ error: undefined,
1171
1288
  first: textDecoder.decode(data.subarray(0, firstTerminator)),
1172
1289
  second: textDecoder.decode(data.subarray(secondStart, secondTerminator)),
1173
1290
  };
@@ -1176,6 +1293,7 @@ const decodeCStringPair = (data/*: Uint8Array*/) => {
1176
1293
  export {
1177
1294
 
1178
1295
  decodeCString,
1296
+
1179
1297
  decodeCStringPair,
1180
1298
  toCString,
1181
1299
 
@@ -1230,6 +1348,58 @@ export {
1230
1348
  fuseSyncfsInParser,
1231
1349
  fuseStatxInParser,
1232
1350
  fuseStatxOutParser,
1351
+
1352
+ fuseStatxDefinition,
1353
+ fuseSxTimeDefinition,
1354
+ fuseInHeaderDefinition,
1355
+ fuseOutHeaderDefinition,
1356
+ fuseEntryOutDefinition,
1357
+ fuseGetattrInDefinition,
1358
+ fuseAttrOutDefinition,
1359
+ fuseSetattrInDefinition,
1360
+ fuseOpenInDefinition,
1361
+ fuseGetxattrInDefinition,
1362
+ fuseGetxattrOutDefinition,
1363
+ fuseCreateInDefinition,
1364
+ fuseOpenOutDefinition,
1365
+ fuseReleaseInDefinition,
1366
+ fuseFlushInDefinition,
1367
+ fuseReadInDefinition,
1368
+ fuseWriteInDefinition,
1369
+ fuseWriteOutDefinition,
1370
+ fuseMkdirInDefinition,
1371
+ fuseMknodInDefinition,
1372
+ fuseRenameInDefinition,
1373
+ fuseRename2InDefinition,
1374
+ fuseLinkInDefinition,
1375
+ fuseLkInDefinition,
1376
+ fuseLkOutDefinition,
1377
+ fuseInterruptInDefinition,
1378
+ fuseBmapInDefinition,
1379
+ fuseBmapOutDefinition,
1380
+ fuseIoctlInDefinition,
1381
+ fuseIoctlOutDefinition,
1382
+ fusePollInDefinition,
1383
+ fusePollOutDefinition,
1384
+ fuseFallocateInDefinition,
1385
+ fuseForgetInDefinition,
1386
+ fuseBatchForgetInDefinition,
1387
+ fuseForgetOneDefinition,
1388
+ fuseAccessInDefinition,
1389
+ fuseFsyncInDefinition,
1390
+ fuseSetxattrInDefinition,
1391
+ fuseInitInDefinition,
1392
+ fuseInitOutDefinition,
1393
+ fuseStatfsOutDefinition,
1394
+ fuseLseekInDefinition,
1395
+ fuseLseekOutDefinition,
1396
+ fuseCopyFileRangeInDefinition,
1397
+ fuseSetupmappingInDefinition,
1398
+ fuseRemovemappingInDefinition,
1399
+ fuseRemovemappingOneDefinition,
1400
+ fuseSyncfsInDefinition,
1401
+ fuseStatxInDefinition,
1402
+ fuseStatxOutDefinition,
1233
1403
  };
1234
1404
 
1235
1405
  /*export type {