summaryrefslogtreecommitdiffstats
path: root/lib/libc/nls
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/nls')
-rw-r--r--lib/libc/nls/C.msg249
-rw-r--r--lib/libc/nls/Makefile.inc10
-rw-r--r--lib/libc/nls/Symbol.map9
-rw-r--r--lib/libc/nls/catclose.364
-rw-r--r--lib/libc/nls/catgets.382
-rw-r--r--lib/libc/nls/catopen.3157
-rw-r--r--lib/libc/nls/ko_KR.UTF-8.msg249
-rw-r--r--lib/libc/nls/ko_KR.eucKR.msg249
-rw-r--r--lib/libc/nls/msgcat.c307
-rw-r--r--lib/libc/nls/pl_PL.ISO8859-2.msg249
-rw-r--r--lib/libc/nls/ru_RU.KOI8-R.msg256
11 files changed, 1881 insertions, 0 deletions
diff --git a/lib/libc/nls/C.msg b/lib/libc/nls/C.msg
new file mode 100644
index 0000000..aa2c4cc
--- /dev/null
+++ b/lib/libc/nls/C.msg
@@ -0,0 +1,249 @@
+$ $FreeBSD$
+$
+$ Message catalog for C locale (template)
+$
+$ strerror() support catalog
+$
+$set 1
+$ EPERM
+1 Operation not permitted
+$ ENOENT
+2 No such file or directory
+$ ESRCH
+3 No such process
+$ EINTR
+4 Interrupted system call
+$ EIO
+5 Input/output error
+$ ENXIO
+6 Device not configured
+$ E2BIG
+7 Argument list too long
+$ ENOEXEC
+8 Exec format error
+$ EBADF
+9 Bad file descriptor
+$ ECHILD
+10 No child processes
+$ EDEADLK
+11 Resource deadlock avoided
+$ ENOMEM
+12 Cannot allocate memory
+$ EACCES
+13 Permission denied
+$ EFAULT
+14 Bad address
+$ ENOTBLK
+15 Block device required
+$ EBUSY
+16 Device busy
+$ EEXIST
+17 File exists
+$ EXDEV
+18 Cross-device link
+$ ENODEV
+19 Operation not supported by device
+$ ENOTDIR
+20 Not a directory
+$ EISDIR
+21 Is a directory
+$ EINVAL
+22 Invalid argument
+$ ENFILE
+23 Too many open files in system
+$ EMFILE
+24 Too many open files
+$ ENOTTY
+25 Inappropriate ioctl for device
+$ ETXTBSY
+26 Text file busy
+$ EFBIG
+27 File too large
+$ ENOSPC
+28 No space left on device
+$ ESPIPE
+29 Illegal seek
+$ EROFS
+30 Read-only file system
+$ EMLINK
+31 Too many links
+$ EPIPE
+32 Broken pipe
+$ EDOM
+33 Numerical argument out of domain
+$ ERANGE
+34 Result too large
+$ EAGAIN, EWOULDBLOCK
+35 Resource temporarily unavailable
+$ EINPROGRESS
+36 Operation now in progress
+$ EALREADY
+37 Operation already in progress
+$ ENOTSOCK
+38 Socket operation on non-socket
+$ EDESTADDRREQ
+39 Destination address required
+$ EMSGSIZE
+40 Message too long
+$ EPROTOTYPE
+41 Protocol wrong type for socket
+$ ENOPROTOOPT
+42 Protocol not available
+$ EPROTONOSUPPORT
+43 Protocol not supported
+$ ESOCKTNOSUPPORT
+44 Socket type not supported
+$ EOPNOTSUPP
+45 Operation not supported
+$ EPFNOSUPPORT
+46 Protocol family not supported
+$ EAFNOSUPPORT
+47 Address family not supported by protocol family
+$ EADDRINUSE
+48 Address already in use
+$ EADDRNOTAVAIL
+49 Can't assign requested address
+$ ENETDOWN
+50 Network is down
+$ ENETUNREACH
+51 Network is unreachable
+$ ENETRESET
+52 Network dropped connection on reset
+$ ECONNABORTED
+53 Software caused connection abort
+$ ECONNRESET
+54 Connection reset by peer
+$ ENOBUFS
+55 No buffer space available
+$ EISCONN
+56 Socket is already connected
+$ ENOTCONN
+57 Socket is not connected
+$ ESHUTDOWN
+58 Can't send after socket shutdown
+$ ETOOMANYREFS
+59 Too many references: can't splice
+$ ETIMEDOUT
+60 Operation timed out
+$ ECONNREFUSED
+61 Connection refused
+$ ELOOP
+62 Too many levels of symbolic links
+$ ENAMETOOLONG
+63 File name too long
+$ EHOSTDOWN
+64 Host is down
+$ EHOSTUNREACH
+65 No route to host
+$ ENOTEMPTY
+66 Directory not empty
+$ EPROCLIM
+67 Too many processes
+$ EUSERS
+68 Too many users
+$ EDQUOT
+69 Disc quota exceeded
+$ ESTALE
+70 Stale NFS file handle
+$ EREMOTE
+71 Too many levels of remote in path
+$ EBADRPC
+72 RPC struct is bad
+$ ERPCMISMATCH
+73 RPC version wrong
+$ EPROGUNAVAIL
+74 RPC prog. not avail
+$ EPROGMISMATCH
+75 Program version wrong
+$ EPROCUNAVAIL
+76 Bad procedure for program
+$ ENOLCK
+77 No locks available
+$ ENOSYS
+78 Function not implemented
+$ EFTYPE
+79 Inappropriate file type or format
+$ EAUTH
+80 Authentication error
+$ ENEEDAUTH
+81 Need authenticator
+$ EIDRM
+82 Identifier removed
+$ ENOMSG
+83 No message of desired type
+$ EOVERFLOW
+84 Value too large to be stored in data type
+$ ECANCELED
+85 Operation canceled
+$ EILSEQ
+86 Illegal byte sequence
+$ ENOATTR
+87 Attribute not found
+$ EDOOFUS
+88 Programming error
+$
+$ strsignal() support catalog
+$
+$set 2
+$ SIGHUP
+1 Hangup
+$ SIGINT
+2 Interrupt
+$ SIGQUIT
+3 Quit
+$ SIGILL
+4 Illegal instruction
+$ SIGTRAP
+5 Trace/BPT trap
+$ SIGABRT
+6 Abort trap
+$ SIGEMT
+7 EMT trap
+$ SIGFPE
+8 Floating point exception
+$ SIGKILL
+9 Killed
+$ SIGBUS
+10 Bus error
+$ SIGSEGV
+11 Segmentation fault
+$ SIGSYS
+12 Bad system call
+$ SIGPIPE
+13 Broken pipe
+$ SIGALRM
+14 Alarm clock
+$ SIGTERM
+15 Terminated
+$ SIGURG
+16 Urgent I/O condition
+$ SIGSTOP
+17 Suspended (signal)
+$ SIGTSTP
+18 Suspended
+$ SIGCONT
+19 Continued
+$ SIGCHLD
+20 Child exited
+$ SIGTTIN
+21 Stopped (tty input)
+$ SIGTTOU
+22 Stopped (tty output)
+$ SIGIO
+23 I/O possible
+$ SIGXCPU
+24 Cputime limit exceeded
+$ SIGXFSZ
+25 Filesize limit exceeded
+$ SIGVTALRM
+26 Virtual timer expired
+$ SIGPROF
+27 Profiling timer expired
+$ SIGWINCH
+28 Window size changes
+$ SIGINFO
+29 Information request
+$ SIGUSR1
+30 User defined signal 1
+$ SIGUSR2
+31 User defined signal 2
diff --git a/lib/libc/nls/Makefile.inc b/lib/libc/nls/Makefile.inc
new file mode 100644
index 0000000..90a6741
--- /dev/null
+++ b/lib/libc/nls/Makefile.inc
@@ -0,0 +1,10 @@
+# from $NetBSD: Makefile.inc,v 1.7 1995/02/27 13:06:20 cgd Exp $
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/nls
+
+SRCS+= msgcat.c
+
+SYM_MAPS+=${.CURDIR}/nls/Symbol.map
+
+MAN+= catclose.3 catgets.3 catopen.3
diff --git a/lib/libc/nls/Symbol.map b/lib/libc/nls/Symbol.map
new file mode 100644
index 0000000..818466e
--- /dev/null
+++ b/lib/libc/nls/Symbol.map
@@ -0,0 +1,9 @@
+/*
+ * $FreeBSD$
+ */
+
+FBSD_1.0 {
+ catopen;
+ catgets;
+ catclose;
+};
diff --git a/lib/libc/nls/catclose.3 b/lib/libc/nls/catclose.3
new file mode 100644
index 0000000..ed0f639
--- /dev/null
+++ b/lib/libc/nls/catclose.3
@@ -0,0 +1,64 @@
+.\" Copyright (c) 1994 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.Dd February 12, 2005
+.Dt CATCLOSE 3
+.Os
+.Sh NAME
+.Nm catclose
+.Nd close message catalog
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In nl_types.h
+.Ft int
+.Fn catclose "nl_catd catd"
+.Sh DESCRIPTION
+The
+.Fn catclose
+function closes the message catalog specified by the argument
+.Fa catd .
+.Sh RETURN VALUES
+.Rv -std catclose
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EBADF
+An invalid message catalog descriptor was passed by the
+.Fa catd
+argument.
+.El
+.Sh SEE ALSO
+.Xr gencat 1 ,
+.Xr catgets 3 ,
+.Xr catopen 3
+.Sh STANDARDS
+The
+.Fn catclose
+function conforms to
+.St -p1003.1-2001 .
diff --git a/lib/libc/nls/catgets.3 b/lib/libc/nls/catgets.3
new file mode 100644
index 0000000..38e92ba
--- /dev/null
+++ b/lib/libc/nls/catgets.3
@@ -0,0 +1,82 @@
+.\" Copyright (c) 1994 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.Dd February 12, 2005
+.Dt CATGETS 3
+.Os
+.Sh NAME
+.Nm catgets
+.Nd retrieve string from message catalog
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In nl_types.h
+.Ft char *
+.Fn catgets "nl_catd catd" "int set_id" "int msg_id" "const char *s"
+.Sh DESCRIPTION
+The
+.Fn catgets
+function attempts to retrieve message
+.Fa msg_id
+of set
+.Fa set_id
+from the message catalog referenced by the descriptor
+.Fa catd .
+The argument
+.Fa s
+points to a default message which is returned if the function
+is unable to retrieve the specified message.
+.Sh RETURN VALUES
+If the specified message was retrieved successfully,
+.Fn catgets
+returns a pointer to an internal buffer containing the message string;
+otherwise it returns
+.Fa s .
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EBADF
+The
+.Fa catd
+argument is not a valid message catalog descriptor.
+.It Bq Er EBADMSG
+The message identified by
+.Fa set_id
+and
+.Fa msg_id
+is not in the message catalog.
+.El
+.Sh SEE ALSO
+.Xr gencat 1 ,
+.Xr catclose 3 ,
+.Xr catopen 3
+.Sh STANDARDS
+The
+.Fn catgets
+function conforms to
+.St -p1003.1-2001 .
diff --git a/lib/libc/nls/catopen.3 b/lib/libc/nls/catopen.3
new file mode 100644
index 0000000..7a16ee5
--- /dev/null
+++ b/lib/libc/nls/catopen.3
@@ -0,0 +1,157 @@
+.\" Copyright (c) 1994 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.Dd February 12, 2005
+.Dt CATOPEN 3
+.Os
+.Sh NAME
+.Nm catopen
+.Nd open message catalog
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In nl_types.h
+.Ft nl_catd
+.Fn catopen "const char *name" "int oflag"
+.Sh DESCRIPTION
+The
+.Fn catopen
+function opens the message catalog specified by
+.Fa name
+and returns a message catalog descriptor.
+If
+.Fa name
+contains a
+.Sq /
+then
+.Fa name
+specifies the full pathname for the message catalog, otherwise the value
+of the environment variable
+.Ev NLSPATH
+is used with
+the following substitutions:
+.Bl -tag -width XXX
+.It \&%N
+The value of the
+.Fa name
+argument.
+.It \&%L
+The value of the
+.Ev LANG
+environment variable or the
+.Dv LC_MESSAGES
+category (see below).
+.It \&%l
+The language element from the
+.Ev LANG
+environment variable or from the
+.Dv LC_MESSAGES
+category.
+.It \&%t
+The territory element from the
+.Ev LANG
+environment variable or from the
+.Dv LC_MESSAGES
+category.
+.It \&%c
+The codeset element from the
+.Ev LANG
+environment variable or from the
+.Dv LC_MESSAGES
+category.
+.It \&%%
+A single % character.
+.El
+.Pp
+An empty string is substituted for undefined values.
+.Pp
+Path names templates defined in
+.Ev NLSPATH
+are separated by colons
+.No ( Sq \&: ) .
+A leading or two adjacent colons
+is equivalent to specifying %N.
+.Pp
+If the
+.Fa oflag
+argument is set to the
+.Dv NL_CAT_LOCALE
+constant,
+.Dv LC_MESSAGES
+locale category used to open the message catalog; using
+.Dv NL_CAT_LOCALE
+conforms to the
+.St -xpg4
+standard.
+You can specify 0 for compatibility with
+.St -xpg3 ;
+when
+.Fa oflag
+is set to 0, the
+.Ev LANG
+environment variable
+determines the message catalog locale.
+.Pp
+A message catalog descriptor
+remains valid in a process until that process closes it, or
+until a successful call to one of the
+.Xr exec 3
+function.
+.Sh RETURN VALUES
+Upon successful completion,
+.Fn catopen
+returns a message catalog descriptor.
+Otherwise, (nl_catd) -1 is returned and
+.Va errno
+is set to indicate the error.
+.Sh ERRORS
+.Bl -tag -width Er
+.It Bq Er EINVAL
+Argument
+.Fa name
+does not point to a valid message catalog, or catalog is corrupt.
+.It Bq Er ENAMETOOLONG
+An entire path to the message catalog exceeded 1024 characters.
+.It Bq Er ENOENT
+The named message catalog does not exists, or the
+.Fa name
+argument points to an empty string.
+.It Bq Er ENOMEM
+Insufficient memory is available.
+.El
+.Sh SEE ALSO
+.Xr gencat 1 ,
+.Xr catclose 3 ,
+.Xr catgets 3 ,
+.Xr setlocale 3
+.Sh STANDARDS
+The
+.Fn catopen
+function conforms to
+.St -p1003.1-2001 .
diff --git a/lib/libc/nls/ko_KR.UTF-8.msg b/lib/libc/nls/ko_KR.UTF-8.msg
new file mode 100644
index 0000000..4fc4e78
--- /dev/null
+++ b/lib/libc/nls/ko_KR.UTF-8.msg
@@ -0,0 +1,249 @@
+$ $FreeBSD$
+$
+$ Message catalog for ko_KR.UTF-8 locale
+$
+$ strerror() support catalog
+$
+$set 1
+$ EPERM
+1 명령이 허용되지 않습니다
+$ ENOENT
+2 파일 또는 디렉터리가 없습니다
+$ ESRCH
+3 존재하지 않는 프로세스입니다
+$ EINTR
+4 시스템 호출이 중단되었습니다
+$ EIO
+5 입출력 에러입니다
+$ ENXIO
+6 장치가 설정되지 않았습니다
+$ E2BIG
+7 인자가 너무 깁니다
+$ ENOEXEC
+8 실행 파일 형식이 잘못되었습니다
+$ EBADF
+9 잘못된 파일 디스크립터입니다
+$ ECHILD
+10 자식 프로세스가 없습니다
+$ EDEADLK
+11 자원 데드락을 중단하였습니다
+$ ENOMEM
+12 메모리를 할당할 수 없습니다
+$ EACCES
+13 권한이 없습니다
+$ EFAULT
+14 잘못된 주소가 지정되었습니다
+$ ENOTBLK
+15 블럭 장치여야 합니다
+$ EBUSY
+16 장치가 사용 중입니다
+$ EEXIST
+17 파일이 이미 존재합니다
+$ EXDEV
+18 다른 장치 간의 연결입니다
+$ ENODEV
+19 그 장치가 지원하지 않는 명령입니다
+$ ENOTDIR
+20 디렉터리가 아닙니다
+$ EISDIR
+21 디렉터리입니다
+$ EINVAL
+22 인자가 잘못되었습니다
+$ ENFILE
+23 시스템에 파일이 너무 많이 열려있습니다
+$ EMFILE
+24 파일이 너무 많이 열려있습니다
+$ ENOTTY
+25 장치가 지원하지 않는 ioctl입니다
+$ ETXTBSY
+26 Text 파일이 사용 중입니다
+$ EFBIG
+27 파일이 너무 큽니다
+$ ENOSPC
+28 장치에 여유 공간이 남아있지 않습니다
+$ ESPIPE
+29 잘못된 탐색입니다
+$ EROFS
+30 읽기 전용 파일 시스템입니다
+$ EMLINK
+31 연결이 너무 많습니다
+$ EPIPE
+32 파이프가 끊어졌습니다
+$ EDOM
+33 수치 인자가 영역을 벗어났습니다
+$ ERANGE
+34 결과가 너무 큽니다
+$ EAGAIN, EWOULDBLOCK
+35 자원을 잠시 사용할 수 없습니다
+$ EINPROGRESS
+36 작업이 진행 중입니다
+$ EALREADY
+37 작업이 이미 진행 중입니다
+$ ENOTSOCK
+38 소켓이 아닌 객체에 대한 소켓 작업입니다
+$ EDESTADDRREQ
+39 목적지 주소가 필요합니다
+$ EMSGSIZE
+40 메시지가 너무 깁니다
+$ EPROTOTYPE
+41 소켓에 사용할 수 없는 프로토콜 유형입니다
+$ ENOPROTOOPT
+42 프로토콜을 사용할 수 없습니다
+$ EPROTONOSUPPORT
+43 지원하지 않는 프로토콜입니다
+$ ESOCKTNOSUPPORT
+44 지원하지 않는 종류의 소켓입니다
+$ EOPNOTSUPP
+45 지원되지 않는 명령입니다
+$ EPFNOSUPPORT
+46 지원되지 않는 프로토콜군입니다
+$ EAFNOSUPPORT
+47 프로토콜군에서 지원되지 않는 주소군입니다
+$ EADDRINUSE
+48 이미 사용 중인 주소입니다
+$ EADDRNOTAVAIL
+49 요청한 주소를 할당할 수 없습니다
+$ ENETDOWN
+50 네트워크가 단절되었습니다
+$ ENETUNREACH
+51 네트워크에 도달할 수 없습니다
+$ ENETRESET
+52 네트워크가 재설정되어 접속이 끊어졌습니다
+$ ECONNABORTED
+53 소프트웨어적인 이유로 연결이 끊어졌습니다
+$ ECONNRESET
+54 상대방이 연결을 끊었습니다
+$ ENOBUFS
+55 버퍼 공간이 모자랍니다
+$ EISCONN
+56 소켓이 이미 연결되있습니다
+$ ENOTCONN
+57 소켓이 연결되어 있지 않습니다
+$ ESHUTDOWN
+58 소켓이 이미 중단되어, 더 이상 전송할 수 없습니다
+$ ETOOMANYREFS
+59 참조수가 너무 많아 나눌 수 없습니다
+$ ETIMEDOUT
+60 시간이 너무 많이 지나 작업이 중단되었습니다
+$ ECONNREFUSED
+61 접속이 거부되었습니다
+$ ELOOP
+62 심볼릭 연결이 너무 많이 거쳐서 연결되었습니다
+$ ENAMETOOLONG
+63 파일 이름이 너무 깁니다
+$ EHOSTDOWN
+64 호스트가 죽었습니다
+$ EHOSTUNREACH
+65 호스트로 갈 경로가 없습니다
+$ ENOTEMPTY
+66 디렉터리가 비어있지 않습니다
+$ EPROCLIM
+67 프로세스가 너무 많습니다
+$ EUSERS
+68 사용자가 너무 많습니다
+$ EDQUOT
+69 디스크 할당량을 초과했습니다
+$ ESTALE
+70 끊어진 NFS 연결입니다
+$ EREMOTE
+71 너무 많은 경로로 원격에 접근하였습니다
+$ EBADRPC
+72 RPC 구조체가 잘못되었습니다
+$ ERPCMISMATCH
+73 RPC 버전이 맞지 않습니다
+$ EPROGUNAVAIL
+74 RPC 프로그램이 없습니다
+$ EPROGMISMATCH
+75 프로그램 버전이 맞지 않습니다
+$ EPROCUNAVAIL
+76 프로그램에 원격 프로시저가 없습니다
+$ ENOLCK
+77 잠금이 불가능합니다
+$ ENOSYS
+78 구현되지 않은 기능입니다
+$ EFTYPE
+79 잘못된 파일 종류이거나 형식이 잘못됐습니다
+$ EAUTH
+80 인증이 실패했습니다
+$ ENEEDAUTH
+81 인증 서버가 지정되지 않았습니다
+$ EIDRM
+82 식별자가 제거되었습니다
+$ ENOMSG
+83 요청된 형식의 메시지는 없습니다
+$ EOVERFLOW
+84 데이터 형식에 저장하기에 너무 큰 값입니다
+$ ECANCELED
+85 작업이 취소되었습니다
+$ EILSEQ
+86 바이트 배열이 잘못되었습니다
+$ ENOATTR
+87 속성을 찾을 수 없습니다
+$ EDOOFUS
+88 프로그램상 오류입니다
+$
+$ strsignal() support catalog
+$
+$set 2
+$ SIGHUP
+1 끊김
+$ SIGINT
+2 중단
+$ SIGQUIT
+3 종료
+$ SIGILL
+4 잘못된 명령
+$ SIGTRAP
+5 Trace/BPT 트랩
+$ SIGABRT
+6 Abort 트랩
+$ SIGEMT
+7 EMT 트랩
+$ SIGFPE
+8 부동소수점 연산 예외
+$ SIGKILL
+9 강제종료
+$ SIGBUS
+10 버스 오류
+$ SIGSEGV
+11 세그먼테이션 오류
+$ SIGSYS
+12 잘못된 시스템 호출
+$ SIGPIPE
+13 파이프가 끊김
+$ SIGALRM
+14 시간 경보
+$ SIGTERM
+15 종료됨
+$ SIGURG
+16 긴급 I/O 조건
+$ SIGSTOP
+17 일시정지 (시그널)
+$ SIGTSTP
+18 일시정지
+$ SIGCONT
+19 계속
+$ SIGCHLD
+20 자식 프로세스 종료
+$ SIGTTIN
+21 정지 (터미널 입력)
+$ SIGTTOU
+22 정지 (터미널 출력)
+$ SIGIO
+23 I/O possible
+$ SIGXCPU
+24 CPU 사용 시간 초과
+$ SIGXFSZ
+25 파일 용량 제한 초과
+$ SIGVTALRM
+26 가상 타이머 만료
+$ SIGPROF
+27 프로파일링 타이머 만료
+$ SIGWINCH
+28 창 크기 변경
+$ SIGINFO
+29 정보 요청
+$ SIGUSR1
+30 사용자 정의 시그널 1
+$ SIGUSR2
+31 사용자 정의 시그널 2
diff --git a/lib/libc/nls/ko_KR.eucKR.msg b/lib/libc/nls/ko_KR.eucKR.msg
new file mode 100644
index 0000000..c2ca1a0
--- /dev/null
+++ b/lib/libc/nls/ko_KR.eucKR.msg
@@ -0,0 +1,249 @@
+$ $FreeBSD$
+$
+$ Message catalog for ko_KR.eucKR locale
+$
+$ strerror() support catalog
+$
+$set 1
+$ EPERM
+1 ʽϴ
+$ ENOENT
+2 Ǵ ͸ ϴ
+$ ESRCH
+3 ʴ μԴϴ
+$ EINTR
+4 ý ȣ ߴܵǾϴ
+$ EIO
+5 Դϴ
+$ ENXIO
+6 ġ ʾҽϴ
+$ E2BIG
+7 ڰ ʹ ϴ
+$ ENOEXEC
+8 ߸Ǿϴ
+$ EBADF
+9 ߸ ũԴϴ
+$ ECHILD
+10 ڽ μ ϴ
+$ EDEADLK
+11 ڿ ߴϿϴ
+$ ENOMEM
+12 ޸𸮸 Ҵ ϴ
+$ EACCES
+13 ϴ
+$ EFAULT
+14 ߸ ּҰ Ǿϴ
+$ ENOTBLK
+15 ġ մϴ
+$ EBUSY
+16 ġ Դϴ
+$ EEXIST
+17 ̹ մϴ
+$ EXDEV
+18 ٸ ġ Դϴ
+$ ENODEV
+19 ġ ʴ Դϴ
+$ ENOTDIR
+20 ͸ ƴմϴ
+$ EISDIR
+21 ͸Դϴ
+$ EINVAL
+22 ڰ ߸Ǿϴ
+$ ENFILE
+23 ýۿ ʹ ֽϴ
+$ EMFILE
+24 ʹ ֽϴ
+$ ENOTTY
+25 ġ ʴ ioctlԴϴ
+$ ETXTBSY
+26 Text Դϴ
+$ EFBIG
+27 ʹ Ůϴ
+$ ENOSPC
+28 ġ ʽϴ
+$ ESPIPE
+29 ߸ ŽԴϴ
+$ EROFS
+30 б ýԴϴ
+$ EMLINK
+31 ʹ ϴ
+$ EPIPE
+32 ϴ
+$ EDOM
+33 ġ ڰ ϴ
+$ ERANGE
+34 ʹ Ůϴ
+$ EAGAIN, EWOULDBLOCK
+35 ڿ ϴ
+$ EINPROGRESS
+36 ۾ Դϴ
+$ EALREADY
+37 ۾ ̹ Դϴ
+$ ENOTSOCK
+38 ƴ ü ۾Դϴ
+$ EDESTADDRREQ
+39 ּҰ ʿմϴ
+$ EMSGSIZE
+40 ޽ ʹ ϴ
+$ EPROTOTYPE
+41 Ͽ Դϴ
+$ ENOPROTOOPT
+42 ϴ
+$ EPROTONOSUPPORT
+43 ʴ Դϴ
+$ ESOCKTNOSUPPORT
+44 ʴ Դϴ
+$ EOPNOTSUPP
+45 ʴ Դϴ
+$ EPFNOSUPPORT
+46 ʴ ݱԴϴ
+$ EAFNOSUPPORT
+47 ݱ ʴ ּұԴϴ
+$ EADDRINUSE
+48 ̹ ּԴϴ
+$ EADDRNOTAVAIL
+49 û ּҸ Ҵ ϴ
+$ ENETDOWN
+50 Ʈũ Ǿϴ
+$ ENETUNREACH
+51 Ʈũ ϴ
+$ ENETRESET
+52 Ʈũ 缳Ǿ ϴ
+$ ECONNABORTED
+53 Ʈ ϴ
+$ ECONNRESET
+54 ϴ
+$ ENOBUFS
+55 ڶϴ
+$ EISCONN
+56 ̹ ֽϴ
+$ ENOTCONN
+57 Ǿ ʽϴ
+$ ESHUTDOWN
+58 ̹ ߴܵǾ, ̻ ϴ
+$ ETOOMANYREFS
+59 ʹ ϴ
+$ ETIMEDOUT
+60 ð ʹ ۾ ߴܵǾϴ
+$ ECONNREFUSED
+61 źεǾϴ
+$ ELOOP
+62 ɺ ʹ ļ Ǿϴ
+$ ENAMETOOLONG
+63 ̸ ʹ ϴ
+$ EHOSTDOWN
+64 ȣƮ ׾ϴ
+$ EHOSTUNREACH
+65 ȣƮ ΰ ϴ
+$ ENOTEMPTY
+66 ͸ ʽϴ
+$ EPROCLIM
+67 μ ʹ ϴ
+$ EUSERS
+68 ڰ ʹ ϴ
+$ EDQUOT
+69 ũ Ҵ緮 ʰ߽ϴ
+$ ESTALE
+70 NFS Դϴ
+$ EREMOTE
+71 ʹ η ݿ Ͽϴ
+$ EBADRPC
+72 RPC ü ߸Ǿϴ
+$ ERPCMISMATCH
+73 RPC ʽϴ
+$ EPROGUNAVAIL
+74 RPC α׷ ϴ
+$ EPROGMISMATCH
+75 α׷ ʽϴ
+$ EPROCUNAVAIL
+76 α׷ ν ϴ
+$ ENOLCK
+77 Ұմϴ
+$ ENOSYS
+78 Դϴ
+$ EFTYPE
+79 ߸ ̰ų ߸ƽϴ
+$ EAUTH
+80 ߽ϴ
+$ ENEEDAUTH
+81 ʾҽϴ
+$ EIDRM
+82 ĺڰ ŵǾϴ
+$ ENOMSG
+83 û ޽ ϴ
+$ EOVERFLOW
+84 Ŀ ϱ⿡ ʹ ū Դϴ
+$ ECANCELED
+85 ۾ ҵǾϴ
+$ EILSEQ
+86 Ʈ 迭 ߸Ǿϴ
+$ ENOATTR
+87 Ӽ ã ϴ
+$ EDOOFUS
+88 α׷ Դϴ
+$
+$ strsignal() support catalog
+$
+$set 2
+$ SIGHUP
+1
+$ SIGINT
+2 ߴ
+$ SIGQUIT
+3
+$ SIGILL
+4 ߸
+$ SIGTRAP
+5 Trace/BPT Ʈ
+$ SIGABRT
+6 Abort Ʈ
+$ SIGEMT
+7 EMT Ʈ
+$ SIGFPE
+8 εҼ
+$ SIGKILL
+9
+$ SIGBUS
+10
+$ SIGSEGV
+11 ׸̼
+$ SIGSYS
+12 ߸ ý ȣ
+$ SIGPIPE
+13
+$ SIGALRM
+14 ð 溸
+$ SIGTERM
+15
+$ SIGURG
+16 I/O
+$ SIGSTOP
+17 Ͻ (ñ׳)
+$ SIGTSTP
+18 Ͻ
+$ SIGCONT
+19
+$ SIGCHLD
+20 ڽ μ
+$ SIGTTIN
+21 (͹̳ Է)
+$ SIGTTOU
+22 (͹̳ )
+$ SIGIO
+23 I/O possible
+$ SIGXCPU
+24 CPU ð ʰ
+$ SIGXFSZ
+25 뷮 ʰ
+$ SIGVTALRM
+26 Ÿ̸
+$ SIGPROF
+27 ϸ Ÿ̸
+$ SIGWINCH
+28 â ũ
+$ SIGINFO
+29 û
+$ SIGUSR1
+30 ñ׳ 1
+$ SIGUSR2
+31 ñ׳ 2
diff --git a/lib/libc/nls/msgcat.c b/lib/libc/nls/msgcat.c
new file mode 100644
index 0000000..8689b7e
--- /dev/null
+++ b/lib/libc/nls/msgcat.c
@@ -0,0 +1,307 @@
+/***********************************************************
+Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that Alfalfa's name not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+If you make any modifications, bugfixes or other changes to this software
+we'd appreciate it if you could send a copy to us so we can keep things
+up-to-date. Many thanks.
+ Kee Hinckley
+ Alfalfa Software, Inc.
+ 267 Allston St., #3
+ Cambridge, MA 02139 USA
+ nazgul@alfalfa.com
+
+******************************************************************/
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#define _NLS_PRIVATE
+
+#include "namespace.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+#include <arpa/inet.h> /* for ntohl() */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <locale.h>
+#include <nl_types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "un-namespace.h"
+
+#include "../locale/setlocale.h" /* for ENCODING_LEN */
+
+#define _DEFAULT_NLS_PATH "/usr/share/nls/%L/%N.cat:/usr/share/nls/%N/%L:/usr/local/share/nls/%L/%N.cat:/usr/local/share/nls/%N/%L"
+
+#define NLERR ((nl_catd) -1)
+#define NLRETERR(errc) { errno = errc; return (NLERR); }
+
+static nl_catd load_msgcat(const char *);
+
+nl_catd
+catopen(const char *name, int type)
+{
+ int spcleft, saverr;
+ char path[PATH_MAX];
+ char *nlspath, *lang, *base, *cptr, *pathP, *tmpptr;
+ char *cptr1, *plang, *pter, *pcode;
+ struct stat sbuf;
+
+ if (name == NULL || *name == '\0')
+ NLRETERR(EINVAL);
+
+ /* is it absolute path ? if yes, load immediately */
+ if (strchr(name, '/') != NULL)
+ return (load_msgcat(name));
+
+ if (type == NL_CAT_LOCALE)
+ lang = setlocale(LC_MESSAGES, NULL);
+ else
+ lang = getenv("LANG");
+
+ if (lang == NULL || *lang == '\0' || strlen(lang) > ENCODING_LEN ||
+ (lang[0] == '.' &&
+ (lang[1] == '\0' || (lang[1] == '.' && lang[2] == '\0'))) ||
+ strchr(lang, '/') != NULL)
+ lang = "C";
+
+ if ((plang = cptr1 = strdup(lang)) == NULL)
+ return (NLERR);
+ if ((cptr = strchr(cptr1, '@')) != NULL)
+ *cptr = '\0';
+ pter = pcode = "";
+ if ((cptr = strchr(cptr1, '_')) != NULL) {
+ *cptr++ = '\0';
+ pter = cptr1 = cptr;
+ }
+ if ((cptr = strchr(cptr1, '.')) != NULL) {
+ *cptr++ = '\0';
+ pcode = cptr;
+ }
+
+ if ((nlspath = getenv("NLSPATH")) == NULL || issetugid())
+ nlspath = _DEFAULT_NLS_PATH;
+
+ if ((base = cptr = strdup(nlspath)) == NULL) {
+ saverr = errno;
+ free(plang);
+ errno = saverr;
+ return (NLERR);
+ }
+
+ while ((nlspath = strsep(&cptr, ":")) != NULL) {
+ pathP = path;
+ if (*nlspath) {
+ for (; *nlspath; ++nlspath) {
+ if (*nlspath == '%') {
+ switch (*(nlspath + 1)) {
+ case 'l':
+ tmpptr = plang;
+ break;
+ case 't':
+ tmpptr = pter;
+ break;
+ case 'c':
+ tmpptr = pcode;
+ break;
+ case 'L':
+ tmpptr = lang;
+ break;
+ case 'N':
+ tmpptr = (char *)name;
+ break;
+ case '%':
+ ++nlspath;
+ /* fallthrough */
+ default:
+ if (pathP - path >=
+ sizeof(path) - 1)
+ goto too_long;
+ *(pathP++) = *nlspath;
+ continue;
+ }
+ ++nlspath;
+ put_tmpptr:
+ spcleft = sizeof(path) -
+ (pathP - path) - 1;
+ if (strlcpy(pathP, tmpptr, spcleft) >=
+ spcleft) {
+ too_long:
+ free(plang);
+ free(base);
+ NLRETERR(ENAMETOOLONG);
+ }
+ pathP += strlen(tmpptr);
+ } else {
+ if (pathP - path >= sizeof(path) - 1)
+ goto too_long;
+ *(pathP++) = *nlspath;
+ }
+ }
+ *pathP = '\0';
+ if (stat(path, &sbuf) == 0) {
+ free(plang);
+ free(base);
+ return (load_msgcat(path));
+ }
+ } else {
+ tmpptr = (char *)name;
+ --nlspath;
+ goto put_tmpptr;
+ }
+ }
+ free(plang);
+ free(base);
+ NLRETERR(ENOENT);
+}
+
+char *
+catgets(nl_catd catd, int set_id, int msg_id, const char *s)
+{
+ struct _nls_cat_hdr *cat_hdr;
+ struct _nls_set_hdr *set_hdr;
+ struct _nls_msg_hdr *msg_hdr;
+ int l, u, i, r;
+
+ if (catd == NULL || catd == NLERR) {
+ errno = EBADF;
+ /* LINTED interface problem */
+ return (char *) s;
+}
+
+ cat_hdr = (struct _nls_cat_hdr *)catd->__data;
+ set_hdr = (struct _nls_set_hdr *)(void *)((char *)catd->__data
+ + sizeof(struct _nls_cat_hdr));
+
+ /* binary search, see knuth algorithm b */
+ l = 0;
+ u = ntohl((u_int32_t)cat_hdr->__nsets) - 1;
+ while (l <= u) {
+ i = (l + u) / 2;
+ r = set_id - ntohl((u_int32_t)set_hdr[i].__setno);
+
+ if (r == 0) {
+ msg_hdr = (struct _nls_msg_hdr *)
+ (void *)((char *)catd->__data +
+ sizeof(struct _nls_cat_hdr) +
+ ntohl((u_int32_t)cat_hdr->__msg_hdr_offset));
+
+ l = ntohl((u_int32_t)set_hdr[i].__index);
+ u = l + ntohl((u_int32_t)set_hdr[i].__nmsgs) - 1;
+ while (l <= u) {
+ i = (l + u) / 2;
+ r = msg_id -
+ ntohl((u_int32_t)msg_hdr[i].__msgno);
+ if (r == 0) {
+ return ((char *) catd->__data +
+ sizeof(struct _nls_cat_hdr) +
+ ntohl((u_int32_t)
+ cat_hdr->__msg_txt_offset) +
+ ntohl((u_int32_t)
+ msg_hdr[i].__offset));
+ } else if (r < 0) {
+ u = i - 1;
+ } else {
+ l = i + 1;
+ }
+}
+
+ /* not found */
+ goto notfound;
+
+ } else if (r < 0) {
+ u = i - 1;
+ } else {
+ l = i + 1;
+ }
+}
+
+notfound:
+ /* not found */
+ errno = ENOMSG;
+ /* LINTED interface problem */
+ return (char *) s;
+}
+
+int
+catclose(nl_catd catd)
+{
+ if (catd == NULL || catd == NLERR) {
+ errno = EBADF;
+ return (-1);
+ }
+
+ munmap(catd->__data, (size_t)catd->__size);
+ free(catd);
+ return (0);
+}
+
+/*
+ * Internal support functions
+ */
+
+static nl_catd
+load_msgcat(const char *path)
+{
+ struct stat st;
+ nl_catd catd;
+ void *data;
+ int fd;
+
+ /* XXX: path != NULL? */
+
+ if ((fd = _open(path, O_RDONLY)) == -1)
+ return (NLERR);
+
+ if (_fstat(fd, &st) != 0) {
+ _close(fd);
+ return (NLERR);
+ }
+
+ data = mmap(0, (size_t)st.st_size, PROT_READ, MAP_FILE|MAP_SHARED, fd,
+ (off_t)0);
+ _close(fd);
+
+ if (data == MAP_FAILED)
+ return (NLERR);
+
+ if (ntohl((u_int32_t)((struct _nls_cat_hdr *)data)->__magic) !=
+ _NLS_MAGIC) {
+ munmap(data, (size_t)st.st_size);
+ NLRETERR(EINVAL);
+ }
+
+ if ((catd = malloc(sizeof (*catd))) == NULL) {
+ munmap(data, (size_t)st.st_size);
+ return (NLERR);
+ }
+
+ catd->__data = data;
+ catd->__size = (int)st.st_size;
+ return (catd);
+}
+
diff --git a/lib/libc/nls/pl_PL.ISO8859-2.msg b/lib/libc/nls/pl_PL.ISO8859-2.msg
new file mode 100644
index 0000000..1c184b3
--- /dev/null
+++ b/lib/libc/nls/pl_PL.ISO8859-2.msg
@@ -0,0 +1,249 @@
+$ $FreeBSD$
+$
+$ Message catalog for pl_PL.ISO8859-2 locale
+$
+$ strerror() support catalog
+$
+$set 1
+$ EPERM
+1 Operacja niedozwolona
+$ ENOENT
+2 Nie ma takiego pliku/katalogu
+$ ESRCH
+3 Nie ma takiego procesu
+$ EINTR
+4 Wywoanie systemowe przerwane
+$ EIO
+5 Bd wejcia/wyjcia
+$ ENXIO
+6 Nieskonfigurowane urzdzenie
+$ E2BIG
+7 Zbyt duga lista argumentw
+$ ENOEXEC
+8 Bdny format pliku wykonywalnego
+$ EBADF
+9 Zy deskryptor pliku
+$ ECHILD
+10 Brak procesw potomnych
+$ EDEADLK
+11 Uniknito zakleszczenia zasobw
+$ ENOMEM
+12 Brak pamici do przydziau
+$ EACCES
+13 Brak dostpu
+$ EFAULT
+14 Zy adres
+$ ENOTBLK
+15 Wymagane urzdzenie blokowe
+$ EBUSY
+16 Urzdzenie zajte
+$ EEXIST
+17 Plik istnieje
+$ EXDEV
+18 Dowizanie miedzy urzdzeniami
+$ ENODEV
+19 Operacja nieobsugiwana przez urzdzenie
+$ ENOTDIR
+20 To nie jest katalog
+$ EISDIR
+21 To jest katalog
+$ EINVAL
+22 Bdny argument
+$ ENFILE
+23 Zbyt wiele otwartych plikw w systemie
+$ EMFILE
+24 Zbyt wiele otwartych plikw
+$ ENOTTY
+25 Niewaciwy dostp do urzdzenia
+$ ETXTBSY
+26 Plik wykonywalny jest zajty
+$ EFBIG
+27 Zbyt duy plik
+$ ENOSPC
+28 Brak miejsca na urzdzeniu
+$ ESPIPE
+29 Przesunicie niemoliwe
+$ EROFS
+30 System plikw tylko do odczytu
+$ EMLINK
+31 Zbyt wiele dowiza
+$ EPIPE
+32 Potok przerwany
+$ EDOM
+33 Argument liczbowy z poza zakresu
+$ ERANGE
+34 Wynik z poza zakresu
+$ EAGAIN, EWOULDBLOCK
+35 Zasoby chwilowo niedostpne
+$ EINPROGRESS
+36 Operacja jest wanie wykonywana
+$ EALREADY
+37 Operacja jest ju wykonywana
+$ ENOTSOCK
+38 Operacja na obiekcie, ktry nie jest gniazdem
+$ EDESTADDRREQ
+39 Wymagany adres przeznaczenia
+$ EMSGSIZE
+40 Wiadomo zbyt duga
+$ EPROTOTYPE
+41 Typ protokou nie pasuje do gniazda
+$ ENOPROTOOPT
+42 Protok nie jest dostpny
+$ EPROTONOSUPPORT
+43 Nieobsugiwany protok
+$ ESOCKTNOSUPPORT
+44 Nieobsugiwany typ gniazda
+$ EOPNOTSUPP
+45 Nieobsugiwana operacja
+$ EPFNOSUPPORT
+46 Nieobsugiwana rodzina protokow
+$ EAFNOSUPPORT
+47 Rodzina adresw nie jest obsugiwana przez rodzin protokow
+$ EADDRINUSE
+48 Adres jest ju w uyciu
+$ EADDRNOTAVAIL
+49 Adres nie moe by przydzielony
+$ ENETDOWN
+50 Sie nie dziaa
+$ ENETUNREACH
+51 Sie jest niedostpna
+$ ENETRESET
+52 Sie przerwaa poczenie po resecie
+$ ECONNABORTED
+53 Oprogramowanie spowodowao przerwanie poczenia
+$ ECONNRESET
+54 Poczenie zerwane przez drug stron
+$ ENOBUFS
+55 Brak miejsca w buforze
+$ EISCONN
+56 Gniazdo jest ju poczone
+$ ENOTCONN
+57 Gniazdo nie jest poczone
+$ ESHUTDOWN
+58 Nie mona wysya po zamkniciu gniazda
+$ ETOOMANYREFS
+59 Za duo powiza: dowizanie niemoliwe
+$ ETIMEDOUT
+60 Limit czasu operacji przekroczony
+$ ECONNREFUSED
+61 Poczenie odrzucone
+$ ELOOP
+62 Zbyt wiele wzajemnych dowiza symbolicznych
+$ ENAMETOOLONG
+63 Zbyt duga nazwa pliku
+$ EHOSTDOWN
+64 Host jest wyczony
+$ EHOSTUNREACH
+65 Brak drogi do hosta
+$ ENOTEMPTY
+66 Katalog nie jest pusty
+$ EPROCLIM
+67 Zbyt wiele procesw
+$ EUSERS
+68 Zbyt wielu uytkownikw
+$ EDQUOT
+69 Przekroczono limit miejsca na dysku
+$ ESTALE
+70 Uchwyt pliku NFS jest nieaktualny
+$ EREMOTE
+71 Zbyt wiele poziomw zagniedenia w ciece
+$ EBADRPC
+72 RPC bdna struktura
+$ ERPCMISMATCH
+73 RPC niekompatybilna wersja
+$ EPROGUNAVAIL
+74 RPC program niedostpny
+$ EPROGMISMATCH
+75 Nieobsugiwana wersja programu
+$ EPROCUNAVAIL
+76 Nieobsugiwana procedura
+$ ENOLCK
+77 Wyczerpany limit blokad
+$ ENOSYS
+78 Nieobsugiwana funkcja
+$ EFTYPE
+79 Niewaciwy typ lub format pliku
+$ EAUTH
+80 Bd uwierzytelnienia
+$ ENEEDAUTH
+81 Wymagane uwierzytelnienie
+$ EIDRM
+82 Identyfikator zosta usunity
+$ ENOMSG
+83 Brak komunikatu podanego typu
+$ EOVERFLOW
+84 Warto zbyt dua dla zdefiniowanego typu danych
+$ ECANCELED
+85 Operacja anulowana
+$ EILSEQ
+86 Bdna sekwencja bajtw
+$ ENOATTR
+87 Nie znaleziono atrybutu
+$ EDOOFUS
+88 Wewntrzny bd programu
+$
+$ strsignal() support catalog
+$
+$set 2
+$ SIGHUP
+1 Rozczenie
+$ SIGINT
+2 Przerwanie
+$ SIGQUIT
+3 Wyjcie
+$ SIGILL
+4 Nieznana instrukcja
+$ SIGTRAP
+5 Puapka debuggera/BPT
+$ SIGABRT
+6 Przerwana puapka
+$ SIGEMT
+7 Puapka EMT
+$ SIGFPE
+8 Bd w obliczeniach zmiennoprzecinkowych
+$ SIGKILL
+9 Unicestwiony
+$ SIGBUS
+10 Bd szyny
+$ SIGSEGV
+11 Naruszenie ochrony pamici
+$ SIGSYS
+12 Bdne wywoanie systemowe
+$ SIGPIPE
+13 Przerwany potok
+$ SIGALRM
+14 Budzik
+$ SIGTERM
+15 Zakoczony
+$ SIGURG
+16 Nagy wypadek I/O
+$ SIGSTOP
+17 Zatrzymany (sygna)
+$ SIGTSTP
+18 Zatrzymany
+$ SIGCONT
+19 Kontynuacja
+$ SIGCHLD
+20 Proces potomny zakoczy prac
+$ SIGTTIN
+21 Zatrzymany (wejcie z tty)
+$ SIGTTOU
+22 Zatrzymany (wyjcie z tty)
+$ SIGIO
+23 Wej/Wyj dozwolone
+$ SIGXCPU
+24 Przekroczony limit czasu procesora
+$ SIGXFSZ
+25 Przekroczony limit wielkoci pliku
+$ SIGVTALRM
+26 Alarm stopera wirtualnego
+$ SIGPROF
+27 Alarm stopera profilujcego
+$ SIGWINCH
+28 Zmiana rozmiaru okna
+$ SIGINFO
+29 danie informacji
+$ SIGUSR1
+30 Sygna uytkownika 1
+$ SIGUSR2
+31 Sygna uytkownika 2
diff --git a/lib/libc/nls/ru_RU.KOI8-R.msg b/lib/libc/nls/ru_RU.KOI8-R.msg
new file mode 100644
index 0000000..55233b9
--- /dev/null
+++ b/lib/libc/nls/ru_RU.KOI8-R.msg
@@ -0,0 +1,256 @@
+$ $FreeBSD$
+$
+$ Message catalog for ru_RU.KOI8-R locale
+$
+$ strerror() support catalog
+$
+$set 1
+$ EPERM
+1
+$ ENOENT
+2
+$ ESRCH
+3
+$ EINTR
+4
+$ EIO
+5 /
+$ ENXIO
+6
+$ E2BIG
+7
+$ ENOEXEC
+8
+$ EBADF
+9
+$ ECHILD
+10
+$ EDEADLK
+11
+$ ENOMEM
+12
+$ EACCES
+13
+$ EFAULT
+14
+$ ENOTBLK
+15
+$ EBUSY
+16
+$ EEXIST
+17
+$ EXDEV
+18
+$ ENODEV
+19
+$ ENOTDIR
+20
+$ EISDIR
+21
+$ EINVAL
+22
+$ ENFILE
+23
+$ EMFILE
+24
+$ ENOTTY
+25 ioctl
+$ ETXTBSY
+26
+$ EFBIG
+27
+$ ENOSPC
+28
+$ ESPIPE
+29
+$ EROFS
+30
+$ EMLINK
+31
+$ EPIPE
+$ XXX???
+32
+$ EDOM
+33
+$ ERANGE
+34
+$ EAGAIN, EWOULDBLOCK
+35
+$ EINPROGRESS
+36
+$ EALREADY
+$ XXX???
+37
+$ ENOTSOCK
+38
+$ EDESTADDRREQ
+39
+$ EMSGSIZE
+40
+$ EPROTOTYPE
+41
+$ ENOPROTOOPT
+42
+$ EPROTONOSUPPORT
+43
+$ ESOCKTNOSUPPORT
+44
+$ EOPNOTSUPP
+45
+$ EPFNOSUPPORT
+46
+$ EAFNOSUPPORT
+47
+$ EADDRINUSE
+48
+$ EADDRNOTAVAIL
+49
+$ ENETDOWN
+50
+$ ENETUNREACH
+51
+$ ENETRESET
+52
+$ ECONNABORTED
+53
+$ ECONNRESET
+54
+$ ENOBUFS
+55
+$ EISCONN
+56
+$ ENOTCONN
+57
+$ ESHUTDOWN
+58
+$ ETOOMANYREFS
+59 :
+$ ETIMEDOUT
+60
+$ ECONNREFUSED
+61
+$ ELOOP
+62
+$ ENAMETOOLONG
+63
+$ EHOSTDOWN
+64
+$ EHOSTUNREACH
+65
+$ ENOTEMPTY
+66
+$ EPROCLIM
+67
+$ EUSERS
+68
+$ EDQUOT
+69
+$ ESTALE
+70 NFS
+$ EREMOTE
+71
+$ EBADRPC
+72 RPC
+$ ERPCMISMATCH
+73 RPC
+$ EPROGUNAVAIL
+74 RPC
+$ EPROGMISMATCH
+75
+$ EPROCUNAVAIL
+76
+$ ENOLCK
+77
+$ ENOSYS
+78
+$ EFTYPE
+79
+$ EAUTH
+80
+$ ENEEDAUTH
+81
+$ EIDRM
+82
+$ ENOMSG
+83
+$ EOVERFLOW
+84
+$ ECANCELED
+85
+$ EILSEQ
+86
+$ ENOATTR
+87
+$ EDOOFUS
+88
+$
+$ strsignal() support catalog
+$
+$set 2
+$ SIGHUP
+$ XXX: ?
+1
+$ SIGINT
+2
+$ SIGQUIT
+3
+$ SIGILL
+4
+$ SIGTRAP
+5 /
+$ SIGABRT
+$ XXX:
+6
+$ SIGEMT
+7 EMT
+$ SIGFPE
+$ XXX: ?
+8
+$ SIGKILL
+$ XXX:
+9
+$ SIGBUS
+$ XXX:
+10
+$ SIGSEGV
+11
+$ SIGSYS
+12
+$ SIGPIPE
+13
+$ SIGALRM
+14
+$ SIGTERM
+15
+$ SIGURG
+16 -
+$ SIGSTOP
+17 ()
+$ SIGTSTP
+18
+$ SIGCONT
+19
+$ SIGCHLD
+20
+$ SIGTTIN
+21 ( )
+$ SIGTTOU
+22 ( )
+$ SIGIO
+23 -
+$ SIGXCPU
+24
+$ SIGXFSZ
+25
+$ SIGVTALRM
+26
+$ SIGPROF
+27
+$ SIGWINCH
+28
+$ SIGINFO
+29
+$ SIGUSR1
+30 1
+$ SIGUSR2
+31 2
OpenPOWER on IntegriCloud