Diff
Not logged in

Differences From Artifact [ae5c0ffeea]:

To Artifact [7b6b4bec96]:


492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510

511
512
513

514
515
516
517
518
519

520
521
522

523
524
525
526
527
528

529
530
531

532
533
534
535
536
537
538
539
540
541
542
543

544
545
546
547
548
549

550
551
552
553
554
555
556
492
493
494
495
496
497
498



499
500
501
502
503
504
505
506

507
508
509

510
511
512
513
514
515

516
517
518

519
520
521
522
523
524

525
526
527

528
529
530
531
532
533
534
535
536
537
538
539

540
541
542
543
544
545

546
547
548
549
550
551
552
553







-
-
-








-
+


-
+





-
+


-
+





-
+


-
+











-
+





-
+







 *----------------------------------------------------------------------
 */

const char *
Tcl_ErrnoMsg(
     int err)			/* Error number (such as in errno variable). */
{
#ifndef _WIN32
    return strerror(err);
#else
    switch (err) {
#if defined(E2BIG) && (!defined(EOVERFLOW) || (E2BIG != EOVERFLOW))
    case E2BIG: return "Argument list too long";
#endif
#ifdef EACCES
    case EACCES: return "Permission denied";
#endif
#ifdef EADDRINUSE
    case EADDRINUSE: return "Address in use";
    case EADDRINUSE: return "Address already in use";
#endif
#ifdef EADDRNOTAVAIL
    case EADDRNOTAVAIL: return "Address not available";
    case EADDRNOTAVAIL: return "Cannot assign requested address";
#endif
#ifdef EADV
    case EADV: return "Advertise error";
#endif
#ifdef EAFNOSUPPORT
    case EAFNOSUPPORT: return "Address family not supported";
    case EAFNOSUPPORT: return "Address family not supported by protocol";
#endif
#ifdef EAGAIN
    case EAGAIN: return "Resource unavailable, try again";
    case EAGAIN: return "Resource temporarily unavailable";
#endif
#ifdef EALIGN
    case EALIGN: return "EALIGN";
#endif
#if defined(EALREADY) && (!defined(EBUSY) || (EALREADY != EBUSY))
    case EALREADY: return "Connection already in progress";
    case EALREADY: return "Operation already in progress";
#endif
#ifdef EBADE
    case EBADE: return "Bad exchange descriptor";
    case EBADE: return "Invalid exchange";
#endif
#ifdef EBADF
    case EBADF: return "Bad file descriptor";
#endif
#ifdef EBADFD
    case EBADFD: return "File descriptor in bad state";
#endif
#ifdef EBADMSG
    case EBADMSG: return "Bad message";
#endif
#ifdef EBADR
    case EBADR: return "Bad request descriptor";
    case EBADR: return "Invalid request descriptor";
#endif
#ifdef EBADRPC
    case EBADRPC: return "RPC structure is bad";
#endif
#ifdef EBADRQC
    case EBADRQC: return "Bad request code";
    case EBADRQC: return "Invalid request code";
#endif
#ifdef EBADSLT
    case EBADSLT: return "Invalid slot";
#endif
#ifdef EBFONT
    case EBFONT: return "Bad font file format";
#endif
566
567
568
569
570
571
572
573

574
575
576
577
578
579

580
581
582

583
584
585

586
587
588
589
590
591
592
593
594

595
596
597

598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618

619
620
621
622
623
624
625
626
627
628
629
630

631
632
633

634
635
636
637
638
639

640
641
642

643
644
645
646
647
648
649
563
564
565
566
567
568
569

570
571
572
573
574
575

576
577
578

579
580
581

582
583
584
585
586
587
588
589
590

591
592
593

594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614

615
616
617
618
619
620
621
622
623
624
625
626

627
628
629

630
631
632
633
634
635

636
637
638

639
640
641
642
643
644
645
646







-
+





-
+


-
+


-
+








-
+


-
+




















-
+











-
+


-
+





-
+


-
+







#ifdef ECHRNG
    case ECHRNG: return "Channel number out of range";
#endif
#ifdef ECOMM
    case ECOMM: return "Communication error on send";
#endif
#ifdef ECONNABORTED
    case ECONNABORTED: return "Connection aborted";
    case ECONNABORTED: return "Software caused connection abort";
#endif
#ifdef ECONNREFUSED
    case ECONNREFUSED: return "Connection refused";
#endif
#ifdef ECONNRESET
    case ECONNRESET: return "Connection reset";
    case ECONNRESET: return "Connection reset by peer";
#endif
#if defined(EDEADLK) && (!defined(EWOULDBLOCK) || (EDEADLK != EWOULDBLOCK))
    case EDEADLK: return "Resource deadlock would occur";
    case EDEADLK: return "Resource deadlock avoided";
#endif
#if defined(EDEADLOCK) && (!defined(EDEADLK) || (EDEADLOCK != EDEADLK))
    case EDEADLOCK: return "Resource deadlock would occur";
    case EDEADLOCK: return "Resource deadlock avoided";
#endif
#ifdef EDESTADDRREQ
    case EDESTADDRREQ: return "Destination address required";
#endif
#ifdef EDIRTY
    case EDIRTY: return "Mounting a dirty fs w/o force";
#endif
#ifdef EDOM
    case EDOM: return "Mathematics argument out of domain of function";
    case EDOM: return "Numerical argument out of domain";
#endif
#ifdef EDOTDOT
    case EDOTDOT: return "Cross mount point";
    case EDOTDOT: return "RFS specific error";
#endif
#ifdef EDQUOT
    case EDQUOT: return "Disk quota exceeded";
#endif
#ifdef EDUPPKG
    case EDUPPKG: return "Duplicate package name";
#endif
#ifdef EEXIST
    case EEXIST: return "File exists";
#endif
#ifdef EFAULT
    case EFAULT: return "Bad address";
#endif
#ifdef EFBIG
    case EFBIG: return "File too large";
#endif
#ifdef EHOSTDOWN
    case EHOSTDOWN: return "Host is down";
#endif
#ifdef EHOSTUNREACH
    case EHOSTUNREACH: return "Host is unreachable";
    case EHOSTUNREACH: return "No route to host";
#endif
#if defined(EIDRM) && (!defined(EINPROGRESS) || (EIDRM != EINPROGRESS))
    case EIDRM: return "Identifier removed";
#endif
#ifdef EINIT
    case EINIT: return "Initialization error";
#endif
#ifdef EILSEQ
    case EILSEQ: return "Invalid or incomplete multibyte or wide character";
#endif
#ifdef EINPROGRESS
    case EINPROGRESS: return "Operation in progress";
    case EINPROGRESS: return "Operation now in progress";
#endif
#ifdef EINTR
    case EINTR: return "Interrupted function";
    case EINTR: return "Interrupted system call";
#endif
#ifdef EINVAL
    case EINVAL: return "Invalid argument";
#endif
#ifdef EIO
    case EIO: return "I/O error";
    case EIO: return "Input/output error";
#endif
#ifdef EISCONN
    case EISCONN: return "Socket is connected";
    case EISCONN: return "Transport endpoint is already connected";
#endif
#ifdef EISDIR
    case EISDIR: return "Is a directory";
#endif
#ifdef EISNAME
    case EISNAM: return "Is a name file";
#endif
659
660
661
662
663
664
665
666

667
668
669
670
671
672
673
674
675
676

677
678
679
680
681
682
683
684
685
686
687
688

689
690
691
692
693
694

695
696
697
698
699
700

701
702
703

704
705
706
707
708
709
710
711
712
713
714
715
716
717
718

719
720
721

722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

740
741
742
743
744
745
746
747
748

749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766

767
768
769

770
771
772
773
774
775

776
777
778
779
780
781
782
783
784
785
786
787

788
789
790
791
792
793

794
795
796

797
798
799

800
801
802

803
804
805
806
807
808
809
810
811
812
813
814
815
816
817

818
819
820

821
822
823
824
825
826
827
656
657
658
659
660
661
662

663
664
665
666
667
668
669
670
671
672

673
674
675
676
677
678
679
680
681
682
683
684

685
686
687
688
689
690

691
692
693
694
695
696

697
698
699

700
701
702
703
704
705
706
707
708
709
710
711
712
713
714

715
716
717

718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735

736
737
738
739
740
741
742
743
744

745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762

763
764
765

766
767
768
769
770
771

772
773
774
775
776
777
778
779
780
781
782
783

784
785
786
787
788
789

790
791
792

793
794
795

796
797
798

799
800
801
802
803
804
805
806
807
808
809
810
811
812
813

814
815
816

817
818
819
820
821
822
823
824







-
+









-
+











-
+





-
+





-
+


-
+














-
+


-
+

















-
+








-
+

















-
+


-
+





-
+











-
+





-
+


-
+


-
+


-
+














-
+


-
+







#ifdef EL3HLT
    case EL3HLT: return "Level 3 halted";
#endif
#ifdef EL3RST
    case EL3RST: return "Level 3 reset";
#endif
#ifdef ELIBACC
    case ELIBACC: return "Cannot access a needed shared library";
    case ELIBACC: return "Can not access a needed shared library";
#endif
#ifdef ELIBBAD
    case ELIBBAD: return "Accessing a corrupted shared library";
#endif
#ifdef ELIBEXEC
    case ELIBEXEC: return "Cannot exec a shared library directly";
#endif
#if defined(ELIBMAX) && (!defined(ECANCELED) || (ELIBMAX != ECANCELED))
    case ELIBMAX: return
	    "Attempting to link in more shared libraries than system limit";
	    "Attempting to link in too many shared libraries";
#endif
#ifdef ELIBSCN
    case ELIBSCN: return ".lib section in a.out corrupted";
#endif
#ifdef ELNRNG
    case ELNRNG: return "Link number out of range";
#endif
#if defined(ELOOP) && (!defined(ENOENT) || (ELOOP != ENOENT))
    case ELOOP: return "Too many levels of symbolic links";
#endif
#ifdef EMFILE
    case EMFILE: return "File descriptor value too large";
    case EMFILE: return "Too many open files";
#endif
#ifdef EMLINK
    case EMLINK: return "Too many links";
#endif
#ifdef EMSGSIZE
    case EMSGSIZE: return "Message too large";
    case EMSGSIZE: return "Message too long";
#endif
#ifdef EMULTIHOP
    case EMULTIHOP: return "Multihop attempted";
#endif
#ifdef ENAMETOOLONG
    case ENAMETOOLONG: return "Filename too long";
    case ENAMETOOLONG: return "File name too long";
#endif
#ifdef ENAVAIL
    case ENAVAIL: return "Not available";
    case ENAVAIL: return "No XENIX semaphores available";
#endif
#ifdef ENET
    case ENET: return "ENET";
#endif
#ifdef ENETDOWN
    case ENETDOWN: return "Network is down";
#endif
#ifdef ENETRESET
    case ENETRESET: return "Network dropped connection on reset";
#endif
#ifdef ENETUNREACH
    case ENETUNREACH: return "Network is unreachable";
#endif
#ifdef ENFILE
    case ENFILE: return "Too many files open in system";
    case ENFILE: return "Too many open files in system";
#endif
#ifdef ENOANO
    case ENOANO: return "Anode table overflow";
    case ENOANO: return "No anode";
#endif
#if defined(ENOBUFS) && (!defined(ENOSR) || (ENOBUFS != ENOSR))
    case ENOBUFS: return "No buffer space available";
#endif
#ifdef ENOCSI
    case ENOCSI: return "No CSI structure available";
#endif
#if defined(ENODATA) && (!defined(ECONNREFUSED) || (ENODATA != ECONNREFUSED))
    case ENODATA: return "No data available";
#endif
#ifdef ENODEV
    case ENODEV: return "No such device";
#endif
#ifdef ENOENT
    case ENOENT: return "No such file or directory";
#endif
#ifdef ENOEXEC
    case ENOEXEC: return "Executable format error";
    case ENOEXEC: return "Exec format error";
#endif
#ifdef ENOLCK
    case ENOLCK: return "No locks available";
#endif
#ifdef ENOLINK
    case ENOLINK: return "Link has been severed";
#endif
#ifdef ENOMEM
    case ENOMEM: return "Not enough space";
    case ENOMEM: return "Cannot allocate memory";
#endif
#ifdef ENOMSG
    case ENOMSG: return "No message of desired type";
#endif
#ifdef ENONET
    case ENONET: return "Machine is not on the network";
#endif
#ifdef ENOPKG
    case ENOPKG: return "Package not installed";
#endif
#ifdef ENOPROTOOPT
    case ENOPROTOOPT: return "Protocol not available";
#endif
#ifdef ENOSPC
    case ENOSPC: return "No space left on device";
#endif
#if defined(ENOSR) && (!defined(ENAMETOOLONG) || (ENAMETOOLONG != ENOSR))
    case ENOSR: return "No stream resources";
    case ENOSR: return "Out of streams resources";
#endif
#if defined(ENOSTR) && (!defined(ENOTTY) || (ENOTTY != ENOSTR))
    case ENOSTR: return "Not a stream";
    case ENOSTR: return "Device not a stream";
#endif
#ifdef ENOSYM
    case ENOSYM: return "Unresolved symbol name";
#endif
#ifdef ENOSYS
    case ENOSYS: return "Functionality not supported";
    case ENOSYS: return "Function not implemented";
#endif
#ifdef ENOTBLK
    case ENOTBLK: return "Block device required";
#endif
#ifdef ENOTCONN
    case ENOTCONN: return "Transport endpoint is not connected";
#endif
#ifdef ENOTRECOVERABLE
    case ENOTRECOVERABLE: return "State not recoverable";
#endif
#ifdef ENOTDIR
    case ENOTDIR: return "Not a directory or a symbolic link to a directory";
    case ENOTDIR: return "Not a directory";
#endif
#if defined(ENOTEMPTY) && (!defined(EEXIST) || (ENOTEMPTY != EEXIST))
    case ENOTEMPTY: return "Directory not empty";
#endif
#ifdef ENOTNAM
    case ENOTNAM: return "Not a name file";
    case ENOTNAM: return "Not a XENIX named type file";
#endif
#ifdef ENOTSOCK
    case ENOTSOCK: return "Not a socket";
    case ENOTSOCK: return "Socket operation on non-socket";
#endif
#ifdef ENOTSUP
    case ENOTSUP: return "Not supported";
    case ENOTSUP: return "Operation not supported";
#endif
#ifdef ENOTTY
    case ENOTTY: return "Inappropriate I/O control operation";
    case ENOTTY: return "Inappropriate ioctl for device";
#endif
#ifdef ENOTUNIQ
    case ENOTUNIQ: return "Name not unique on network";
#endif
#ifdef ENXIO
    case ENXIO: return "No such device or address";
#endif
#if defined(EOPNOTSUPP) &&  (!defined(ENOTSUP) || (ENOTSUP != EOPNOTSUPP))
    case EOPNOTSUPP: return "Operation not supported on socket";
#endif
#ifdef EOTHER
    case EOTHER: return "Other error";
#endif
#if defined(EOVERFLOW) && (!defined(EFBIG) || (EOVERFLOW != EFBIG)) && (!defined(EINVAL) || (EOVERFLOW != EINVAL))
    case EOVERFLOW: return "Value too large to be stored in data type";
    case EOVERFLOW: return "Value too large for defined data type";
#endif
#ifdef EOWNERDEAD
    case EOWNERDEAD: return "Previous owner died";
    case EOWNERDEAD: return "Owner died";
#endif
#ifdef EPERM
    case EPERM: return "Operation not permitted";
#endif
#if defined(EPFNOSUPPORT) && (!defined(ENOLCK) || (ENOLCK != EPFNOSUPPORT))
    case EPFNOSUPPORT: return "Protocol family not supported";
#endif
846
847
848
849
850
851
852
853

854
855
856
857
858
859
860
861
862
863
864
865

866
867
868

869
870
871
872
873
874
875
876
877
878
879
880
881
882
883

884
885
886
887
888
889

890
891
892
893
894
895
896
897
898

899
900
901

902
903
904
905
906
907
908
843
844
845
846
847
848
849

850
851
852
853
854
855
856
857
858
859
860
861

862
863
864

865
866
867
868
869
870
871
872
873
874
875
876
877
878
879

880
881
882
883
884
885

886
887
888
889
890
891
892
893
894

895
896
897

898
899
900
901
902
903
904
905







-
+











-
+


-
+














-
+





-
+








-
+


-
+







#ifdef EPROTONOSUPPORT
    case EPROTONOSUPPORT: return "Protocol not supported";
#endif
#ifdef EPROTOTYPE
    case EPROTOTYPE: return "Protocol wrong type for socket";
#endif
#ifdef ERANGE
    case ERANGE: return "Result too large";
    case ERANGE: return "Numerical result out of range";
#endif
#if defined(EREFUSED) && (!defined(ECONNREFUSED) || (EREFUSED != ECONNREFUSED))
    case EREFUSED: return "EREFUSED";
#endif
#ifdef EREMCHG
    case EREMCHG: return "Remote address changed";
#endif
#ifdef EREMDEV
    case EREMDEV: return "Remote device";
#endif
#ifdef EREMOTE
    case EREMOTE: return "Pathname hit remote file system";
    case EREMOTE: return "Object is remote";
#endif
#ifdef EREMOTEIO
    case EREMOTEIO: return "Remote i/o error";
    case EREMOTEIO: return "Remote I/O error";
#endif
#ifdef EREMOTERELEASE
    case EREMOTERELEASE: return "EREMOTERELEASE";
#endif
#ifdef EROFS
    case EROFS: return "Read-only file system";
#endif
#ifdef ERPCMISMATCH
    case ERPCMISMATCH: return "RPC version is wrong";
#endif
#ifdef ERREMOTE
    case ERREMOTE: return "Object is remote";
#endif
#ifdef ESHUTDOWN
    case ESHUTDOWN: return "Cannot send after socket shutdown";
    case ESHUTDOWN: return "Cannot send after transport endpoint shutdown";
#endif
#ifdef ESOCKTNOSUPPORT
    case ESOCKTNOSUPPORT: return "Socket type not supported";
#endif
#ifdef ESPIPE
    case ESPIPE: return "Invalid seek";
    case ESPIPE: return "Illegal seek";
#endif
#ifdef ESRCH
    case ESRCH: return "No such process";
#endif
#ifdef ESRMNT
    case ESRMNT: return "Srmount error";
#endif
#ifdef ESTALE
    case ESTALE: return "Stale remote file handle";
    case ESTALE: return "Stale file handle";
#endif
#ifdef ESUCCESS
    case ESUCCESS: return "Error 0";
    case ESUCCESS: return "Success";
#endif
#if defined(ETIME) && (!defined(ELOOP) || (ETIME != ELOOP))
    case ETIME: return "Timer expired";
#endif
#if defined(ETIMEDOUT) && (!defined(ENOSTR) || (ETIMEDOUT != ENOSTR))
    case ETIMEDOUT: return "Connection timed out";
#endif
924
925
926
927
928
929
930
931

932
933
934

935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
921
922
923
924
925
926
927

928
929
930

931
932
933
934
935
936
937
938
939

940
941
942
943
944
945
946







-
+


-
+








-







#ifdef EVERSION
    case EVERSION: return "Version mismatch";
#endif
#if defined(EWOULDBLOCK) && (!defined(EAGAIN) || (EWOULDBLOCK != EAGAIN))
    case EWOULDBLOCK: return "Operation would block";
#endif
#ifdef EXDEV
    case EXDEV: return "Cross-domain link";
    case EXDEV: return "Invalid cross-device link";
#endif
#ifdef EXFULL
    case EXFULL: return "Message tables full";
    case EXFULL: return "Exchange full";
#endif
    default:
#ifdef NO_STRERROR
	return "Unknown POSIX error";
#else
	return strerror(err);
#endif
    }
#endif
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SignalId --
 *